Lingerie Filter · সর্বজনীন Open Skill

Lingerie Filter

Lingerie Filter Digen-এ একটি সর্বজনীন Open Skill। খুলে দেখুন এই ওয়ার্কফ্লো কী তৈরি করে।

@jimi

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