Communitygithub.com

PrunaAI/pruna-skills

가상 피팅 기능을 제공하여, 참조 사진의 옷을 실제 사람의 이미지에 입혀 패션 또는 이커머스에 활용합니다.

pruna-skills란 무엇인가요?

이 스킬은 AI 에이전트가 참조 이미지를 기반으로 가상 피팅(virtual try-on)을 수행할 수 있도록 설계되었습니다. 사용자가 제공한 인물 사진(person_image)과 의류 이미지(garment_images)를 결합하여, 실제 옷을 입은 듯한 자연스러운 결과물을 생성합니다. Claude Code, Cursor, Codex 등 다양한 플랫폼에서 사용할 수 있으며, Pruna API를 통해 비동기 HTTP 요청으로 처리됩니다. 또한 generation-diversity, image-prompting, pruna-api 등 보조 스킬과 함께 사용되어 프롬프트의 명확성과 생성 품질을 높입니다. 가격은 첫 번째 의상 $0.015, 추가 의상당 $0.008로 합리적이며, 최대 11개의 의류를 동시에 피팅할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/PrunaAI/pruna-skills/tree/HEAD/skills/image/p-image-try-on

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

전제 조건

생성 전에 다음 스킬들을 설치하고 로드하세요(@pruna로 컨텍스트에 이미 포함된 경우 건너뛰기):

스킬설명설치 명령어
generation-diversity모든 생성형 프롬프트 작성 시 사용 — 유료 API 호출 전에 의식적 시드(seed), 명시적 구조, 시나리오 축, 품질 게이트를 적용합니다.npx skills add PrunaAI/pruna-skills@generation-diversity -y
image-prompting정지 이미지 프롬프트 작성 시 사용 — 구성, 아이덴티티 시트, 편집, 가상 피팅, 포토리얼 페르소나 등에 활용합니다.npx skills add PrunaAI/pruna-skills@image-prompting -y
pruna-apiPruna 또는 Replicate HTTP 호출 전에 사용 — 인증 정보, 업로드/폴링/다운로드, 병렬 배치, 에이전트 안전을 처리합니다.npx skills add PrunaAI/pruna-skills@pruna-api -y

또는 전체 스위트를 한 번에 설치: npx skills add PrunaAI/pruna-skills@pruna -y

각 스킬의 생성 전 / 가이드 섹션을 따르세요 — 여기에 가이드 내용을 반복하지 마세요.

에이전트 습관

첫 번째 응답에서 `p-image-try-on`을 백틱으로 표시하고, PRUNA_API_KEY를 확인한 후 person_image + garment_images를 요청하세요. 입력을 받은 후에는 generation-diversity 명확화 입력을 진행하세요. 참조에 모호함이 있을 때는 프롬프트 작성(동적 + 충실) 섹션을 참고해 초안을 작성하세요 — 스킬 예제를 그대로 붙여넣지 마세요. 배경만 변경하거나 옷이 없는 작업은 p-image-edit으로 리디렉션하세요.

프롬프트 작성 (동적 + 충실)

아이덴티티와 의상은 person_image + **garment_images[]**에서 비롯됩니다. 선택적 **prompt**는 참조를 명확히 하는 용도로만 사용되며, 새로운 인물이나 옷을 창작하지 않습니다.

수행할 사항수행하지 말아야 할 사항
**person_image**와 모든 garment_images[] URL을 먼저 고정합니다. 깔끔한 평면 사진(flat-lay)인 경우 **prompt**를 생략합니다.사용자가 제공하지 않은 새로운 장면, 모델 또는 의상을 묘사합니다.
참조가 모호할 때: 이미지 1의 초록색 티셔츠와 이미지 2의 바지 (image-prompting의 가상 피팅 가이드 활용)분위기만 설명하는 프롬프트(fashion editorial vibe) 또는 참조가 다를 때 이 스킬의 확장 예제를 복사합니다.
모호한 표현을 작성하기 전에 의식적 시드를 수행합니다. 여러 유효한 매핑이 있을 때 문구를 다양하게 사용합니다.배경 변경을 위해 **prompt**를 사용합니다 — p-image-edit으로 리디렉션하세요.
참조가 모호할 때 POST 전에 필요한 경우 **prompt**를 표시합니다.포즈, 얼굴, 또는 의상을 변경하는 무음 가상 피팅을 수행합니다.

충실도 확인(결제 전): 출력물이 여전히 사용자의 인물이 사용자의 의상을 입고 있어야 합니다. **prompt**가 다른 참조 세트에 적용될 수 있다면 명확화를 다시 작성하세요.

사용하지 말아야 할 경우

대신 다른 스킬을 사용하세요:

