Velokey
Tutorials

How to Make 30-Second AI Videos with Seedance 2.5

Seedance 2.5 makes 30-second single-shot clips. How to structure the prompt, hold consistency across 50 references, and call it via API, step by step.

How to Make 30-Second AI Videos with Seedance 2.5

TL;DR

  • Structure the prompt in three beats: setup, action or reveal, closing frame. Seedance 2.5 follows scene architecture better than one long run-on description.
  • One reference image per subject: a shot of every character, product, or prop. Images hold appearance across 30 seconds far better than words.
  • One motion arc, not five: a single camera or story move ("walks to the window as the camera tightens"). Use the length for slow motion, not chaos.
  • Fix with region editing: change the one wrong element instead of regenerating and losing the good parts.
  • Note the cap: 2.5 launches at 720p. Native 4K is coming, not live yet.

Seedance 2.5 is the first model that makes a real 30-second clip in one shot, no stitching. That length is powerful and easy to waste. Feed it a vague paragraph and you get 30 seconds of drift. Feed it a structured brief and you get a coherent scene. Here's how to do the second one.

Why does one-shot 30 seconds change how you prompt?

Because you're now directing a scene, not describing a frame. Older models made clips so short that a single sentence covered them. Thirty seconds is long enough to hold a beginning, a middle, and an end, so the model needs a beginning, middle, and end to aim at. Hand it one flat description and it wanders, because nothing tells it how the shot should evolve over time.

That's the mental shift. You're writing a shot list, not a caption. The rest of this guide is how to write that shot list so Seedance 2.5 actually follows it.

How do you split 30 seconds into three beats?

Roughly ten seconds each, one job per beat. Beat one sets the scene and introduces the subject. Beat two does the real work: the action, the product reveal, the turn in the story. Beat three lands it, a final gesture or a hold that gives the clip an ending instead of a hard stop.

Does every clip need exactly three? No, but three is the sweet spot for 30 seconds. Two beats can feel thin over that length, and five turns it into a chaotic montage the model can't hold. Keep one location and one motion arc running underneath all three, so the beats feel like moments in a single scene, not separate clips glued together. That structure is what makes a long single shot read as deliberate.

Structure a 30-second Seedance 2.5 clip in three beats: setup, action, close

How do you make a 30-second video with Seedance 2.5?

Work these steps in order and you'll clear most of the drift on the first render:

  1. Break the clip into three beats. Setup, then action or product reveal, then a closing frame. Seedance 2.5 follows this structured architecture more reliably than one continuous description.
  2. Add a reference image for every subject. One shot per character, product, and key prop. Visual references hold appearance across the full 30 seconds where text alone drifts.
  3. Pick one motion arc. A single evolving move, like a character crossing the room as the camera slowly pushes in. Use the runtime for slow, deliberate motion.
  4. Lock the look. State one lighting and color mood and stick to it. Contradictory cues break the clip.
  5. Preview before you commit. Use the 3D whitebox previz pass to check camera and motion, then render for real.
  6. Fix with region editing. When one element is wrong, redraw just that, don't regenerate the whole clip and risk the parts that already worked.

How do you write the prompt?

