Skip to main content
POST
/
api
/
v1
/
client
/
job
/
CreateTask
Generate video using seedance2.0
curl --request POST \
  --url https://api.crun.ai/api/v1/client/job/CreateTask \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "model": "bytedance/seedance2-0-r2v",
  "callback_url": "https://your-domain.com/api/callback",
  "input": {
    "prompt": "[Image1] the boy wearing glasses and a blue T-shirt and the corgi from [Image2] sit on the lawn from [Image3] in a 3D cartoon style, with background audio based on [Audio1].",
    "reference_images": [
      "https://example.com/reference-image-1.png",
      "https://example.com/reference-image-2.png",
      "https://example.com/reference-image-3.png"
    ],
    "reference_audios": [
      "https://example.com/reference-audio-1.mp3"
    ],
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "duration": 8,
    "audio": true,
    "return_last_frame": false
  }
}
'
{
  "code": 200,
  "message": "success",
  "data": {
    "task_id": "task_12345678"
  }
}

Custom Uploaded Assets

Seedance 2.0 reference-to-video supports your own uploaded image, video, and audio assets.
  1. Upload the source material through Seedance Asset Upload API
  2. Query Seedance Asset Info API until Status becomes Active
  3. Pass the returned AssetId into reference_images, reference_videos, or reference_audios
These fields also support normal public URLs. For uploaded image, video, and audio materials, only URL upload is supported and Base64 is not supported.
If your reference images or videos contain real faces, it is recommended that you upload them to the material library for review first to improve the success rate of generation.

Request Example Using Uploaded Assets

{
  "model": "bytedance/seedance2-0-r2v",
  "callback_url": "https://your-domain.com/api/callback",
  "input": {
    "prompt": "[Image1] the boy wearing glasses and a blue T-shirt and the corgi from [Image2] sit on the lawn from [Image3] in a 3D cartoon style, with background audio based on [Audio1].",
    "reference_images": [
      "asset://asset-20260224185115-jtzz8",
      "asset://asset-20260224185203-r8k2m",
      "asset://asset-20260224185221-q6w7n"
    ],
    "reference_audios": [
      "asset://asset-20260224185411-k3n6x"
    ],
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "duration": 8,
    "audio": true,
    "return_last_frame": false
  }
}

Query Task Status

After submitting a task, use the unified query endpoint to check progress and retrieve results:

Get Task Info

Learn how to query task status and retrieve generation results
For production use, we recommend using the callback_url parameter to receive automatic notifications when generation completes, rather than polling the status endpoint.

Asset Upload

Upload custom assets before using them in Seedance requests

Asset Info

Wait until uploaded assets become active

Models Overview

Explore all available models

Common API

Check credits and account usage

Authorizations

x-api-key
string
header
required

All APIs require authentication via API Key.

Get API Key:

  1. Visit API Key Management Page to get your API Key

Usage: Add to request header:

x-api-key: YOUR_API_KEY

Note:

  • Keep your API Key secure and do not share it with others
  • If you suspect your API Key has been compromised, reset it immediately in the management page

Body

application/json
model
enum<string>
required

The model name to use for generation. Required field.

  • Must be bytedance/seedance2-0-r2v for this endpoint
Available options:
bytedance/seedance2-0-r2v
input
object
required

Input parameters for the reference-to-video generation task (Seedance 2.0). At least one of reference_images or reference_videos must be provided.

callback_url
string<uri>

Optional. Callback URL for receiving task completion notifications.

  • System will POST task status and results to this URL when generation completes
  • Callback payloads structure is consistent with the data object returned by the task status query
  • Your callback endpoint should accept POST requests with JSON payload containing results
  • It returns an HTTP 200 status code upon successful receipt
Example:

"https://your-domain.com/api/callback"

Response

Request successful

code
enum<integer>

Response status code

  • 200: Success - Request has been processed successfully
  • 401: Unauthorized - Authentication credentials are missing or invalid
  • 402: Insufficient Credits - Account does not have enough credits to perform the operation
  • 404: Not Found - The requested resource or endpoint does not exist
  • 422: Validation Error - The request parameters failed validation checks
  • 429: Rate Limited - Request limit has been exceeded for this resource
  • 455: Service Unavailable - System is currently undergoing maintenance
  • 500: Server Error - An unexpected error occurred while processing the request
  • 501: Generation Failed - Content generation task failed
  • 505: Feature Disabled - The requested feature is currently disabled
Available options:
200,
401,
402,
404,
422,
429,
455,
500,
501,
505
message
string

Response message, error description when failed

Example:

"success"

data
object