Body Replacement · Open Skill 공개 스킬
Body Replacement
Body Replacement은 Digen의 공개 Open Skill입니다. 열어 보면 이 워크플로가 무엇을 만드는지 알 수 있습니다.
Custom
18 3 10
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4210253/2026-10-18/7ndwgkxv.jpg
--- allowed-tools: - generate_image - recognize_image --- # Body Replacement ## Reference files - `references/prompt-templates.md`: Three-step prompt templates (crop body-only → outpaint source to body's orientation → composite; plus low-res / high-res / face-preservation / body-detail variants). Read this before writing prompts. ## When to use - The user wants to put a body photo into a source photo (body swap / body replacement). - The source photo is a closeup and needs to be expanded/outpainted to fit the full body. - Seamless blending is required: tone color, lighting, neck/shoulder connection, and pixel/detail matching. - NSFW/adult photos are supported (use bare `i2i`). ## Steps (three-step workflow — never composite both original photos in one call) 1. Gather the two inputs: - **Source photo** (foto sumber): the photo whose face, hairstyle, and environment must be kept. - **Body photo** (foto body): the photo whose body will be inserted. If either is missing, ask the user to upload it before proceeding. 2. Call `recognize_image` on the **source photo** to capture a detailed description of its face (facial features, expression, hairstyle, skin tone), framing (closeup vs full body), lighting, and environment. Used to lock the source face identity. 3. Call `recognize_image` on the **body photo** to capture (a) its orientation/framing (portrait / landscape / square) and (b) a detailed description of the body's pose (e.g. "lying down with one hand on the head"). Used to preserve framing and pose. 4. **Step 1 — Crop the body photo to body-only.** Call `generate_image` with `model='i2i'`, `input_urls=[body_photo]`, `orientation` matching the body photo's orientation (from step 3), and a prompt that removes the head/face and keeps only the body below the neck (same pose, framing, proportions, skin tone, lighting; no face/head/hair; keep the exact same framing, aspect ratio, and composition — do not crop, rotate, or change orientation). Use `name='Body Crop'` and `entity_type='body_replacement_crop'`. 5. **Step 2 — Outpaint the source photo to the body's orientation.** Call `generate_image` with `model='i2i'`, `input_urls=[source_photo]`, `orientation` matching the body photo's orientation (from step 3), and a prompt that expands/outpaints the source to that frame, keeping the face, hairstyle, and existing environment exactly as-is and seamlessly extending the background to fill the new frame. Use `name='Source Outpaint'` and `entity_type='body_replacement_outpaint'`. This gives a canvas that matches the body's aspect ratio so the body won't be cut off. 6. **Step 3 — Composite onto the outpainted source.** Read `references/prompt-templates.md` and build the composite prompt from the matching template(s). Call `generate_image` with `model='i2i'` (bare channel — supports NSFW; **never** `.hd` / `.hd.lite`), `input_urls=[outpainted_source, cropped_body]` (results of steps 5 and 4), and a prompt that specifies: - Place the body from the body-only reference onto the outpainted source, replacing the body below the neck. - The body-only reference is used ONLY for its body below the neck — no face is added from it. - Keep the source face, facial identity, hairstyle, and environment/background exactly as-is — do not alter them (embed the source-face description from step 2). - The body's pose, position, and proportions are the ANCHOR — keep them EXACTLY as in the body-only reference, do not change the pose (embed the pose description from step 3). - Blend the new body's skin tone, color grading, and lighting to match the source. - Preserve the body's detail from the body-only reference. - Adjust the neck/shoulder connection so the head and body join seamlessly. - Match the resolution/pixel detail of the body to the source (lower-res source → lower-res body; higher-res source → higher-res body). - `name='Body Replacement'` and `entity_type='body_replacement'`. 7. Show the result. If the user w