Change Clothes 7 · skill Open Skill công khai

Change Clothes 7

Change Clothes 7 là một Open Skill công khai trên Digen. Mở ra để xem workflow này tạo gì.

@eggs

Doc

1 1 2

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284862/2026-10-16/f8j3c74n.jpg

# Change Clothes 7 — Single-Outfit Clothing Swap

This skill does **one job only**: dress the **user’s subject photo** in the **preset red satin gift-wrap lingerie set** (oversized bow-front halter top + low-rise triple-strap bikini bottom), with a **natural, proportionate fit** that matches how the garment would sit on their body. Do not change identity, face, hairstyle, pose, camera angle, or background unless the user explicitly asks for something outside clothing replacement (decline or clarify that this skill is clothing-only).

## When to use

- User uploads (or points to) a photo of a person and wants them dressed in **this skill’s fixed outfit**.
- User asks to “change clothes,” “try on this outfit,” or “wear the preset red bow set” on their person/character photo.
- User wants to regenerate the same try-on with another allowed image model (`i2i.hd.lite`, `i2i.hd`, or `i2i.hd.gpt`).

**Out of scope (politely decline or redirect):** arbitrary other garments, body reshaping, nudity/NSFW requests, background replacement, multiple outfits in one run, video, or any task that is not this specific outfit swap.

## Preset outfit reference (admin asset)

After `read_skill`, inspect **`preset_assets`** for the outfit flat-lay reference:

| Key | Label (suggested) | Role |
|-----|-------------------|------|
| `outfit_reference` | Red gift-wrap bow lingerie set | **Second** image in `generate_image` `input_urls` — defines color, bow structure, ribbon tails, and hip straps |

- Prefer passing the preset entry’s **`uri`**, **`asset_id`**, or **`key`** (`outfit_reference`); the platform resolves and presigns it.
- If `outfit_reference` is **missing**, tell the user the preset asset is not bound yet; they may attach the same flat-lay reference image in chat for this session only, and use that URL/`asset_id` as the outfit reference instead.
- Use the reference **only for garment shape, color, and fabric**. **Do not** copy any **text, logos, watermarks, or labels** visible on the reference photo.

Do **not** embed binary images inside the skill zip; the flat-lay lives in preset assets (or user attachment as fallback). A local preview may exist beside this package for authors only — runtime always uses `preset_assets` or user upload.

## Outfit specification (use in every generation prompt)

Summarize the following in the **`generate_image` `prompt`** (English). For full wording, call `read_skill_file(name='change-clothes-7', path='references/outfit_spec.md')` once before the first generation.

**Set:** two coordinated pieces — **oversized bow-front halter top** + **low-rise strappy bikini bottom**.

**Materials & palette:** uniform **bright fire-engine red**; **satin/silk-like** finish with soft specular highlights and deep fold shadows.

**Top:** one large **front bow** forming the bust (loops as cups); **central knot** with **two wide ribbon tails** hanging vertically past the waist; **thin red spaghetti halter straps** behind the neck; minimal matching back ties/straps.

**Bottom:** **low-rise** minimal panels; **three thin parallel red straps on each hip** connecting front to back; thong/string-bikini character.

**Fit intent:** costume follows the subject’s existing anatomy; bow and straps scale naturally; no extreme body morph unless already present in the source photo.

## Workflow

1. **Subject photo** — User must supply one clear photo of the person (full-body or three-quarter preferred). If unclear, use `recognize_image` to confirm a visible person and note framing; ask for a better upload only if no person is detectable.
2. **Orientation** — Match the subject photo: infer landscape / portrait / square from the upload; pass the same `orientation` to `generate_image` unless the user explicitly requests otherwise.
3. **Model choice (i2i only)** — Pick exactly one channel per generation:
   - **`i2i.hd.lite`** — default for a quick pass or when the user asks for fast/lightweight.
   - **`i2i.hd`** — default when the user wants hi