- Third-party
ByteDance's compact, cost-efficient video generation model from the Seedance 2.0 family. Supports text-to-video, image-to-video, reference video, and reference audio for background music. Ideal for high-volume workloads where speed and cost matter.
| Model Info | |
|---|---|
| More information | link ↗ |
| Pricing | View pricing in the Cloudflare dashboard ↗ |
const response = await env.AI.run(
'bytedance/seedance-2.0-mini',
{
prompt:
'A cat sitting on a windowsill watching raindrops fall on the glass, cozy interior lighting',
aspect_ratio: '16:9',
duration: 5,
resolution: '720p',
},
)
console.log(response)curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "bytedance/seedance-2.0-mini",
"input": {
"prompt": "A cat sitting on a windowsill watching raindrops fall on the glass, cozy interior lighting",
"aspect_ratio": "16:9",
"duration": 5,
"resolution": "720p"
}
}'{
"state": "Completed",
"result": {
"video": "https://examples.aig.cloudflare.com/bytedance/seedance-2.0-mini/simple-video.mp4"
},
"gatewayMetadata": {
"keySource": "Unified"
}
}Image to Video — Generate video from a reference image
const response = await env.AI.run(
'bytedance/seedance-2.0-mini',
{
image: 'https://ark-doc.tos-ap-southeast-1.bytepluses.com/doc_image/r2v_tea_pic1.jpg',
prompt: 'The scene slowly comes to life with gentle movement',
aspect_ratio: '16:9',
duration: 5,
resolution: '720p',
},
)
console.log(response)curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "bytedance/seedance-2.0-mini",
"input": {
"image": "https://ark-doc.tos-ap-southeast-1.bytepluses.com/doc_image/r2v_tea_pic1.jpg",
"prompt": "The scene slowly comes to life with gentle movement",
"aspect_ratio": "16:9",
"duration": 5,
"resolution": "720p"
}
}'{
"state": "Completed",
"result": {
"video": "https://examples.aig.cloudflare.com/bytedance/seedance-2.0-mini/image-to-video.mp4"
},
"gatewayMetadata": {
"keySource": "Unified"
}
}Portrait Video with Audio — Vertical video for social media
const response = await env.AI.run(
'bytedance/seedance-2.0-mini',
{
prompt: 'A steaming coffee cup on a marble table, morning light streaming through a window',
aspect_ratio: '9:16',
duration: 5,
resolution: '720p',
generate_audio: true,
},
)
console.log(response)curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "bytedance/seedance-2.0-mini",
"input": {
"prompt": "A steaming coffee cup on a marble table, morning light streaming through a window",
"aspect_ratio": "9:16",
"duration": 5,
"resolution": "720p",
"generate_audio": true
}
}'{
"state": "Completed",
"result": {
"video": "https://examples.aig.cloudflare.com/bytedance/seedance-2.0-mini/portrait-video-with-audio.mp4"
},
"gatewayMetadata": {
"keySource": "Unified"
}
}Virtual Avatar Reference — Use a virtual character avatar from the trusted asset library
const response = await env.AI.run(
'bytedance/seedance-2.0-mini',
{
image: 'https://ark-doc.tos-ap-southeast-1.bytepluses.com/doc_image/r2v_tea_pic1.jpg',
prompt: 'The scene gently animates with subtle motion',
aspect_ratio: '16:9',
duration: 5,
resolution: '720p',
use_virtual_avatar: true,
},
)
console.log(response)curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "bytedance/seedance-2.0-mini",
"input": {
"image": "https://ark-doc.tos-ap-southeast-1.bytepluses.com/doc_image/r2v_tea_pic1.jpg",
"prompt": "The scene gently animates with subtle motion",
"aspect_ratio": "16:9",
"duration": 5,
"resolution": "720p",
"use_virtual_avatar": true
}
}'{
"state": "Completed",
"result": {
"video": "https://examples.aig.cloudflare.com/bytedance/seedance-2.0-mini/virtual-avatar-reference.mp4"
},
"gatewayMetadata": {
"keySource": "Unified"
}
}prompt
stringrequiredmaxLength: 2000Text prompt describing the video to generateimage
stringReference image (HTTP(S) URL or base64 data URI) for image-to-videoreference_video
stringReference video (HTTP(S) URL or base64 data URI) for style/motion guidancelast_frame_image
stringReference image (HTTP(S) URL or base64 data URI) for last-frame guidance. Only works if an image start frame is also given.▶reference_images[]
arraymaxItems: 4Reference images (1-4, HTTP(S) URLs or base64 data URIs) to guide video generation for characters, avatars, clothing, or environments. Cannot be used with first/last frame images.duration
integerrequireddefault: 5minimum: 4maximum: 12Video duration in secondsresolution
stringrequireddefault: 720penum: 480p, 720pVideo resolutionaspect_ratio
stringrequireddefault: 16:9enum: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, 9:21Video aspect ratio. Ignored if an image is used.fps
numberrequireddefault: 24const: 24Frame rate (frames per second)camera_fixed
booleanrequireddefault: falseWhether to fix camera positiongenerate_audio
booleanWhether to generate audio with the videowatermark
booleanrequireddefault: falseWhether to add a watermark to the output videoseed
integerminimum: -9007199254740991maximum: 9007199254740991Random seed for reproducible generationuse_virtual_avatar
booleanrequireddefault: falseRoute image reference inputs (image, reference_images, last_frame_image) through ByteDance's trusted virtual avatar asset library before generation. Intended for AI-generated/virtual character avatars that would otherwise be blocked by face or deepfake detectionreference_audio
stringReference audio (HTTP(S) URL or base64 data:audio/... URI) to use as background music. Must be accompanied by a reference image or video.video
stringformat: uriURL to the generated video