AI Cloth Transfer · Open Skill 공개 스킬

AI Cloth Transfer

AI Cloth Transfer은 Digen의 공개 Open Skill입니다. 열어 보면 이 워크플로가 무엇을 만드는지 알 수 있습니다.

@JackRhino

TryOn

1 1 2

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284865/2026-10-21/dgfuf5j8.jpg

# AI Cloth Transfer

Turns an uploaded person photo into the same shot with a different outfit. The subject's identity, face, hair, body shape, pose, camera angle, lighting structure and background must survive; only the clothing layer is rebuilt in a single, coherent visual style.

There is no structured project state. Everything that must persist across turns (chosen outfit, colorway, fabric, styling notes, the accepted result) is described in Markdown in your reply, or referenced by the asset produced on the canvas.

## When to use

- The user uploads a photo and asks for the clothes to be changed, replaced, swapped or "tried on".
- The user uploads a photo plus a garment/product shot and wants the person wearing that garment.
- The user wants a wardrobe variation of an image they already have (same scene, different outfit).
- The user wants a refinement of a previous clothing-result in the same conversation ("make the jacket shorter", "keep the boots, change the top").

Do not use for: generating a person from nothing (no photo), changing the background or location, changing the face or body, or non-clothing retouching.

## Steps

1. **Read the inputs.** Identify what the user attached:
   - a person photo (required, this is the base of the edit);
   - an optional garment reference (a product/flat-lay/screenshot of the clothes to wear);
   - free-text styling wishes (colors, fabric, fit, occasion).
   If the content of an attachment is genuinely unclear, call `recognize_image` on it once and describe the subject, current outfit, framing and background before proceeding. Never guess silently.

2. **Read the prompt rules.** Call `read_skill_file` with `references/style-and-prompt.md` and follow it as the authority for style, subject handling, layout, must-keep and must-avoid. Do not write a free-form prompt before reading it.

3. **Read the intake and retry rules when the case is not the plain single-photo case** — garment reference provided, ambiguous request, or a failed/unsatisfying result. Call `read_skill_file` with `references/step-details.md`, pick the matching branch, and follow its checklist.

4. **Write the image prompt in English.** Assemble it from the template in `references/style-and-prompt.md`: a full description of the subject as seen in the uploaded photo, then the new outfit specified precisely (garment type, fabric, color, hardware, fit, length), then styling and lighting continuity, then the must-keep / must-avoid clauses. The prompt is always written for this specific upload — never reuse a canned sentence.

5. **Generate the image.** Call `generate_image` with:
   - `prompt`: the English prompt from step 4;
   - `input_urls`: the person photo first; when a garment reference is provided, append it as the second entry (person photo, then garment);
   - `model='i2i.hd.lite'` (image-to-image channel — this app always edits an uploaded image, never text-to-image);
   - `orientation`: match the base photo (`portrait` for standing/full-body person shots, `landscape` or `square` if the upload is framed that way); do not force a direction that would crop the person;
   - `name`: a short canvas title such as `Cloth Transfer – Leather Set` or the outfit keywords;
   - `entity_type='characters'`.
   Do not pass `width`/`height`, pixel sizes, or a physical model name.

6. **Check the result before presenting it.** Verify that the face, hair, body shape, pose, hands, camera angle and background match the upload, and that the new outfit is one coherent look rather than a mix of old and new garments. If it clearly fails, follow the retry branch in `references/step-details.md` (tighten the prompt, keep the same `input_urls`, regenerate once); do not loop more than twice.

7. **Reply in natural language.** State what was changed (garment pieces, fabric, color, styling), what was preserved, and the canvas name of the result. Do not paste long URLs. If `success=false`, report the failure honestly and do not invent a result