Home
Features
  • AI Video Generator
  • AI Avatar
  • AI Long-to-Short
  • AI MixCut
  • AI Voiceover
  • AI Video Translator
  • AI Subtitle Remover
  • Ad Hunter
  • Works Center
View All Features
PricingSkill
Tools
Blog
Try for free
/

AI-powered video creation platform. Turn ideas into videos with AI chat, smart editing, and multi-platform distribution.

support@vibbit.ai

AI-Powered Tools

  • AI Video Scene Breakdown - Instant Detection
  • Extract Video Script - AI Speech to Text
  • BGM Recognition - Identify Music in Videos
  • AI Subtitle Removal - Clean Video Instantly
  • AI Avatar Video Generator - No Camera Needed
  • AI Text to Speech - Natural Voice Generator
  • Smart B-Roll - Remove Filler Words with AI
  • AI Video Voice-Over - Professional Narration

Comparisons

  • Vibbit vs VEED
  • Vibbit vs Kapwing
  • Vibbit vs CapCut
  • Vibbit vs Canva
  • Vibbit vs InVideo
  • Vibbit vs FlexClip
  • Vibbit vs Descript
  • Vibbit vs Pictory
  • Vibbit vs Synthesia
  • Vibbit vs HeyGen
  • Vibbit vs Opus Clip

Seedance 2.5

  • Prompt Gallery
  • How to Use
  • API Guide
  • Versions

GPT Image 2.5

Nano Banana 2

Blog

  • How to Turn Product Photos Into an AI Product Video
  • How to Add Subtitles to a Video Automatically with an Auto Subtitle Generator
  • How to Translate a Short Drama Into English and Dub It
  • How to Make Talking Videos Without Showing Your Face: AI Avatar Video Generator Guide
  • How to Turn One Winning Ad Into 10 Versions with AI Video Remake

Free Video Tools

  • Video Thumbnail Extractor - HD Quality
  • Free Video Converter - 20+ Formats Supported
  • Free Video Compressor - Reduce Size by 80%
  • Free Video Trimmer - Cut Videos in Seconds
  • Free Video to GIF Converter - No Watermark
  • Free Audio Extractor - Extract Audio Instantly
  • Video Speed Changer - 0.25x to 4x
  • Remove Audio from Video - One Click
  • Reverse Video Online - Free & Instant
  • Free Video Merger - Combine Videos Online
  • Rotate Video Online - 90°/180°/270°
  • Free Video Cropper - Custom Aspect Ratios
  • Add Watermark to Video - Text & Image

© 2026 Vibbit. All rights reserved.

Privacy PolicyTerms of Service
  1. Home
  2. /
  3. Seedance 2.5
  4. /
  5. Seedance 2.5 API

Seedance 2.5 API

Integrate ByteDance's Seedance 2.5 video generation model into your applications via the Volcengine API. This guide covers all endpoints, code examples in Python, cURL, and JavaScript, plus pricing and access options.

Updated: October 8, 2026

API Overview

Use the Volcengine Ark API with model ID doubao-seedance-2-5-260628. Create a generation task, then query its ID to check status and retrieve the result. Keep your API key on your server.

Seedance 2.5

2.5

Seedance 2.5 adds longer storytelling, more reference inputs, and more precise audio-video editing, including timestamp-based changes and green-screen workflows.

  • 480p / 720p / 1080p
  • Duration: 4–30s

Seedance 2.0 Fast

FAST

Previous-generation model for faster drafts; this is Seedance 2.0 Fast.

  • 480p / 720p
  • Duration: 4–15s
POST

Text to Video

Generate a video entirely from a text prompt. Supports resolution, duration, aspect ratio, and style parameters.

POST

Image to Video

Animate a static image into a video using a reference image and text prompt. Preserves visual style and character details.

POST

Video Editing

Modify specific elements in an existing video — replace subjects, add or remove objects, and repaint regions.

POST

Video Extension

Extend an existing video forward or backward with seamless continuity and consistent style.

GET

Task Query

Check the status of a generation task and retrieve the output video URL when complete.

API Capabilities

Text-to-Video Generation

Seedance 2.5 supports 480p, 720p, and 1080p output with synchronized audio. Generation duration is 4–30 seconds; available settings depend on the mode and platform.

Image-to-Video Animation

Combine up to 30 images, 10 video clips, and 10 audio clips in a generation. Use references to guide characters, composition, movement, and sound.

AI Video Editing

Programmatically edit existing videos — subject replacement, object add/remove, and region-specific repainting while maintaining original motion and camera work.

Video Extension & Continuation

Extend videos in either direction with seamless transitions. Forward generation creates preceding content, while track completion fills gaps for continuous storytelling.

Synchronized Audio Output

Native audio-video generation produces matched sound effects, lip-synced dialogue, and background music. Supports multi-language speech with various accents.

Reference inputs

Combine up to 30 images, 10 video clips, and 10 audio clips in a generation. Use references to guide characters, composition, movement, and sound.

Image reference

Guide characters, composition, and style.

Video reference

Guide movement and camera work.

Code Examples

Python

Python

Server-side example: create a text-to-video task, then query its status. Repeat the query until the task succeeds or fails.

import os
import requests

