Dancing Portrait Video · Open Skill 公開スキル
Dancing Portrait Video
Dancing Portrait Video は Digen 上の公開 Open Skill です。開くと、このワークフローが何を作るか分かります。
TryOn
1 0 1
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284863/2026-10-20/hynn54mm.jpg
# Dancing Portrait Video
Turn one uploaded portrait photo into a short vertical dance video: the same person stays recognizable, while the outfit, pose and scene follow the theme the user asks for, and the camera keeps moving with the dancer.
## When to use
- The user uploads a photo and wants a short video of that person dancing or moving for the camera.
- The user wants the dancer restyled per a theme ("make her dance in a desert at sunset") while the face stays the same.
- The user wants to redo, re-theme, change the duration or change the framing of a dance video produced earlier in this conversation.
- Still not applicable when the user only wants a still image — then generate the image and stop (see step 5 branch).
## Inputs and outputs
- Input: one or more **reference photos** (the person to be animated, primary face source) and free-form **text** (theme, mood, dance style, outfit, scene, duration, aspect ratio).
- Output: one short **video** (`generate_video`, channel `ref2v`), optionally preceded by one themed still keyframe (`generate_image`, channel `i2i.hd.lite`).
## Steps
1. Write a short todo list with `write_todos` (analyze photo → theme keyframe → dance script → video → reply).
2. `read_skill_file` `references/step-details.md` and follow it for input checks (usable face, multiple people, missing theme, aspect ratio, duration decisions).
3. Analyze the reference photo: call `recognize_image` on the uploaded photo with an identity-focused prompt (face shape, eyes, brows, nose, lips, skin tone, hairstyle and hair length, distinguishing marks, current outfit) and keep those notes as the identity anchors for the rest of the run. Also note the photo's own light and color.
4. `read_skill_file` `references/workflow-stages.md` to confirm the stage map, the branching (keyframe or not) and the defaults, then `read_skill_file` `references/style-and-prompt.md`.
5. Build the themed keyframe (skip this step if the user explicitly wants the original photo's outfit and scene untouched — follow the branch in `references/workflow-stages.md`):
- Write the English `prompt` from the identity anchors plus the Style / Subject / Layout / Must-keep / Must-avoid lines and the still template in `references/style-and-prompt.md`.
- Call `generate_image(prompt=..., input_urls=[uploaded_photo], model='i2i.hd.lite', orientation=..., name=..., entity_type='storyboard_images')`.
- If the user only wanted a still image, stop here after reporting the result (no script, no video).
6. `read_skill_file` `references/video-script.md` and write a detailed English dance script for **this** request (logline, duration, timed beats, framing and camera move per beat, subject action from start to settle, light and mood, transitions, must-keep / must-avoid). Never reuse a generic template as the finished script — fill every field from the user's theme and the analyzed photo.
7. `read_skill_file` `references/video-content-constraints.md`, then compress the script into one English `generate_video` prompt and call:
`generate_video(prompt=..., input_urls=[keyframe_or_uploaded_photo, uploaded_photo], model='ref2v', orientation='portrait', duration=5, name=..., entity_type='final_videos')`.
Keep the first reference image the keyframe (when produced) and always keep the original uploaded photo among `input_urls` so identity is anchored to the real face.
8. Report in natural language: what the dancer does, the theme, the aspect ratio and the duration. Mention that the face is taken from the uploaded photo. Do not paste raw URLs or long parameter dumps. If a step failed, say so plainly instead of inventing a result.
9. On the same turn as the final message, call `set_guidance` with 2–3 relevant next actions (e.g. "Make it 8 seconds with a faster spin", "Change the outfit to red silk", "Keep the original photo's outfit and just animate her").
## Parameters and conventions
- Image channel: `i2i.hd.lite` (themed keyframe from the uploaded photo). T