스킬설명설치 명령어
p-image누군가가 명시적으로 가장 빠르고 저렴한 사진 생성을 원할 때 사용 — 무드 보드, 대량 패널, 빠른 반복 작업. 통제된 포토리얼 또는 이미지 내 텍스트가 필요할 때는 사용하지 마세요.npx skills add PrunaAI/pruna-skills@p-image -y
p-image-edit누군가가 기존 사진을 편집하려 할 때 사용 — 옷이나 배경 변경, 참조 이미지로 구성, 프롬프트 기반 편집.npx skills add PrunaAI/pruna-skills@p-image-edit -y

가격

생성당 (일반 모드와 터보 모드 동일):

  • $0.015 첫 번째 의상
  • $0.008 추가 의상당

예시: 의상 3개 → $0.015 + 2 × $0.008 = $0.031.

요청 형식

하나의 person_image, 각 의상당 하나의 garment_images[] 항목(최대 11개), 선택적 reference_pose. 모델이 각 의상을 자동 분류하므로 배열 순서는 중요하지 않습니다. 혼합 카테고리는 한 번의 호출에 포함하세요.

  • prompt — 참조에 여러 의상이 있거나 모델이 입고 있는 경우에만 사용합니다. 깔끔한 평면 사진에는 프롬프트가 필요하지 않습니다.
  • preserve_input_size: true (기본값) — 출력 크기는 인물 이미지를 따릅니다.

Runware 필드 매핑: person → person_image, garment → garment_images[], pose → reference_pose, positivePrompt → prompt, settings.turbo → turbo.

HTTP (curl)

이미지 업로드

curl -X POST "https://api.pruna.ai/v1/files" \
  -H "apikey: ${PRUNA_API_KEY}" \
  -F "content=@/path/to/person.jpg"

curl -X POST "https://api.pruna.ai/v1/files" \
  -H "apikey: ${PRUNA_API_KEY}" \
  -F "content=@/path/to/garment.png"

각 응답의 urls.get을 input.person_image와 input.garment_images[]에 사용하세요. 선택 사항: reference_pose.

생성 (비동기 — 권장)

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-image-try-on' \
  -d '{
    "input": {
      "person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
      "garment_images": ["https://api.pruna.ai/v1/files/GARMENT_FILE_ID"]
    }
  }'

폴링 및 다운로드: pruna-api를 따르세요.

프롬프트 작성 전에 generation-diversity의 무작위 시드 의식을 완료하세요 — 의식 문자열을 API seed로 전달하지 마세요.

생성 (동기 — 빠른 테스트 전용)

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-image-try-on' \
  -H 'Try-Sync: true' \
  -d '{
    "input": {
      "person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
      "garment_images": ["https://api.pruna.ai/v1/files/GARMENT_FILE_ID"]
    }
  }'

확장 입력 (터보 + 포즈 + 프롬프트)

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-image-try-on' \
  -d '{
    "input": {
      "person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
      "garment_images": [
        "https://api.pruna.ai/v1/files/MULTI_GARMENT_SHOT_ID",
        "https://api.pruna.ai/v1/files/BOTTOM_ID"
      ],
      "reference_pose": "https://api.pruna.ai/v1/files/POSE_REF_ID",
      "prompt": "the green t-shirt from image 1 and the trousers from image 2",
      "turbo": true,
      "output_format": "jpg",
      "output_quality": 95,
      "preserve_input_size": true
    }
  }'

생성 전

  1. 전제 조건 가이드 읽기 순서 완료 (generation-diversity → image-prompting의 가상 피팅 가이드).
  2. 의식적 시드 → 선택적 동적 + 충실 명확화 prompt 초안 작성 (위 섹션) → person_image, garment_images (최종 결과물은 ≤6개; 78개는 대부분 성공; 911개는 마지막 항목이 빠질 수 있음), 그리고 선택적 turbo / reference_pose / prompt 확인.
  3. Pruna 참고: 신체 부위당 하나의 의상 (양말 + 신발 → 일반적으로 신발이 우선). turbo (2.53.5초)는 기본적으로 꺼져 있으며, 최종 결과물에 약 4개 이상의 의상일 때는 권장하지 않음. 전신 또는 3/4분할 인물 크롭이 가장 잘 작동합니다. garment_images[]에서 장갑, 미튼, 손에 든 소품, 포켓 스퀘어, 서스펜더, 브로치는 생략하세요.

필수 입력

  • person_image (문자열 URL)
  • garment_images (문자열 URL 배열, 최대 11개)

