Skip to content
LogoSeedance 2.0
  • Features
  • Pricing
  • Blog
  • API
  • Docs
LogoSeedance 2.0

Make AI SaaS in days, simply and effortlessly

Email
Product
  • Features
  • Pricing
  • FAQ
Resources
  • Blog
  • API
  • Documentation
Company
  • About
  • Contact
  • Waitlist
Legal
  • Cookie Policy
  • Privacy Policy
  • Terms of Service
© 2026 Seedance 2.0 All Rights Reserved.
MossAI Tools
Now Available

Integrate Seedance 2.0 video generation into your application

Build on top of Seedance 2.0, Seedance 2.0 Fast, and Seedance 1.5 Pro using REST endpoints hosted at www.seedance2.ink. The API follows an asynchronous job model and supports both pure text prompts and image-guided requests.

Get your API keyCreate account

Create your API key in the dashboard, send requests to https://www.seedance2.ink/api/open/v1, and use either polling or webhooks to receive results.

Integration in 3 steps
Get your API key, submit a generation job, and track the result.

1. Get your API key

Navigate to your dashboard after registration to generate your unique API key.

2. Submit a generation job

Send your prompt and media payload to the API, receive a requestId immediately.

3. Track status and fetch results

Poll the status endpoint to track progress and retrieve your generated video when ready.

Designed for real video generation workflows

Our public API is built on the same generation flow that powers the web application, now exposed through stable, developer-friendly endpoints.

Text-to-video and image-to-video
Send only a prompt for text-to-video, or attach one or more public media URLs for reference-driven generation.
Async generation
Submit once, receive a requestId immediately, and track progress through queued, processing, succeeded, failed, and cancelled states.
Transparent per-second pricing
Pricing is based on model, duration, and resolution. One credit equals $0.0125, and charges are shown directly in the API response.
Production-ready
API key authentication, predictable validation, optional webhook callbacks, and result URLs stored on our own infrastructure.

Simple, transparent pricing

Pricing is billed per second of generated video and varies by model and resolution.

Model480p720p1080p
Seedance 2.0$0.050/s$0.100/s$0.200/s
Seedance 2.0 Fast$0.040/s$0.080/s$0.160/s
Seedance 1.5 Pro$0.020/s$0.040/s$0.080/s

Example: a 5-second 720p Seedance 2.0 job costs $0.50, which is 40 credits at $0.0125 per credit.

POST /api/open/v1/video/generations
Create a generation request
The same endpoint supports both text-to-video and image-to-video. Provide mediaUrls only when you want to guide the generation with uploaded assets.
curl -X POST https://www.seedance2.ink/api/open/v1/video/generations \
  -H "Authorization: Bearer sd2_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0",
    "prompt": "A neon-lit alley in heavy rain, cinematic tracking shot",
    "mediaUrls": [
      "https://example.com/reference/start-frame.jpg"
    ],
    "aspectRatio": "16:9",
    "duration": 5,
    "resolution": "720p",
    "webhookUrl": "https://your-app.com/webhooks/seedance",
    "metadata": {
      "orderId": "demo_1001"
    }
  }'
GET /api/open/v1/video/generations/{requestId}
Check generation status
Query the task status with your requestId. When the job succeeds, the response includes the final hosted video URL.
curl https://www.seedance2.ink/api/open/v1/video/generations/req_1234567890 \
  -H "Authorization: Bearer sd2_live_your_api_key"

{
  "success": true,
  "requestId": "req_1234567890",
  "status": "succeeded",
  "model": "seedance-2.0",
  "prompt": "A neon-lit alley in heavy rain, cinematic tracking shot",
  "duration": 5,
  "aspectRatio": "16:9",
  "output": {
    "type": "video",
    "url": "https://pub-your-bucket.r2.dev/open-api-results/req_1234567890.mp4"
  },
  "error": null
}
How to get started
Everything you need for the first working integration is already available in the current API.
Base URL: https://www.seedance2.ink/api/open/v1
Use Authorization: Bearer sd2_live_... on every request.
Omit mediaUrls for text-to-video, or include public URLs for image-to-video and reference-based generations.
Use webhookUrl for completion callbacks, or poll GET /video/generations/:requestId until the job finishes.

Async status lifecycle

Every generation request is handled as an asynchronous task with a predictable lifecycle.

queued: the request has been accepted and is waiting for processing upstream.

processing: the model job is running and the final video is not ready yet.

succeeded / failed / cancelled: the task has finished, and you can fetch the final output or error payload.

Use polling for local development, or set webhookUrl when you want your application to receive completion callbacks automatically.

Supported request patterns

The current API surface is intentionally small: one create endpoint, one status endpoint, and one models endpoint.

Text to Video
Send prompt, aspectRatio, duration, and resolution. Leave mediaUrls empty.
Image to Video
Provide one public image URL in mediaUrls to guide the first frame and style.
Multiple References
Pass up to 5 public URLs in mediaUrls when you want more visual guidance in a single request.
Webhook Delivery
Add webhookUrl to your request if you want a server-to-server callback when the task finishes.

Ready to integrate AI video generation?

Start building with the Seedance 2.0 API today. Create an account, generate an API key, and make your first request at www.seedance2.ink.

Get startedContact us