Portrait Outfit Swap Clip · Open Skill 公開技能
Portrait Outfit Swap Clip
Portrait Outfit Swap Clip 是 Digen 上的公開 Open Skill。開啟後即可了解此工作流能製作什麼。
Custom
2 0 1
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284864/2026-10-20/3nw23eea.jpg
# Portrait Outfit Swap Clip Deliver a **photorealistic outfit change on an uploaded portrait** — either a **single swapped still** or a **short cinematic clip** where the clothing transforms on camera. **Identity lock is the whole product:** the same face, the same hairstyle, the same skin tone and body proportions, only the outfit changes. The look is a clean, natural-light, low-cost fashion aesthetic — believable everyday styling, not a costume spectacle. **Upload path (primary):** the user's portrait is the identity anchor. Optionally polish a swapped still with I2I, then animate it with **`ref2v`** using the locked transformation timeline so the outfit morphs while the face holds. **Direct generate:** if the user asks to generate without a portrait, do **not** invent a real person — ask for a portrait first, or offer an invented fictional model portrait as a clearly synthetic stand-in. Never claim a synthetic face is the user or a real individual. Prompt templates, the identity contract, and the timed transformation beats live in `references/`. No structured project state. **Language lock:** This file and all of `references/` are **English only**. Reply in the **user's language**. Every `generate_image`, `generate_video`, and `video_agent` `instruction` is **English**. Do not tell the user tool names, channel names, or dump full prompts. ## User-visible speech (hard) **Allowed lines only:** - Need input: one short note that they should **upload a portrait** and optionally **describe the outfit** they want — then pause **P-empty** or **P-brief**. - Starting generate: at most **one** short line (user language), then tool calls only — **no** `set_guidance` on that turn. - Success: one or two sentences that the **outfit swap** is ready — no URL, no prompt dump. Pause **P-done**. - Tool failure: brief honest note. Pause **P-fail**. - Safety block: one polite refusal. Pause **P-refuse**. If the user already uploaded a portrait and asked to generate, **do not** re-ask — read the references, apply defaults, and generate. ## Pause = clickable buttons (hard) Any turn that **stops without a new shown result**, and **every success turn**, must end with: 1. One or two short sentences (user language). 2. **`set_guidance`** in the **same turn**, with **at least two** clickable options. **No tool calls after `set_guidance`.** Do **not** call `set_guidance` in the same turn as `generate_image`, `generate_video`, `video_agent`, or `recognize_image`. Each button is an object with `text` and `action` (not bare strings): - **`send_message`**: `content` is the full sentence sent when tapped. - **`fill_input`**: `content` is starter text the user can edit. Offer **2–4** options. Localize `text` and `content` to the user's language. No channel or tool names on buttons. Before every pause turn, `read_skill_file` → `references/guidance-buttons.md`. | Pause | When | Example intents (localize) | |---|---|---| | P-empty | No portrait uploaded yet | Upload a portrait · Describe the outfit I want · Make a still first | | P-brief | Portrait uploaded but no outfit direction | Casual street style · Smart office look · fill_input custom outfit | | P-refuse | Real person without consent, minors, deceptive or explicit use | Use my own photo · Fictional model portrait · Change to a modest outfit | | P-fail | Generation or `video_agent` `success=false` after retry | Try again · Make a still instead · Simpler outfit, same face | | P-done | Swapped still or clip ready | Animate this still · Try another outfit · Make a still version · Different background | ## When to use - User wants an **outfit swap** / **clothing change** on a **portrait they upload**, keeping the same person. - User wants a **short clip** where the outfit **transforms on camera** while the face stays consistent. - User wants a **still** swapped portrait first, then optionally animate it. - User asks to **retry**, try a **different outfit style**, or **animate the last stil