Seedance 2.5 Flash API
ByteDance Seedance 2.5 Flash — the lower-cost tier of Seedance 2.5 for high-volume video work: text-to-video, image-to-video, reference-to-video and video edit, with 4-30 second clips at 480p or 720p and native synchronized audio.
Four endpoints: bytedance/seedance-2.5-flash/text-to-video turns a prompt into a clip, image-to-video animates a start image with an optional last frame, reference-to-video builds a new clip from up to 10 images, 5 videos and 5 audios, and video-edit rewrites an existing video from a text instruction. Clips run from 4 to 30 seconds at 480p or 720p, with audio generated together with the picture.
Overview
About the Seedance 2.5 Flash API
What Seedance 2.5 Flash does, how it fits in the ByteDance model lineup, and why teams reach for it.
Seedance 2.5 Flash is a video generation model from ByteDance, available through the WaveSpeedAI REST API. ByteDance Seedance 2.5 Flash — the lower-cost tier of Seedance 2.5 for high-volume video work: text-to-video, image-to-video, reference-to-video and video edit, with 4-30 second clips at 480p or 720p and native synchronized audio.
Four endpoints: bytedance/seedance-2.5-flash/text-to-video turns a prompt into a clip, image-to-video animates a start image with an optional last frame, reference-to-video builds a new clip from up to 10 images, 5 videos and 5 audios, and video-edit rewrites an existing video from a text instruction. Clips run from 4 to 30 seconds at 480p or 720p, with audio generated together with the picture.
The Seedance 2.5 Flash family on WaveSpeedAI ships 4 REST endpoints covering Video-To-Video, Reference-To-Video, Image-To-Video, Text-To-Video workflows. Each variant carries its own pricing, parameter knobs, and example outputs — pick the one that matches your input modality and production constraints, or call several from the same API key to compose multi-step pipelines.
Run Seedance 2.5 Flash through the same API key, billing account, and rate-limit envelope you use for the other 1,000+ AI models on WaveSpeedAI. No separate vendor setup, no per-provider SDKs, no per-vendor rate-limit envelopes — one integration covers everything from text-to-image and text-to-video through audio synthesis, 3D generation, upscaling, and editing.
Specs
Seedance 2.5 Flash API capabilities and release status
The model-specific details developers search for before choosing an API: availability, expected output length, reference support, and the current live fallback.
Endpoints
4 variants
Text-to-video, image-to-video, reference-to-video and video-edit.
Duration
4-30 s
Any length from 4 to 30 seconds; 5 s is the default.
Resolution
480p / 720p
720p is the default.
References
10 images + 5 videos + 5 audios
On text-to-video and reference-to-video, alongside a text prompt.
Endpoints
All Seedance 2.5 Flash API endpoints
4 Seedance 2.5 Flash endpoints available now on WaveSpeedAI — pick the variant that matches your workflow.
/filters:quality(82)/media/images/4dab6870-7b73-4d91-aaa5-d7d48f93ec26.webp)
Seedance 2.5 Flash Video Edit
Seedance 2.5 Flash Video Edit edits a source video using text instructions and optional image and audio references, with 480p or 720p output. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
/filters:quality(82)/media/images/9e27da0a-ff6d-4386-89a3-fdca16747369.webp)
Seedance 2.5 Flash Reference To Video
Seedance 2.5 Flash Reference-to-Video creates videos guided by text and optional image, video, and audio references, with 480p or 720p output and optional generated audio. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
/filters:quality(82)/media/images/2f85f4e3-bc1e-4f19-a03e-2a080b82e605.webp)
Seedance 2.5 Flash Image To Video
Seedance 2.5 Flash Image-to-Video animates a start image using text instructions, with an optional last frame, 480p or 720p output, and optional generated audio. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
/filters:quality(82)/media/images/5dd2d86c-98dd-436a-89e6-14908c5d5497.webp)
Seedance 2.5 Flash Text To Video
Seedance 2.5 Flash Text-to-Video creates videos from text prompts and optional image, video, and audio references, with 480p or 720p output and optional generated audio. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Examples
See Seedance 2.5 Flash in action
Real outputs generated by the Seedance 2.5 Flash API. Hover any video to preview, click to open the full-size viewer.
How to
How to use the Seedance 2.5 Flash API
Four steps from signup to a finished generation. Full Python, Node.js, and cURL examples are in the API section below.
- 01
Get an API key
Sign up for a WaveSpeedAI account and copy your API key from the dashboard. New accounts come with free starter credits — enough to run the playground a few dozen times before billing kicks in.
- 02
Submit a prediction
POST your input as JSON to https://api.wavespeed.ai/api/v3/bytedance/seedance-2.5-flash/text-to-video. The endpoint returns a prediction id immediately — generations are async so you don't hold an open connection during inference.
- 03
Poll for completion
GET https://api.wavespeed.ai/api/v3/predictions/{request_id}/result. Return outputs on completed; stop with an error on failed, cancelled, timeout, or deleted; continue polling for every other status.
- 04
Read the output URL
Once status is "completed", read the URL from data.outputs[0]. The URL points to your generated media on the WaveSpeedAI CDN — image, video, audio, or 3D file depending on the Seedance 2.5 Flash variant you called.
Use cases
What you can build with Seedance 2.5 Flash
Common workflows developers and creators use the Seedance 2.5 Flash API for.
Ad creative testing at volume
bytedance/seedance-2.5-flash/text-to-video is built for many takes: try several hooks, camera moves and settings for one brief, then keep the versions that work.
Cinematic scenes with dialogue and sound
Every endpoint generates dialogue, sound effects and ambience together with the picture, so a scene arrives with its sound in one request.
Animate a still into a shot
bytedance/seedance-2.5-flash/image-to-video starts from your image and accepts an optional last frame, so you decide where the shot begins and ends.
Keep a character or product consistent
bytedance/seedance-2.5-flash/reference-to-video takes up to 10 reference images, 5 reference videos and 5 reference audios, which the prompt refers to as @Image 1, @Video 1 and @Audio 1.
Edit a video with words
bytedance/seedance-2.5-flash/video-edit keeps the subject, composition and motion of your video and changes what you describe, such as the setting, the weather or the style.
Long single takes
Clips run from 4 to 30 seconds in one pass, leaving room for real action and camera movement instead of stitching short clips together.
Tips
Tips for prompting Seedance 2.5 Flash
Practical advice for getting better outputs from Seedance 2.5 Flash — drawn from the patterns that work across video models in production pipelines.
- 01
Be specific about camera moves
Mention concrete cinematography vocabulary — orbit, dolly-in, push-in, pan-left, crane shot, handheld follow. Generic prompts produce static or arbitrary camera choices; named camera moves map directly to motion intent in the model's training data and dramatically improve shot quality.
- 02
Anchor character identity with reference images
If your prompt depends on a specific person, character, or product, upload a reference image alongside the prompt. Without a reference, identity drifts across frames and across shots — the same character ends up looking like a slightly different person each generation.
- 03
Describe lighting and time of day
Lighting cues like 'golden hour, soft warm directional light' or 'overcast diffused light, slate-grey sky' improve quality and consistency far more than vague quality modifiers. Lighting is one of the strongest priors the model conditions on.
- 04
Use negative prompts to suppress common failure modes
Useful negatives for video: 'frame flicker, motion blur, watermark, text artifacts, distorted hands, low resolution, jpeg compression'. Negative prompts cost nothing and noticeably reduce the rate of generations you'd otherwise re-roll.
- 05
Pick the shortest duration that captures your beat
Most prompts work best at 5-8 seconds. Longer clips amplify temporal inconsistencies (subject morphing, environment drift). If you need a 20-second sequence, generate three 6-8 second clips and edit them together — quality stays higher than one long generation.
- 06
Match aspect ratio to platform up front
9:16 for TikTok / Reels / Shorts, 16:9 for landscape feeds and YouTube, 1:1 for post grids. Models train slightly differently per aspect ratio — cropping a 16:9 to 9:16 after the fact loses both fidelity and the composition the model intended.
Pricing
Seedance 2.5 Flash API pricing
Pricing is per-output. The final charge scales with the parameters you set in each variant's playground (resolution, duration, output count, references).
| Endpoint | Type | Starting price |
|---|---|---|
| bytedance/ | video-to-video | $0.15 |
| bytedance/ | reference-to-video | $0.24 |
| bytedance/ | image-to-video | $0.24 |
| bytedance/ | text-to-video | $0.24 |
API
Call the Seedance 2.5 Flash API
Sign up for an API key at wavespeed.ai/accesskey, then submit a prediction via REST. The playground generates ready-to-paste samples for any combination of inputs.
POSThttps://api.wavespeed.ai/api/v3/bytedance/seedance-2.5-flash/text-to-video
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/bytedance/seedance-2.5-flash/text-to-video" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d '{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5,
"generate_audio": true
}')
TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
-H "Authorization: Bearer $WAVESPEED_API_KEY")
RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
case "$STATUS" in
completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
failed|cancelled|timeout|deleted) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
*) sleep 2 ;;
esac
doneconst submitUrl = "https://api.wavespeed.ai/api/v3/bytedance/seedance-2.5-flash/text-to-video";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');
async function requestJson(url, options = {}) {
const response = await fetch(url, options);
if (!response.ok) throw new Error(await response.text());
return response.json();
}
// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5,
"generate_audio": true
}),
});
const task = body.data ?? body;
const resultUrl = `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;
// 2. Poll until the prediction finishes.
while (true) {
const resultBody = await requestJson(resultUrl, {
headers: { "Authorization": `Bearer ${apiKey}` },
});
const result = resultBody.data ?? resultBody;
if (result.status === "completed") {
console.log(result.outputs);
break;
}
if (["failed", "cancelled", "timeout", "deleted"].includes(result.status)) throw new Error(JSON.stringify(result));
await new Promise(resolve => setTimeout(resolve, 2000));
}import json
import os
import time
from urllib.request import Request, urlopen
api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5,
"generate_audio": True
}
def request_json(url, data=None):
request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
with urlopen(request) as response:
return json.load(response)
# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/bytedance/seedance-2.5-flash/text-to-video", json.dumps(payload).encode())
task = body.get("data", body)
result_url = f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"
# 2. Poll until the prediction finishes.
while True:
result_body = request_json(result_url)
result = result_body.get("data", result_body)
status = result.get("status")
if status == "completed":
print(result.get("outputs", []))
break
if status in {"failed", "cancelled", "timeout", "deleted"}:
raise RuntimeError(result)
time.sleep(2)Compare
Seedance 2.5 Flash vs alternatives
When to pick Seedance 2.5 Flash over similar models on WaveSpeedAI.
Seedance 2.5 Flash vs Seedance 2.5
Seedance 2.5 is the flagship: 480p to 4K output, up to 50 reference files, and video extend. Seedance 2.5 Flash is the lower-cost tier at 480p and 720p for drafts, tests and high-volume clips; send the same prompt to Seedance 2.5 when a shot needs 1080p or 4K.
Seedance 2.5 Flash vs Seedance 2.0
Seedance 2.0 generates up to 15 seconds per clip. Seedance 2.5 Flash reaches 30 seconds in a single shot and takes up to 10 images, 5 videos and 5 audios as references.
Seedance 2.5 Flash vs Kling 4.0 Flash
Kling 4.0 Flash generates 3-20 second clips at 720p. Seedance 2.5 Flash runs up to 30 seconds, adds a 480p tier, and accepts reference audio alongside images and videos.
FAQ
Seedance 2.5 Flash API — Frequently asked questions
Pricing, license, integration — common questions about running Seedance 2.5 Flash on WaveSpeedAI.
Is the Seedance 2.5 Flash API available on WaveSpeedAI?
Yes. Seedance 2.5 Flash is live in the WaveSpeedAI model catalog with text-to-video, image-to-video, reference-to-video and video-edit endpoints, all on the same REST prediction flow with playground access and pay-as-you-go pricing.
What is the difference between Seedance 2.5 Flash and Seedance 2.5?
Seedance 2.5 Flash is the lower-cost tier, with 480p and 720p output and up to 10 images, 5 videos and 5 audios as references. Seedance 2.5 adds 1080p and 4K output, up to 50 reference files and video extend.
How long can a Seedance 2.5 Flash video be?
From 4 to 30 seconds per clip, in whole seconds. The default is 5 seconds.
How do I integrate the Seedance 2.5 Flash API?
Use the standard WaveSpeedAI prediction flow: authenticate with your API key, POST to the model endpoint (e.g. bytedance/seedance-2.5-flash/text-to-video), poll the prediction result, and download the output video. Existing Seedance 2.5 integrations switch by changing the model path.
What is the Seedance 2.5 Flash API?
Seedance 2.5 Flash is a ByteDance video generation model exposed as a REST API on WaveSpeedAI. ByteDance Seedance 2.5 Flash — the lower-cost tier of Seedance 2.5 for high-volume video work: text-to-video, image-to-video, reference-to-video and video edit, with 4-30 second clips at 480p or 720p and native synchronized audio. You can call it programmatically or try it from the playground linked above.
How do I call the Seedance 2.5 Flash API?
Sign up for a WaveSpeedAI account, copy your API key from /accesskey, then POST to https://api.wavespeed.ai/api/v3/bytedance/seedance-2.5-flash/text-to-video with your input as JSON. The endpoint returns a prediction id. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. Production-oriented Python / Node.js / cURL examples are above.
How much does the Seedance 2.5 Flash API cost?
Seedance 2.5 Flash starts at $0.15. The exact cost scales with the parameters you set (resolution, duration, output count, references). The live cost preview next to the Generate button in the playground shows the exact price for your current input.
Which Seedance 2.5 Flash variants are available?
WaveSpeedAI hosts 4 live Seedance 2.5 Flash endpoints: bytedance/seedance-2.5-flash/video-edit, bytedance/seedance-2.5-flash/reference-to-video, bytedance/seedance-2.5-flash/image-to-video, bytedance/seedance-2.5-flash/text-to-video. Each variant has its own playground page and pricing.
Can I use Seedance 2.5 Flash outputs commercially?
Commercial usage rights follow the ByteDance model license. Most ByteDance models permit commercial output use; see each model's playground page for the specific license summary, and WaveSpeedAI's Terms of Service for platform-level conditions.
Why use Seedance 2.5 Flash on WaveSpeedAI instead of going direct?
One API key + one billing account across Seedance 2.5 Flash AND 1,000+ other AI models from other providers. No per-vendor SDK setup, no separate rate-limit envelopes, no rewrite-per-vendor integration code. Pricing is typically at parity with or below ByteDance's direct API.
Provider
About ByteDance
The team behind Seedance 2.5 Flash and the broader ByteDance model lineup on WaveSpeedAI.
ByteDance — the company behind TikTok, CapCut, and Doubao — runs one of the largest AI research operations in the world. Its Seed and Doubao teams ship state-of-the-art models for video generation (Seedance), image generation and editing (Seedream, Nano Banana), and avatar / lip-sync work. Models are trained on internal-scale data and shipped to production through ByteDance's consumer apps before being released as APIs.
Start building with Seedance 2.5 Flash on WaveSpeedAI
Free starter credits on signup. One API key across 1,000+ AI models from ByteDance and every other provider.