Seedance 2.5 API
ByteDance Seedance 2.5 API is live on WaveSpeedAI: 30-second single-shot video generation with native multilingual audio, up to 50 multimodal references, and precision video editing and extension — with text-to-video, image-to-video, video-edit, video-extend, and turbo endpoints.
This Seedance 2.5 API guide covers the live endpoints, pricing, integration path, and the differences from Seedance 2.0. Playground, examples, pricing, and API samples below all use the live Seedance 2.5 endpoints.
About the Seedance 2.5 API
What Seedance 2.5 does, how it fits in the ByteDance model lineup, and why teams reach for it.
Seedance 2.5 is a video generation model from ByteDance, available through the WaveSpeedAI REST API. ByteDance Seedance 2.5 API is live on WaveSpeedAI: 30-second single-shot video generation with native multilingual audio, up to 50 multimodal references, and precision video editing and extension — with text-to-video, image-to-video, video-edit, video-extend, and turbo endpoints.
This Seedance 2.5 API guide covers the live endpoints, pricing, integration path, and the differences from Seedance 2.0. Playground, examples, pricing, and API samples below all use the live Seedance 2.5 endpoints.
The Seedance 2.5 family on WaveSpeedAI ships 8 REST endpoints covering Text-To-Video, Image-To-Video, Video-Extend, Video-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 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.
Seedance 2.5 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.
Availability
Live now
Seedance 2.5 endpoints are live in the WaveSpeedAI catalog: text-to-video, image-to-video, video-edit, video-extend, and turbo tiers, all on the same REST prediction flow.
Duration
4-30 seconds
Seedance 2.5 generates up to 30 seconds in a single shot, reducing the need to stitch multiple short clips for one continuous scene. Video edits automatically match the input duration.
Reference capacity
Up to 50 files
Attach up to 30 reference images, 10 reference videos, and 10 reference audios in one request for characters, products, environments, wardrobe, style, and brand continuity.
Pricing
From $0.90 / 5s
Text-to-video and image-to-video start at $0.90 per 5 seconds at 480p, prorated per second up to 30 seconds. Video-edit bills per second across input plus output duration.
All Seedance 2.5 API endpoints
8 Seedance 2.5 endpoints available now on WaveSpeedAI — pick the variant that matches your workflow.

Seedance 2.5 Text To Video Turbo
Seedance 2.5 (Text-to-Video Turbo) generates cinematic 720p/1080p videos from text prompts —a faster, more affordable high-resolution tier with native audio-visual synchronization, director-level control, and exceptional motion stability.

Seedance 2.5 Image To Video Turbo
Seedance 2.5 (Image-to-Video Turbo) generates cinematic 720p/1080p videos from reference images —a faster, more affordable high-resolution tier with native audio-visual synchronization, director-level control, and exceptional motion stability.

Seedance 2.5 Image To Video Spicy
Seedance 2.5 Spicy Image to Video is a fast AI image-to-video generation model that creates high-quality cinematic clips from images, optimized for scalable content generation with smooth animations and stable aesthetics. Ready-to-use REST inference API for animating images, social media clips, product videos, advertising creatives, visual storytelling, and professional image-to-video workflows with simple integration, no coldstarts, and affordable pricing.

Seedance 2.5 Text To Video
Seedance 2.5 (Text-to-Video) generates Hollywood-grade cinematic videos from text prompts with native audio-visual synchronization, director-level camera and lighting control, and exceptional motion stability. Built on Seed's unified multimodal architecture, it leads on instruction adherence, motion quality, and visual aesthetics.

Seedance 2.5 Video Extend
Seedance 2.5 (Video-Extend) extends an input video with a new cinematic continuation generated from its last frame and a natural-language prompt. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.

Seedance 2.5 Video Edit Turbo
Seedance 2.5 (Video-Edit Turbo) is the turbo tier for editing an input video from a natural-language prompt — faster, more affordable high-resolution output while preserving subject identity, composition, and motion. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.

Seedance 2.5 Video Edit
Seedance 2.5 (Video-Edit) edits an input video from a natural-language prompt. The reference video drives subject identity, composition, and motion while the model rewrites lighting, style, weather, environment, or specific elements as instructed. Built on ByteDance Seed's unified multimodal architecture for cinematic, motion-stable output. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.