Use a director-style framework and fill it in the same order every time: Subject + Action → Environment → Look → Camera → Audio, with explicit cut labels between beats. That order matters, because it front-loads what the model locks onto first (who and what's happening) before the styling.

Here's the shape, filled in for a product clip:

[Beat 1 - setup] A woman in a navy coat stands in a bright minimalist kitchen,
morning light. Camera: slow push-in.
[Beat 2 - reveal] She lifts a matte-black coffee maker onto the counter and
presses the top button; steam rises. Camera: tighten to the product.
[Beat 3 - close] She takes a sip, smiles, looks off-frame. Camera: hold.
Look: warm, clean, commercial. Audio: soft ambient kitchen, no dialogue.

Notice what it does. Each beat names a subject and an action, then the environment, then one look and one audio direction for the whole clip. The cut labels give the model its structure. This reads like a storyboard because that's what Seedance 2.5 responds to.

Text-to-video or image-to-video?

Seedance 2.5 does both, and picking the right entry point saves you fights later. Text-to-video builds the whole scene from your prompt, which is the move when nothing exists yet and you want the model to invent the look. Image-to-video animates a still you already have, the move when you own the exact frame, a product photo, a brand key visual, and just need it to move.

For brand and product work, image-to-video usually wins. You start from the real product shot, so the object is already correct and the model animates around it instead of guessing its shape. Starting from a locked frame is one of the surest ways to keep a 30-second clip on-brand. Use text-to-video for original scenes, image-to-video when the anchor already exists.

How do you keep characters and products consistent?

Lean on references, not adjectives. Seedance 2.5 takes up to 50 multimodal inputs, roughly 30 images, 10 video clips, and 10 audio clips, and this is where that budget earns its keep. Upload a clean shot of every character and product you name in the prompt. The model matches to the image far more reliably than to a text description like "a matte-black coffee maker," which it will otherwise reinvent every second.

For a recurring character, give it a few angles: front, three-quarter, profile. For a product, give it the hero shot and a detail shot. The more the model can see, the less it guesses, and guessing is what produces the drifting-face look that screams AI. On a 30-second clip, consistency is mostly a references problem, and Seedance 2.5 has the room to solve it.

How do you call Seedance 2.5 from the API?

Video generation runs as an async job: you submit a request, poll for status, then download the result when it's ready. Through an OpenAI-compatible gateway like Velokey, the shape looks like this:

import requests, time

BASE = "https://api.velokey.ai/v1"
headers = {"Authorization": "Bearer $VELOKEY_API_KEY"}

# 1. submit the job
job = requests.post(f"{BASE}/videos/generations", headers=headers, json={
    "model": "seedance-2.5",
    "prompt": "<your three-beat prompt>",
    "references": ["https://.../character.png", "https://.../product.png"],
    "duration": 30,
}).json()

# 2. poll until it's done
while True:
    r = requests.get(f"{BASE}/tasks/{job['id']}", headers=headers).json()
    if r["status"] == "completed":
        print(r["results"][0])   # video URL
        break
    time.sleep(5)

That's the pattern, not the final parameter list, since exact fields shift as the model rolls out. For the current request schema, response format, and per-video pricing, follow our Seedance 2.5 API guide, which tracks the live details. The upside of a gateway here is that switching to Veo or Kling for a different shot is the same call with a different model name.

What about audio in Seedance 2.5?

New in 2.5, the model generates synced audio in the same pass, so you can direct sound right in the prompt. Keep it simple. Name one audio intent per clip, like "soft ambient kitchen, no dialogue" or "upbeat background music," and let it sit under the visuals. Ambient and music are where Seedance's audio is strongest.

Heavy dialogue is a different story. If your clip lives or dies on a spoken line landing perfectly in sync, Veo 3.1 still leads on 48kHz dialogue, and it's worth the shorter clip for that one job. For most 30-second product and story work, though, Seedance's ambient sound and music are enough, and generating them in the same pass beats bolting audio on in post.

What about resolution? The 720p catch

Set expectations before you render: Seedance 2.5 launches capped at 720p. The native 4K and 10-bit color in its spec sheet are on the roadmap, not live at launch. For social, mobile, and web, 720p is fine and you'll never notice. For a clip that has to look sharp on a large screen today, this is a real limit, and Seedance 2.0 still delivers 1080p and 4K on its higher tiers. Plan the resolution around where the video will actually play.

How do you iterate without burning renders?

Cheapest fix first, expensive fix last. A full 30-second render costs the most, so you don't want to reach for it every time something's slightly off. Start with previz: catch camera and motion problems in the whitebox pass before you pay for a finished clip. Then render.

Wrong detail in the final? Region-edit it. Redraw the one element and keep everything that already worked, instead of rolling the whole clip and gambling the good parts. Save a full regeneration for when the whole concept is off, not when a jacket is the wrong color. Work in that order, previz, then region edit, then a full re-render only as a last resort, and you'll spend a fraction of the credits a re-roll-everything habit burns through.

A worked example: a 30-second product ad

Here's the whole loop on one clip. Say you're making a 30-second ad for a coffee maker. First, gather references: the product hero shot, a detail shot, and a photo of your presenter. Second, write the three-beat prompt, setup in the kitchen, the product reveal and brew, the closing sip, with one warm commercial look and ambient kitchen audio. Third, run the whitebox previz and check the camera actually tightens on the product at the reveal, not before.

Something off? Fix it in place. If the presenter's jacket came out the wrong color, region-edit the jacket and leave the approved brew shot untouched. Render at 720p for the social cut. If the client needs a 4K master today, generate that one shot on Seedance 2.0 as a stopgap until 2.5's 4K lands. That's a full production pass without ever regenerating from scratch.

What are the common mistakes?

Three errors ruin most 30-second attempts, and all three are easy to avoid once you know them:

  • Cramming in too much. Multiple locations and a crowd of characters in one 30-second clip is more than the model holds together. If your idea has three settings and four people, split it into separate clips and assemble them in an editor. One coherent scene per generation.
  • Contradictory direction. Cues that fight each other, like "dark moody noir lighting" and "bright clean commercial look" in the same prompt, produce something incoherent. Pick one mood. Pick one palette. Let the beats carry the change, not conflicting adjectives.
  • No motion arc. Thirty static seconds is thirty boring seconds. If nothing evolves, the clip feels like a frozen render held too long. Give it one move, a push-in, a pan, a character crossing, so the length reads as intentional rather than padded.

Get those three right, structure the prompt in beats, and reference every subject, and Seedance 2.5's 30 seconds goes from a gamble to a fairly repeatable result.

Frequently Asked Questions

How long can a Seedance 2.5 video be?

Up to 30 seconds in a single native generation, double Seedance 2.0's 15. The whole clip renders in one pass, so it can include scene switches and a narrative arc without stitching separate clips together. That single-shot 30 seconds is the model's headline capability.

How do you write a good Seedance 2.5 prompt?

Structure it in three beats, setup, action, and close, and use a director framework: Subject + Action, then Environment, Look, Camera, and Audio, with cut labels between beats. Add a reference image for every subject. Keep one lighting mood and one motion arc across the whole clip.

Can Seedance 2.5 make 4K video?

Not at launch. Seedance 2.5 is capped at 720p today, with native 4K on the roadmap for a later rollout. If you need 4K right now, Seedance 2.0 delivers it on its higher tiers. For social and mobile output, the 720p launch resolution is usually fine.

How do you keep a character consistent across a Seedance clip?

Use reference images, not text. Upload several angles of the character, front, three-quarter, and profile, and Seedance 2.5 matches to those far more reliably than to a description. Its 50-reference budget is built for exactly this, which is why consistency on a long clip is mostly a matter of good references.

How do you fix one part of a Seedance 2.5 video?

Use region editing. It lets you redraw a single element, like clothing, a background, or a product, while the performance, motion, and lighting stay locked. That beats regenerating the whole clip, which risks losing the parts that already came out right. It's the fastest way to iterate a detail.

How do you call Seedance 2.5 through an API?

Submit an async job with your prompt and reference URLs, poll the task until it completes, then download the video. Through an OpenAI-compatible endpoint like Velokey, it's one request with the model set to Seedance 2.5, and switching to another video model is the same call with a different name.

Should you use text-to-video or image-to-video in Seedance 2.5?

Use image-to-video when you already have the exact frame, like a product photo or brand visual, so the model animates a correct object instead of inventing one. Use text-to-video for original scenes built from scratch. For brand and product clips, starting from a real image is the more reliable path to consistency across the full 30 seconds.