URL = "https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks"
headers = {"Authorization": f"Bearer {os.environ['ARK_API_KEY']}"}
response = requests.post(URL, headers=headers, json={
    "model": "doubao-seedance-2-5-260628",
    "content": [{"type": "text", "text": "A paper boat floats down a quiet stream at sunrise."}],
    "resolution": "1080p",
    "duration": 30,
    "ratio": "16:9",
    "generate_audio": True,
}, timeout=60)
response.raise_for_status()
task_id = response.json()["id"]
print("Task created:", task_id)

# Query again later if status is queued or running.
result = requests.get(f"{URL}/{task_id}", headers=headers, timeout=60)
result.raise_for_status()
task = result.json()
print("Status:", task["status"])
if task["status"] == "succeeded":
    print("Video:", task["content"]["video_url"])
elif task["status"] in ("failed", "expired"):
    print("Task ended:", task.get("error", task["status"]))

cURL

cURL

Server-side example: create a text-to-video task, then query its status. Repeat the query until the task succeeds or fails.

# Set ARK_API_KEY in your environment before running.
curl --fail-with-body "https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer $ARK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "doubao-seedance-2-5-260628",
  "content": [
    {
      "type": "text",
      "text": "A paper boat floats down a quiet stream at sunrise. Slow tracking shot, soft light."
    }
  ],
  "resolution": "1080p",
  "duration": 30,
  "ratio": "16:9",
  "generate_audio": true
}'

# Copy the returned id into TASK_ID, then query the task.
TASK_ID="replace-with-returned-id"
curl --fail-with-body \
  "https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks/$TASK_ID" \
  -H "Authorization: Bearer $ARK_API_KEY"
# status: queued / running / succeeded / failed / expired
# On success, the video URL is in content.video_url.

JavaScript

JavaScript

Server-side example: create a text-to-video task, then query its status. Repeat the query until the task succeeds or fails.

// Node.js server-side example. Keep ARK_API_KEY out of browser code.
const url = 'https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks';
const apiKey = process.env.ARK_API_KEY;
if (!apiKey) throw new Error('Set ARK_API_KEY before running this example');
const headers = { Authorization: `Bearer ${apiKey}` };
const response = await fetch(url, {
  method: 'POST',
  headers: { ...headers, 'Content-Type': 'application/json' },
  body: JSON.stringify({
    model: 'doubao-seedance-2-5-260628',
    content: [{ type: 'text', text: 'A paper boat floats down a quiet stream at sunrise.' }],
    resolution: '1080p',
    duration: 30,
    ratio: '16:9',
    generate_audio: true,
  }),
});
if (!response.ok) throw new Error(`Create failed: ${response.status}`);
const { id } = await response.json();
console.log('Task created:', id);

// Query again later if status is queued or running.
const result = await fetch(`${url}/${id}`, { headers });
if (!result.ok) throw new Error(`Query failed: ${result.status}`);
const task = await result.json();
console.log('Status:', task.status);
if (task.status === 'succeeded') console.log('Video:', task.content.video_url);
if (['failed', 'expired'].includes(task.status)) console.error(task.error ?? task.status);

API Pricing

Seedance 2.5 API pricing depends on which platform you use to access it. Here are the main options:

Volcengine (Official)

ByteDance's official cloud platform offers pay-as-you-go pricing based on video resolution, duration, and generation mode. Free trial credits are available for new accounts. Requires a Volcengine account and API key setup.

View Volcengine Pricing

Vibbit (Recommended)

Access Seedance 2.5 through Vibbit's user-friendly interface with no API setup required. Free tier includes trial credits for all generation modes. Paid plans offer higher quotas, priority generation, and commercial licensing.

Try Free on Vibbit

Skip the API Setup — Use Vibbit Instead

Don't want to deal with API keys, polling logic, and infrastructure? Vibbit gives you full access to Seedance 2.5 through a simple browser interface. Write your prompt, click generate, and download your video in minutes.

Start Creating on VibbitSeedance 2.5

Frequently Asked Questions

What is the Seedance 2.5 API?

The Seedance 2.5 API is a RESTful interface provided by ByteDance through the Volcengine cloud platform. It allows developers to programmatically generate AI videos from text prompts, images, video clips, and audio references. The API supports text-to-video, image-to-video, video editing, video extension, and task status queries.

How do I get access to the Seedance API?

Use the Volcengine Ark API with model ID doubao-seedance-2-5-260628. Create a generation task, then query its ID to check status and retrieve the result. Keep your API key on your server.

How much does the Seedance 2.5 API cost?

Pricing varies by platform. Volcengine offers pay-as-you-go pricing based on resolution, duration, and generation mode, with free trial credits for new users. Vibbit offers a free tier with trial credits and paid subscription plans for higher usage.

What are the API rate limits and quotas?

Rate limits depend on your account tier and platform. Volcengine sets per-minute and daily quotas based on your subscription level. Each video generation request is asynchronous — you submit the task and poll for completion, typically taking 1-3 minutes per video.

Can I use Seedance 2.5 without the API?

Yes! Vibbit provides a browser-based interface to access all Seedance 2.5 capabilities without writing any code. Simply visit app.vibbit.ai, type your prompt, upload reference media if needed, and click generate. It's the easiest way to use Seedance 2.5 for non-developers.

Updated: October 8, 2026 · Seedance 2.5 official documentation