Seedance 2.5 Image To Video
Seedance 2.5 (Image-to-Video) generates Hollywood-grade cinematic videos from reference images and text prompts with native audio-visual synchronization, director-level camera and lighting control, and exceptional motion stability. Built on Seed's unified multimodal architecture, it preserves the input image's subject and composition while adding expressive, physically accurate motion.
See Seedance 2.5 in action
Real outputs generated by the Seedance 2.5 API. Hover any video to preview, click to open the full-size viewer.
How to use the Seedance 2.5 API
Four steps from signup to a finished generation. Full Python, Node.js, and cURL examples are in the API section below.
- 1
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.
- 2
Submit a prediction
POST your input as JSON to https://api.wavespeed.ai/api/v3/bytedance/seedance-2.5/text-to-video. The endpoint returns a prediction id immediately — generations are async so you don't hold an open connection during inference.
- 3
Poll for completion
GET https://api.wavespeed.ai/api/v3/predictions/{request_id}/result. Start around every 2 seconds, then increase toward 5-10 seconds for long-running tasks to reduce unnecessary requests. Stop on completed, failed, cancelled, or timeout.
- 4
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 variant you called.
What you can build with Seedance 2.5
Common workflows developers and creators use the Seedance 2.5 API for.
Seedance 2.5 API for 30-second single-shot video
Seedance 2.5 generates 30-second single-shot native video with synchronized audio, reducing the need to stitch multiple short clips when you need one continuous camera move, performance beat, or product scene.
High-reference brand and character workflows
With up to 50 attached reference files — 30 images, 10 videos, and 10 audios — Seedance 2.5 fits brand kits, character packs, multi-shot style boards, and campaign-level continuity.
More controllable text-to-video generation
Seedance 2.5 delivers stronger control for video generation: clearer creative direction, better use of attached references, and more predictable prompt-to-motion behavior for production workflows.
Prompt-guided video editing with preserved motion
bytedance/seedance-2.5/video-edit applies prompt-guided changes on existing footage while preserving the source composition, subject identity, motion, duration, and aspect ratio — a drop-in look-dev and restyle pass.
Video extension for longer sequences
bytedance/seedance-2.5/video-extend continues an input video from its last frame with a prompt-driven cinematic continuation — chain extends to build longer sequences beyond a single generation.
Multilingual audio-video co-generation
Seedance 2.5 generates video and audio together in 10+ languages — lip-synced dialogue, contextual sound effects, and adaptive music in a single pass, no separate audio model or sync step.
Tips for prompting Seedance 2.5
Practical advice for getting better outputs from Seedance 2.5 — drawn from the patterns that work across video models in production pipelines.
Plan for one continuous 30-second shot
Seedance 2.5 is expected to support 30-second single-shot native video output. Write prompts around a continuous action arc: opening frame, camera move, subject action, environmental change, and final frame.
Treat references like a production packet
With up to 50 reference files expected, organize references by role: character, product, environment, wardrobe, motion style, color palette, and brand examples. Cleaner reference intent should translate into more controllable output.
Keep using Seedance 2.0 for live API tests
Until Seedance 2.5 launches, the playground, endpoint cards, pricing, examples, and API samples on this page use the current Seedance 2.0 family. Use those endpoints for production traffic today.
Separate generation and editing prompts
The 2.5 positioning calls out more controllable generation and editing. For generation, describe shot design and motion. For editing, describe what should change and what must stay locked from the source clip.
Avoid overloading all 50 references without labels
More reference capacity helps only when references have clear purpose. In your prompt, name what each reference group should control so style, identity, motion, and scene guidance do not compete.
Seedance 2.5 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/seedance-2.5/text-to-video-turbo | text-to-video | $1.00 |
| bytedance/seedance-2.5/image-to-video-turbo | image-to-video | $1.00 |
| bytedance/seedance-2.5/image-to-video-spicy | image-to-video | $0.90 |
| bytedance/seedance-2.5/text-to-video | text-to-video | $0.90 |
| bytedance/seedance-2.5/video-extend | video-extend | $1.10 |
| bytedance/seedance-2.5/video-edit-turbo | video-to-video | $1.30 |
| bytedance/seedance-2.5/video-edit | video-to-video | $1.10 |
| bytedance/seedance-2.5/image-to-video | image-to-video | $0.90 |
Call the Seedance 2.5 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.
HTTP example
# 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/text-to-video" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d '{}')
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=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi
# 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) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
created|processing) sleep 2 ;;
*) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
esac
doneNode.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/bytedance/seedance-2.5/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({}),
});
const task = body.data ?? body;
const resultUrl = task.urls?.get ||
`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"].includes(result.status)) throw new Error(JSON.stringify(result));
if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
await new Promise(resolve => setTimeout(resolve, 2000));
}Python example
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 = {}
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/text-to-video", json.dumps(payload).encode())
task = body.get("data", body)
result_url = task.get("urls", {}).get("get") or 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"}:
raise RuntimeError(result)
if status not in {"created", "processing"}:
raise RuntimeError(f"Unexpected status: {status}")
time.sleep(2)Seedance 2.5 vs alternatives
When to pick Seedance 2.5 over similar models on WaveSpeedAI.
Seedance 2.5 vs Seedance 2.0
Seedance 2.0 remains available with Fast, Mini, and Turbo variants and native 1080p/4k tiers. Seedance 2.5 extends single-shot duration from 15 to 30 seconds, raises reference capacity from 15 to 50 files, adds multilingual audio, and makes video edits follow the input duration and aspect ratio automatically.
Seedance 2.5 vs Veo 3.1
Veo 3.1 is strong for photorealistic video generation across Standard, Fast, and Lite tiers. Seedance 2.5 is the better fit for longer 30-second single-shot generation and heavy reference-driven control with up to 50 attached files.
Seedance 2.5 vs Kling 3.0
Kling 3.0 is strong when you need tiered quality, 4K options, and motion-control variants. Seedance 2.5 is more relevant when a single continuous 30-second shot, large reference packs, or prompt-driven editing are the limiting factors.
Seedance 2.5 API — Frequently asked questions
Pricing, license, integration — common questions about running Seedance 2.5 on WaveSpeedAI.
Is the Seedance 2.5 API available on WaveSpeedAI?
Yes. Seedance 2.5 is live in the WaveSpeedAI model catalog with text-to-video, image-to-video, video-edit, video-extend, and turbo endpoints, all served through the same WaveSpeedAI REST API flow with playground access, examples, and pay-as-you-go pricing.
How much does the Seedance 2.5 API cost?
Text-to-video and image-to-video start at $0.90 per 5 seconds at 480p and $1.80 per 5 seconds at 720p, prorated per second for any duration from 4 to 30 seconds. Video-edit bills $0.11 per second at 480p across input plus output duration. Turbo tiers offer faster, more affordable high-resolution output.
What is new in Seedance 2.5 compared with Seedance 2.0?
Seedance 2.5 extends single-shot generation from 15 to 30 seconds, raises reference capacity to 50 files (30 images, 10 videos, 10 audios), generates audio in 10+ languages, supports audio-only reference input, and makes video edits automatically follow the input duration and aspect ratio.
How do I integrate the Seedance 2.5 API?
Use the standard WaveSpeedAI prediction flow: authenticate with your API key, POST to the model endpoint (e.g. bytedance/seedance-2.5/text-to-video), poll the prediction result, and download the output video. Existing Seedance 2.0 integrations migrate by changing the model path.
What is the Seedance 2.5 API?
Seedance 2.5 is a ByteDance video generation model exposed as a REST API on WaveSpeedAI. ByteDance Seedance 2.5 API is live on WaveSpeedAI: 30-second single-shot video generation with native multilingual audio, up to 50 multimodal references, and precision video editing and extension — with text-to-video, image-to-video, video-edit, video-extend, and turbo endpoints. You can call it programmatically or try it from the playground linked above.
How do I call the Seedance 2.5 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/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 API cost?
Seedance 2.5 starts at $0.90 per run. 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 variants are available?
WaveSpeedAI hosts 8 live Seedance 2.5 endpoints: bytedance/seedance-2.5/text-to-video-turbo, bytedance/seedance-2.5/image-to-video-turbo, bytedance/seedance-2.5/image-to-video-spicy, bytedance/seedance-2.5/text-to-video, bytedance/seedance-2.5/video-extend, bytedance/seedance-2.5/video-edit-turbo, bytedance/seedance-2.5/video-edit, bytedance/seedance-2.5/image-to-video. Each variant has its own playground page and pricing.
Can I use Seedance 2.5 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 on WaveSpeedAI instead of going direct?
One API key + one billing account across Seedance 2.5 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.
About ByteDance
The team behind Seedance 2.5 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 on WaveSpeedAI
Free starter credits on signup. One API key across 1,000+ AI models from ByteDance and every other provider.