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-i2v",
  "callback_url": "https://your-domain.com/api/callback",
  "input": {
    "prompt": "The dancer turns toward the camera and the silk dress flows naturally in the wind while the background city lights shimmer.",
    "img_urls": [
      "https://example.com/frame_start.png",
      "https://example.com/frame_end.png"
    ],
    "resolution": "720p",
    "aspect_ratio": "auto",
    "duration": 6,
    "audio": true,
    "return_last_frame": false
  }
}
'
{
  "code": 200,
  "message": "success",
  "data": {
    "task_id": "task_12345678"
  }
}

Custom Uploaded Assets

Seedance 2.0 image-to-video supports your own uploaded assets.
  1. Upload the source image through Seedance Asset Upload API
  2. Query Seedance Asset Info API until Status becomes Active
  3. Pass the returned AssetId into img_urls
img_urls also supports normal public image URLs. For uploaded image materials, only URL upload is supported and Base64 is not supported.
If your reference images 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-i2v",
  "callback_url": "https://your-domain.com/api/callback",
  "input": {
    "prompt": "The avatar turns toward the camera and walks forward naturally, with smooth cinematic motion and stable character consistency.",
    "img_urls": [
      "asset://asset-20260224185115-jtzz8",
      "asset://asset-20260224185203-r8k2m"
    ],
    "resolution": "720p",
    "aspect_ratio": "auto",
    "duration": 6,
    "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-i2v for this endpoint
Available options:
bytedance/seedance2-0-i2v
input
object
required

Input parameters for the image-to-video generation task (Seedance 2.0)

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