tutorial · 1 min read

One prompt → a vertical AI dance reel

Generate a labeled dance-move grid with GPT Image 2, hand it to Seedance 2 Pro as a reference so the choreography actually follows the moves, then stitch it into a music-synced vertical reel.

Most AI dance videos look like slop because the model is guessing the moves frame by frame. The fix is to pre-author a movement grid with GPT Image 2 and pass it to Seedance 2 Pro as a reference image — now it has a storyboard to follow. This recipe chains the grid, the dance, and a matching music bed into one reel.

#cli#claude-code#pipelines#dance#seedance#gpt-image-2#reel#automation
Run it

Two ways, same result

Either paste the prompt into your AI agent, or run a single command in your terminal — both invoke the same recipe.

est. cost ≈ 56.5 credits needs PIPE2_TOKEN runs 6 pipelines
prompt · paste into agent
Claude Code, Codex, any shell-agent — conventions in AGENT.md
Run the pipe2 dance-reel recipe via the pipe2 CLI. Defaults produce a K-pop breakdancer reel with a vocal-led Eleven Music bed — pass --subject, --style, --moves, --music to customize, or --persona / --watermark-url for branded output. Report the final video URL when done.
The agent reports the final hosted video URL when the chain completes.
command · run in shell
Needs pipe2 CLI + PIPE2_TOKEN; fetches the recipe from GitHub
pipe2 recipe run dance-reel
Prints the hosted video URL to stdout when the chain finishes.

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 beat-conditions the clip on the finished track, so the choreography lands on the rhythm instead of drifting against a bed layered on later.

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 / personasubject is who’s dancing and what they’re wearing; persona anchors a recurring identity so the same face and outfit hold across the clip. Specific attire and setting read better than a generic body.

Duration, music mood, watermark, and aspect ratio all have sensible defaults — see the manifest for the full set.

Notes

The bring-your-own inputs come in pairs: a text flag generates the asset, the -url variant supplies your own. persona / persona-url, music mood / music-url, watermark prompt / watermark-url — prompt to generate it, URL to bring it. A brand with a fixed logo or a curated track uses the -url side.

Walkthrough

6 pipelines transform one input into one output

What each step takes in, and what it spits out. The artifact glyph on the right shows the output kind.

total ≈ 56.5 credits steps 6 pipelines flow

Estimated at recipe defaults. Final cost may vary — metered models bill by actual token usage, and optional steps add to the total when their inputs are supplied.

  1. GPT Image 2 renders a 16-panel dance move reference grid — one labeled pose per cell.

    image
  2. Eleven Music composes a vocal-led K-pop dance bed. Generated FIRST so the dance can be choreographed to its rhythm.

    audio
  3. image-motion 0.5 cr

    Claude designs a ken-burns pan over the grid so it reads on screen before the dance starts.

    video
  4. video-generator 41.5 cr

    Seedance 2 Pro generates the dance clip. The grid tags as @image1 for choreography, the music tags as @audio1 for beat-conditioning — choreography is synced to the actual track.

    video
  5. video-reel 1 cr

    Claude stitches grid-reveal + dance with a snappy crossfade and the music bed.

    video
  6. watermark 0.5 cr

    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.

    video

Click any slug to see full pipeline pricing tiers.

See also

Stuck on a chain that won't compose? Drop into our Discord and paste the JSON output of the failing step.