One prompt → a vertical AI dance reel
Generate a labeled dance-move grid, use it as the choreography reference for a music-synced dance, then combine both into a vertical reel.
Run it
AI Agent
Terminal
New here? Quick start
brew install pipe2-ai/tap/pipe2 go install github.com/pipe2-ai/pipe2-cli/cmd/pipe2@latest echo "$PAT" | pipe2 auth login --token - Change the result
| Input | Type | default | Description |
|---|---|---|---|
--subject | string | defaultbreakdancer in baggy neon techwear | Who's dancing. Used in both the grid render and the Seedance prompt. |
--style | string | defaultK-pop solo choreography | Genre/style label: e.g. "K-pop solo choreography", "urban hip-hop", "classical ballet". |
--moves | string | defaultmoonwalk, body roll, donkey kick, electric slide | Comma-separated list of named moves Seedance should perform in order. |
--music | string | defaultK-pop dance anthem at 128 BPM. Punchy four-on-the-floor kick, sidechained glossy synth lead, glittery hi-hats, percussive synth stab on the off-beats. Full energy from bar one, no intro. | Mood prompt for the Eleven Music soundtrack. |
--persona | string | default | Optional persona description (e.g. 'red-haired fashion-forward 21-year-old influencer in pink avant-garde outfit'). When set, generates a multi-angle character sheet first and passes it to Seedance as a second reference image so the dance preserves identity across frames. |
--watermark-url | asset_url | default | Override the default Pipe2 logo with your own image (URL or local path). Empty means use the bundled Pipe2 watermark. |
--ratio | enum | default9:16 | Output aspect ratio. 9:16 for TikTok/Reels, 16:9 for landscape.9:16 · 16:9 · 1:19:1616:91:1 |
--dance-seconds | int | default8 | Duration of the Seedance segment. 4-15s; total reel is +3s for the grid reveal. |
--music-url | asset_url | default | Pre-existing music file (URL or local path). When set, music-generator is skipped and this track is used directly. |
--no-watermark | bool | defaultfalse | Ship the output unbranded. Skips the watermark step entirely. |
--persona-url | asset_url | default | Pre-existing persona reference (URL or local path: same shape as --music-url / --watermark-url). When set, image-generator is skipped and this image goes directly to Seedance as the identity anchor. Use for recurring brand mascots or when you already have a character sheet you trust. |
--watermark-scale | int | default20 | Watermark width as a percentage of the video width. |
--watermark-variant | enum | defaultlight | Which bundled Pipe2 logo to use when --watermark-url is empty. "light" for dark videos, "dark" for bright ones; coloured variants match the clip palette.amber · aqua · crimson +4amberaquacrimsondarkemeraldindigolight |
-
GPT Image 2 renders a 16-panel dance move reference grid: one labeled pose per cell.
-
Eleven Music composes a vocal-led K-pop soundtrack before the dance is generated, so the choreography can follow its rhythm.
-
Turns the move grid into a short on-screen reveal before the dance starts.
-
Seedance 2 Pro uses the grid as a choreography reference and the soundtrack as a timing reference, so the moves follow both the storyboard and the beat.
-
Combines the grid reveal and dance with a quick crossfade and the finished soundtrack.
-
Overlays the Pipe2 logo (or your own --watermark-url) at the top-left corner so the clip carries attribution across reposts. Pass --no-watermark to skip.
Why it works and what to change
Why it works
The grid is a storyboard. image-generator renders 16 labeled dance
poses in a 4×4 layout, and Seedance reads it as a reference image: following the cells in sequence instead of guessing motion frame by
frame. A named move goes in; the same move comes out.
The music is composed before the dance, not after. Seedance uses the finished track as a timing reference, so the choreography lands on the rhythm instead of feeling detached from the soundtrack.
The knobs that matter
moves: the cheapest lever on quality. Named moves (“moonwalk, body roll, donkey kick”) beat generic adjectives: each name becomes a labeled grid cell, and Seedance reads those labels.dance_style: sets the vibe for both the grid and the dance (“K-pop solo choreography”, “classical ballet”). Keep it specific; “dance” is not a style.subject/persona:subjectis who’s dancing and what they’re wearing;personaanchors a recurring identity so the same face and outfit hold across the clip. Specific attire and setting read better than a generic character.
Duration, music mood, watermark, and aspect ratio all have sensible defaults; see the recipe options for the full set.
Notes
You can generate each supporting asset or supply one you already have.
Use persona or persona-url for identity, music mood or music-url
for the soundtrack, and watermark prompt or watermark-url for the
logo. A brand with a fixed logo or a curated track should use the URL
option.