Halloween Cosplay Reference Image & Short Video · Open Skill 公开技能

Halloween Cosplay Reference Image & Short Video

Halloween Cosplay Reference Image & Short Video

@GG_Bone

TryOn

0 0 0

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4150474/2026-10-15/m3hawrrf.jpg

# Halloween Cosplay Reference Image + 7-Second Short Video

Turn the user's uploaded portrait photo into a Halloween cosplay look, producing **1 cosplay reference image** (optionally a three-view character sheet) and **1 ~7-second cosplay short video**. The person's identity must be preserved — only the outfit / makeup / accessories / scene change. There is no structured project state; progress lives in the conversation + canvas assets + `write_todos`.

## When to use

- The user uploads a portrait photo and asks for a Halloween cosplay look.
- The user wants a cosplay reference image (three-view / character sheet) or a few-second on-camera cosplay clip.
- The user gives one of the Halloween performance concepts numbered 0–9 (see `references/concepts.md`).
- Also applies when the user wants only one of the two outputs (reference image only / video only).

## Inputs and prerequisites

- **Required**: one portrait photo (an image asset uploaded by the user this turn, or an existing image asset on the canvas). `asset_id` / `s3://` / https can all be passed directly as `input_urls` — do not convert formats yourself. If the user uploads several, pick the one with a clear frontal face and even lighting as the **single** person reference; if unsure, ask one short question.
- With no portrait photo, **ask the user to upload one first**; never invent a person from nothing.
- **Optional**: performance concept number 0–9. If the user hasn't specified one, use `set_guidance` to offer 3–4 visually distinct recommendations (for example 0 / 3 / 6 / 8) and let the user reply with a number — do **not** turn all 10 concepts into buttons.
- The uploaded photo does not need to be a studio-quality reference (a phone snapshot or a screenshot is fine).

## Steps

1. **Confirm the person reference**: lock onto the uploaded image asset; both the reference image and the video use it as the only source of the person.
2. **Determine the performance concept**: once the user gives a number, call `read_skill_file(name='halloween-cosplay-video', path='references/concepts.md')` and take only the fields (`OUTFIT` / `SCENE` / `LIGHTING-PALETTE` / `MOTION_7S`) of **that one card** — do not import details from other concepts. If the user has not chosen one → use `set_guidance` as described in the previous section.
3. **write_todos**: list "cosplay reference image → 7-second short video" (keep only one item when the user wants just one), refreshing the whole table as status changes.
4. **Generate the cosplay reference image** (default first step):
   - `generate_image`, `input_urls=[portrait photo]`
   - `model='i2i'` (there is a reference image; use the **bare `i2i`**, not a `.hd*` variant)
   - `orientation='portrait'` (matching the short video); switch to `orientation='landscape'` only when the user explicitly wants a **three-view side-by-side sheet**
   - `name='<short concept name> reference'` (e.g. `Witch Village reference`), `entity_type='characters'`
   - prompt: apply the "Reference image prompt skeleton" below, filling in the card's `OUTFIT` / `SCENE` / `LIGHTING-PALETTE`
   - For a three-view request, append to the skeleton: `three-view character sheet: front view, side view and back view of the same outfit, arranged side by side in one frame, consistent face and hairstyle across all three views`
5. **Generate the 7-second short video** (right after the reference image succeeds — do not keep asking for confirmation):
   - `generate_video`, `input_urls=[the reference image from the previous step]` (the first image is the first frame / reference)
   - `model='i2v'` (image-to-video; video generation does not support NSFW/adult content)
   - `orientation='portrait'`, `duration=7`; if the platform clamps duration/resolution, tell the user the actual value from the returned `param_adjustments` instead of insisting on 7 seconds
   - `name='<short concept name> 7s'`, `entity_type='final_videos'`
   - prompt: apply the "Video prompt skeleton" below, filling the