Photo Dance Interaction · публичный навык Open Skill

Photo Dance Interaction

Photo Dance Interaction — публичный Open Skill на Digen. Откройте, чтобы увидеть, что создаёт этот процесс.

@LoganPierce

Film

0 0 1

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284957/2026-10-17/v6n4ur2p.webp

# Photo Dance Interaction

She dances with you. Your photo becomes a short vertical clip where she moves with playful dance energy, eye contact and light gestures that feel aimed at the viewer.

## When to use

- The user wants a short video of the woman in their photo dancing playfully toward the camera as if interacting with the viewer (dance-from-photo clip, playful dance interaction video)
- Another take with a different length or orientation

Not for: Still images only.

## Inputs and gates

| Input | Required | Default | Gate |
|---|---|---|---|
| Photo | Yes | — | One adult woman, face clear. Ask for another photo if the face is tiny, blurred or hidden |
| Description | No | tuned default below | What the user wants; merged into the prompt |
| Duration | No | `5 s` | 5 s (default), 6 s, or 10 s |
| Energy | No | `playful and inviting` | playful and inviting (default), soft sway, upbeat pop, or user-described |
| Orientation | No | `9:16` portrait | Other ratios on request |

- If the person may be under 18, stop and decline politely. Real-person photos must be of adults the user has the right to use.
- Video does not allow NSFW content: keep wardrobe fully covering and refuse sexual requests. Suggestive fashion looks stay as still images.

## Steps

1. Read `references/video-motion.md`.
2. **Identity read**: `recognize_image(image_url=<photo>, prompt='Describe this adult for identity preservation: face shape, eye shape and color, brows, nose, lips, skin tone, apparent age range, hair color and length, distinctive marks, glasses. One compact line.')`.
3. **Keyframe**: `generate_image(prompt=<KEYFRAME>, input_urls=[photo], model='i2i.hd', orientation='portrait', aspect_ratio='9:16', name='Photo Dance Interaction keyframe', entity_type='work_in_progress')`. If the face drifts, regenerate once.
4. **Video**: `generate_video(prompt=<MOTION>, input_urls=[keyframe], model='i2v', orientation='portrait', aspect_ratio='9:16', duration=<d>, name='Photo Dance Interaction', entity_type='final_videos')`. Pass only the keyframe, never the original upload.
5. Reply in one or two sentences, e.g. "Done! Here's your photo dance interaction. I can also try 6 s if you like." Results appear on the canvas; never paste URLs.

## Prompt templates

**KEYFRAME**

```text
The same adult from the reference: <identity line>. Same face structure, eyes, skin tone and recognizable likeness; no beautification or face reshaping. Opening frame of this scene: the same adult woman from the photo dances playfully toward the camera with rhythmic body motion, light hip and shoulder sway, cheerful eye contact and inviting hand gestures as if interacting with the viewer, natural fabric motion, warm flattering light, identity locked, fully clothed, no uploaded dance-reference video needed. Posed for motion, clear subject, cinematic light. Nothing from the original photo's background remains.
```

**MOTION** (motion only; the frame already shows the look)

```text
Starting from this exact frame: <one clear motion arc for this concept: the same adult woman from the photo dances playfully toward the camera with rhythmic body motion, light hip and shoulder sway, cheerful eye contact and inviting hand gestures as if interacting with the viewer, natural fabric motion, warm flattering light, identity locked, fully clothed, no uploaded dance-reference video needed>, beginning, peak and settle in one continuous shot. Camera: <one move: slow push-in, gentle orbit, or static>. The same face and outfit throughout. Cinematic, no text.
```

## Failure handling

- `success=false`: say what failed in one sentence; retry once only if transient; never invent links.
- Content-policy rejection on video: soften wording and retry once; otherwise offer the keyframe as a still.
- Identity drifts: offer to regenerate.

## Examples

**Default**: the user says "use this pic" with a photo. Use duration `5 s`, energy `playful and inviting`, 9:16. Reply: "Done! Here's your photo dance interac