공통 선택적 필드

  • seed, output_format (webp / jpg / png, 기본값 jpg), output_quality (0–100, 기본값 95)
  • preserve_input_size (boolean, 기본값 true)
  • turbo (boolean, 기본값 false)
  • reference_pose (인물 이미지 URL)
  • prompt (실험적 — 비평면/다중 의상 참조 명확화)

일반적인 다음 단계

이 스킬 이후 흔히 사용되는 후속 스킬:

스킬설명설치 명령어
p-image-upscale누군가가 인쇄, 큰 크롭, 또는 고품질 전달을 위해 기존 이미지를 업스케일 또는 선명하게 하려 할 때 사용합니다.npx skills add PrunaAI/pruna-skills@p-image-upscale -y
p-video-2-pro누군가가 텍스트 또는 시작/종료 프레임에서 영화 같은 클립을 원할 때 사용 — 제품 광고, 다큐멘터리 샷, 생성 오디오가 포함된 대화. 1080p, 가져온 오디오 트랙 또는 헤드만 나오는 호스트용이 아닙니다.npx skills add PrunaAI/pruna-skills@p-video-2-pro -y
p-video-2누군가가 텍스트, 이미지 또는 가져온 오디오에서 세련된 짧은 클립을 원할 때 사용 — 1080p B-roll, 시작/종료 프레임 애니메이션, 혼합 트랙이 포함된 모션 샷. 영화 같은 생성 오디오 클립 또는 헤드만 나오는 호스트용이 아닙니다.npx skills add PrunaAI/pruna-skills@p-video-2 -y
p-video누군가가 텍스트 또는 이미지에서 간단한 짧은 클립을 원할 때 사용 — 빠른 B-roll, 초안, 시작/종료 프레임 애니메이션. 영화 같은 생성, 최고 품질, 정확한 립싱크 또는 1080p에서 가져온 오디오가 필요할 때는 사용하지 마세요.npx skills add PrunaAI/pruna-skills@p-video -y
p-video-avatar누군가가 사람이 카메라에 나와 스크립트를 말하는 것을 원할 때 사용 — 립싱크 호스트, 대변인, 또는 초상화 사진에서 내레이션 아바타.npx skills add PrunaAI/pruna-skills@p-video-avatar -y

Individual skills in this repo

This repo contains 13 individual skills — each has its own dedicated page.

PrunaAI/pruna-skills

Use when someone needs spoken narration or voiceover — explainer tracks, documentary lines, or voice to pair with generated video.

PrunaAI/pruna-skills

Use when someone wants an original AI song with vocals — sung lyrics, a style prompt track, or source audio for a music video.

PrunaAI/pruna-skills

Use when someone needs word-level timestamps from audio — lyric alignment, cut-safe line boundaries, or caption source timing before burn-in with video-editing.

PrunaAI/pruna-skills

Use before any Pruna or Replicate HTTP call — credentials, upload/poll/download, parallel batches, and agent safety.

PrunaAI/pruna-skills

Use when assembling or polishing already-rendered clips with ffmpeg — concat, crossfades, burned captions and subtitles, text/logo overlays, before/after sliders, background music beds, platform export — or when composing a multi-layer HTML combination video with Hyperframes. Not for AI video generation, prompt craft, or model-based video edits.

PrunaAI/pruna-skills

Use when crafting video or motion prompts for any generative model — dramaturgy, camera, physics-safe motion, frame anchors, and clip chaining.

PrunaAI/pruna-skills

Use when someone wants to edit an existing photo — change outfits or backgrounds, compose from reference images, or apply prompt-driven edits.

PrunaAI/pruna-skills

Use when someone explicitly wants the fastest, cheapest photo generation — mood boards, bulk panels, or quick iterations — not when controlled photoreal or in-image text is needed.

PrunaAI/pruna-skills

Use when installing the full Pruna generative media suite — all guides, tools, and workflows in one package.

PrunaAI/pruna-skills

Use when someone wants a cinematic clip from text or start/end frames — product ads, documentary shots, or dialogue with generated audio. Not for 1080p, imported audio tracks, or talking-head-only hosts.

PrunaAI/pruna-skills

Use when someone wants a polished short clip from text, images, or imported audio — 1080p B-roll, start/end frame animation, or a motion shot with a mixed track. Not for cinematic generated-audio clips or talking-head-only hosts.

PrunaAI/pruna-skills

Use when someone wants to edit an existing video with a text instruction — recolor, restyle, remove or add objects, change environment or lighting, update on-screen text, or apply optional reference-guided product and accessory edits. Not for a new clip from scratch or ffmpeg assembly.

PrunaAI/pruna-skills

Use when someone wants a simple short clip from text or images — quick B-roll, drafts, or start/end frame animation. Not when the brief needs cinematic generation, highest quality, tight lip-sync, or imported audio at 1080p.

관련 스킬