- Seedance Blog: AI Video Tutorials & Guides
- Seedance 2.0 API: Documentation, Pricing & Quick Start Guide
Seedance 2.0 API: Documentation, Pricing & Quick Start Guide

Seedance 2.0 API: A Practical Guide for Developers
Quick Answer: The Seedance API lets developers integrate AI video generation into their apps via a simple REST interface. It is available through ByteDance's API platform with pay-per-use pricing. Full guide and code samples below.
Last Updated: March 2026
The Seedance 2.0 API lets developers integrate AI video generation directly into their applications. This guide covers what the API actually does, how it compares to alternatives, and how to get started.
What the Seedance 2.0 API Does
The Seedance 2.0 API gives you programmatic access to generate videos from text prompts and images. Instead of using the web interface, you submit generation jobs via HTTP requests, poll for completion, and retrieve video URLs.
Ready to try it yourself?
Free credits on signup. Plans from $20/month.
Core capabilities:
- Text-to-video generation (Seedance 2.0 model)
- Image-to-video generation (animate a reference image)
- Async job submission with status polling
- Output in MP4 format, 1080p HD
- Up to ~10 seconds per generation
What it does not do:
- No real-time streaming output (generation takes time)
- No built-in video editing
- No audio generation (unlike Google Veo 3)
- Generation queue times vary under load
Seedance API vs Competing APIs
Before building, it's worth comparing your options honestly.
| API | Output Quality | Audio | Pricing Model | Access |
|---|---|---|---|---|
| Seedance 2.0 | Strong (1080p) | ❌ No | Credits-based | Available now |
| Runway API | Cinematic | ❌ No | $0.05-0.10/sec | Developer access |
| Kling API | Good motion | ❌ No | Credits-based | Available |
| Google Veo 3 (Vertex) | Best quality | ✅ Yes | ~$0.35/sec | Google Cloud |
| Pika API | Lower quality | ❌ No | Credits-based | Limited |
When Seedance API makes sense:
- You want good quality without Google Cloud setup complexity
- You're building a product that needs reliable credits-based pricing
- You want access to multiple models in one API (Seedance 1.5 for speed, 2.0 for quality)
When to consider alternatives:
- Need highest possible quality → Google Veo 3 (Vertex AI)
- Need native audio generation → Google Veo 3
- Need advanced camera controls → Runway API
Getting Started
Step 1: Get Your API Key
Sign up at seedance.tv and navigate to your account settings. API access is available on paid plans starting at $9.9/month.
Store your API key as an environment variable — never hardcode it in source files:
export SEEDANCE_API_KEY="your-api-key-here"
Step 2: Submit a Generation Job
The API uses an asynchronous pattern: you submit a job and poll for completion.
import requests
import time
import os
API_KEY = os.environ["SEEDANCE_API_KEY"]
BASE_URL = "https://api.seedance.tv/v1"
def generate_video(prompt: str, model: str = "seedance-2.0"):
"""Submit a text-to-video generation job."""
response = requests.post(
f"{BASE_URL}/videos",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"prompt": prompt,
"model": model,
"aspect_ratio": "16:9",
"resolution": "1080p"
}
)
response.raise_for_status()
return response.json()["job_id"]
Step 3: Poll for Completion
def wait_for_completion(job_id: str, poll_interval: int = 5, timeout: int = 300):
"""Poll until the video generation completes."""
start_time = time.time()
while time.time() - start_time < timeout:
response = requests.get(
f"{BASE_URL}/videos/{job_id}",
headers={"Authorization": f"Bearer {API_KEY}"}
)
response.raise_for_status()
data = response.json()
status = data["status"]
if status == "completed":
return data["output_url"]
elif status == "failed":
raise Exception(f"Generation failed: {data.get('error', 'Unknown error')}")
# Still processing
print(f"Status: {status} ({int(time.time() - start_time)}s elapsed)")
time.sleep(poll_interval)
raise TimeoutError(f"Generation did not complete within {timeout} seconds")
# Usage
job_id = generate_video("A slow dolly shot through a neon-lit Tokyo street at night, rain reflections on wet pavement, cinematic 1080p")
video_url = wait_for_completion(job_id)
print(f"Video ready: {video_url}")
Step 4: Image-to-Video
For animating a reference image:
def generate_from_image(image_url: str, prompt: str):
"""Animate a reference image."""
response = requests.post(
f"{BASE_URL}/videos",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"prompt": prompt,
"model": "seedance-2.0",
"image_url": image_url,
"type": "image-to-video",
"aspect_ratio": "16:9"
}
)
response.raise_for_status()
return response.json()["job_id"]
Prompt Engineering for the API
The quality of your output depends heavily on prompt structure. Here are patterns that consistently work:
Good text-to-video prompt structure:
[Shot type], [Subject description], [Action/motion], [Environment], [Lighting], [Style]
Example:
Close-up tracking shot, woman walking through a sun-drenched olive grove, hair catching the breeze, warm afternoon light through leaves, cinematic shallow depth of field
Common mistakes that waste API credits:
Too vague:
A beautiful video
Too many competing elements:
A man and a woman and a dog at the beach and also a sunset and waves and mountains in the background
Missing motion description:
A coffee cup on a table
Better: A coffee cup on a wooden table, steam rising slowly, soft natural window light from the left, macro lens
Choosing the right model:
| Model | Use when | Credit cost |
|---|---|---|
seedance-2.0 |
Final output, client deliverables, brand video | Higher |
seedance-1.5 |
Drafting, iteration, testing concepts | Lower |
kling-3.0 |
Action scenes, character movement | Medium |
veo-3.1 |
Reference-heavy scenes, high detail | Medium |
Recommended workflow: Draft with seedance-1.5, refine prompt, then generate final with seedance-2.0. This cuts API costs during iteration.
Aspect Ratios
ASPECT_RATIOS = {
"landscape": "16:9", # YouTube, desktop, ads
"portrait": "9:16", # TikTok, Instagram Reels, Shorts
"square": "1:1", # Instagram posts
"cinema": "21:9" # Cinematic widescreen
}
Error Handling
def safe_generate(prompt: str, max_retries: int = 3):
"""Generate with retry logic for transient failures."""
for attempt in range(max_retries):
try:
job_id = generate_video(prompt)
return wait_for_completion(job_id)
except requests.HTTPError as e:
if e.response.status_code == 429:
# Rate limited — back off
wait = 30 * (attempt + 1)
print(f"Rate limited. Waiting {wait}s...")
time.sleep(wait)
elif e.response.status_code == 402:
raise Exception("Insufficient credits. Top up your account at seedance.tv")
else:
raise
except TimeoutError:
if attempt < max_retries - 1:
print(f"Timeout on attempt {attempt + 1}, retrying...")
else:
raise
raise Exception("Max retries exceeded")
Rate Limits and Credit Usage
- Rate limit: Varies by plan. Check your dashboard for current limits.
- Credits per generation: Depends on model, duration, and resolution. Dashboard shows live credit balance.
- Best practice for production: Implement a job queue rather than submitting many simultaneous requests. Staggered submissions avoid rate limit errors and are more cost-effective.
Use Cases This API Is Well-Suited For
Product video automation: E-commerce platforms generating video from product images at scale. Feed a product image + brand voice prompt → automated video clips for each SKU.
Social media pipelines: Scheduled content systems that generate a week's video content from an approved prompt list. Combine with a video queue tool for hands-off publishing.
Ad creative testing: Marketing tools that generate multiple visual interpretations of the same concept for A/B testing. Generate 5 variations of an ad concept in one batch.
Prototype generation: Design and product teams generating concept videos before committing to production. Far cheaper than traditional production for early-stage visualization.
Building a Simple Video Generation Pipeline
import json
from pathlib import Path
def batch_generate(prompts: list[dict], output_dir: str = "./videos"):
"""Generate multiple videos from a list of prompt configs."""
Path(output_dir).mkdir(exist_ok=True)
results = []
for i, config in enumerate(prompts):
print(f"Generating {i+1}/{len(prompts)}: {config['name']}")
try:
# Use fast model for drafts, premium for finals
model = "seedance-2.0" if config.get("final") else "seedance-1.5"
job_id = generate_video(config["prompt"], model=model)
url = wait_for_completion(job_id)
results.append({
"name": config["name"],
"url": url,
"status": "success"
})
print(f" ✓ {url}")
except Exception as e:
results.append({
"name": config["name"],
"error": str(e),
"status": "failed"
})
print(f" ✗ Failed: {e}")
# Small delay between submissions
time.sleep(2)
# Save results
with open(f"{output_dir}/results.json", "w") as f:
json.dump(results, f, indent=2)
return results
# Example usage
prompts = [
{"name": "hero-shot", "prompt": "...", "final": True},
{"name": "product-demo", "prompt": "...", "final": False},
]
results = batch_generate(prompts)
Frequently Asked Questions
Does Seedance 2.0 have an official public API?
Seedance offers API access as part of paid plans. Check the developer documentation on seedance.tv for current access details and endpoint specifications.
How does pricing work?
API usage draws from your credit balance. Different models cost different credit amounts per generation. Check your dashboard for current credit rates per model.
What is the generation time per video?
Typically 30 seconds to 3 minutes depending on model complexity and queue load. Seedance 1.5 is faster; Seedance 2.0 takes longer but produces higher quality.
Can I generate videos longer than 10 seconds?
Not with a single API call currently. For longer content, generate multiple clips and stitch them together in your application using a video processing library like moviepy or ffmpeg.
Is the output suitable for commercial use?
Check the current terms of service on seedance.tv for commercial licensing details. Generally, content generated on paid plans is licensed for commercial use.
How does the Seedance API compare to Runway's API?
Runway's API ($0.05-0.10/second) offers more advanced camera controls and the Gen-3 Alpha model. Seedance API uses credits-based pricing which is more predictable for budget planning. Runway wins on cinematic polish and camera control; Seedance wins on model variety and pricing clarity. For most developers, try both on your specific use case — results vary significantly by content type.
Start Building
Ready to integrate AI video into your application?
Sign up at Seedance → — get free credits to test the API, paid plans from $9.9/month.
- Text-to-Video playground — test prompts before building
- Image-to-Video playground — test image animation
- Seedance 2.0 model details — quality benchmarks and specs
Conclusion: Our Seedance Verdict
After extensive testing, our recommendation is clear: Seedance is one of the top AI video generators in 2025, particularly excelling at character consistency and smooth motion. For creators who need reliable, high-quality AI video generation, Seedance is a strong choice alongside Veo 3.
Best choice for: Narrative content, character-driven videos, marketing content, and social media creators who need consistent visual identity.
Bottom line: Seedance delivers professional-quality AI video generation with a generous free tier. We recommend starting with a free account and testing your first video today at seedance.tv.
Ready to try it yourself?
Put the steps from this guide into practice with Seedance and turn prompts or images into polished videos in minutes.
Free credits on signup. Plans from $20/month.
Related Articles
More posts in the same locale you may want to read next.

Best Text to Video AI Tools 2026: Free Options That Actually Work
Discover the best text to video AI tools in 2026 for creators, marketers, startups, and agencies, with practical guidance on strengths, tradeoffs, and use cases.
Read article
50+ Best AI Video Prompts You Can Copy and Paste (2026)
Collection of 50+ tested AI video prompts for cinematic, nature, fantasy, product, and social media videos. Copy, paste, generate.
Read article
AI Video Generator for Real Estate: Create Property Videos Without a Camera (2026)
How AI video generators are transforming real estate marketing in 2026. Learn workflows, tools, and strategies to create professional property videos using Seedance, Veo 3, and more.
Read article