Lingerie Filter · Open Skill 公開技能
Lingerie Filter
Lingerie Filter 是 Digen 上的公開 Open Skill。開啟後即可了解此工作流能製作什麼。
Custom
15 0 4
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3325120/2026-10-13/ctrvguuv.webp
# Lingerie Filter #3 Cosplay Swap clothing on an uploaded **woman or female character** to the **Lingerie Filter #3** two-piece strappy bikini cosplay set with a light studio photoshoot finish. Garment structure matches preset `lingerie_filter_3_outfit`; default color is solid black unless the user picks another solid color. No project state; subject images must be asset_id or uri already in the conversation. Anime and real photos use the same image-to-image path. Do not write physical model names in user-facing text. Channels and English prompts live in `references/outfit-swap.md`. **Language:** This skill package is English-only. Reply to the user in **their** language (match the latest user message). ## When to use - Upload of a woman or female character with outfit swap, cosplay, Lingerie Filter, strappy bikini, or same-style lingerie filter intent. - Recolor, regenerate, or adjust photoshoot vs natural lighting on the **last output from this skill**. - Text-only: user describes a female character to wear this set (hidden base, then one shown swap). **Do not use:** male subjects, non-character objects, generic retouch, background or face swap, video, or unrelated outfits. ## Color - No color given → **solid black** (cover default). - User names a color → same solid on top and bottom (e.g. red, white, pink, purple, navy) in prompt slot `[garment color]`. - No gradients, prints, or structural changes — color only. ## Pause and guidance (hard) Any turn that **stops without a new shown image** must end with: 1. One or two short sentences to the user (their language). 2. **`set_guidance`** in the **same turn**, with **at least two** clickable options relevant to why you stopped. Do not call any tool after `set_guidance`. This applies to: missing upload and missing character description; **Stop first** refusals; wrong subject (e.g. male); tool `success=false`; safety block. Do not leave the user on a dead end with text only. **Do not** call `set_guidance` in the middle of a multi-tool generation pass. Only at the end of a pause or after handing over the shown image. ### Guidance examples (adapt text to the user’s language) | Pause reason | Example `suggested_questions` | |---|---| | Need upload or description | Upload a photo; Describe the character in text (no photo) | | Refused (minor / policy) | Upload a photo of an adult subject; Ask about allowed use | | Refused (male subject) | Upload a female or female character photo; Describe a female character instead | | Generation failed | Try again with the same photo; Upload a different photo | | Success (shown image) | Try another color; Regenerate; More studio light; More natural light | ## Steps 1. **Input** - Upload present: that image is the subject; run even if the user sends no text. - Text only: build a female character hidden base (reference), then swap; show only the second image. - No upload and no description: **pause** — ask for upload or description + **set_guidance** (see table). 2. **`recognize_image`** (subject image only — not preset, not hidden base) - `image_url`: subject asset_id or uri. - `prompt`: `Briefly: (1) subject type — real photo vs anime/illustration; (2) apparent gender presentation; (3) adult vs possible minor; (4) pose and framing — landscape/portrait/square; (5) how much torso/hips/legs visible; (6) identity features that must stay unchanged (face, hair, body proportions, art style). Do not suggest edits.` 3. **Stop first** (`references/outfit-swap.md`): if matched, **pause** — short refusal + **set_guidance**; do not call `generate_image`. 4. **`read_skill_file`** → `references/outfit-swap.md` (skip if already read this turn). 5. **`generate_image`** - Always `resolution='1080P'`; `orientation` from subject; optional `aspect_ratio` if the user asked for a specific ratio. - Image-to-image (upload, edit last result, text flow step 2): **`model='i2i.hd.gpt'`** first; on `success=false`, retry once with **`mo