RequestBeam Docs
Seedance 2.0 Video Generation
Seedance 2.0 text, first/last-frame, multimodal, and audio generation parameters.
https://api.requestbeam.com/v1/video/seedanceCreate an asynchronous Seedance 2.0 job. For Seedance 2.5, use its separate parameter reference.
Authentication
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonBody
modelstringrequiredseedance-2.0 or its alias seedance-2-0.
promptstringVideo prompt. Required for text-only generation; may be omitted or blank when image or video references are supplied. Audio alone is not a valid input. Text items inside metadata.content are discarded; only this top-level prompt is used.
secondsstringDefault: 5Integer string from "4" through "15". The numeric duration alias is also accepted. If both are supplied, they must agree. Automatic duration (-1) is not supported.
sizestringDefault: 720pOutput resolution: 480p, 720p, 1080p, or 4k. Not an aspect ratio. Resolution precedence: metadata.resolution, size, then resolution.
aspectRatiostringDefault: 16:916:9, 9:16, 1:1, 4:3, 3:4, 21:9, or adaptive. aspect_ratio and ratio are aliases; metadata.ratio takes precedence. Use one alias for each setting.
metadataobjectAccepts resolution, ratio, content, and generate_audio. Set generate_audio to a boolean to control generated audio. Top-level generateAudio / generate_audio are aliases; supply only one audio control.
imagesstring[]Image shorthand: the first image is the first frame and the second is the last frame. For precise roles, use metadata.content. Existing imageUrls, imageUrl, image_urls, and image_url aliases remain accepted with the same frame semantics.
imageWithRolesobject[]Images with url and role: first_frame, last_frame, or reference_image. image_with_roles is an alias. Both versions also accept typed metadata.content.
videoUrlsstring[]Reference videos. videoUrl, video_urls, and video_url are aliases.
audioUrlsstring[]Reference audio. audioUrl, audio_urls, and audio_url are aliases. Requires an image or video reference in the same request.
callback_urlstringOptional native callback URL. Availability depends on the selected channel; use GET https://api.requestbeam.com/v1/jobs/{jobId} as the authoritative result.
Multimodal Content
Each metadata.content media item contains its matching nested URL object. Media URLs may use public HTTP(S) URLs or existing asset:// identifiers.
| Type | URL field | Roles |
|---|---|---|
image_url | image_url.url | first_frame, last_frame, reference_image |
video_url | video_url.url | reference_video |
audio_url | audio_url.url | reference_audio |
Up to 9 images, 3 videos, and 3 audio files are accepted, including shorthand and typed content. Audio requires an image or video. draft_task is not supported. Use top-level prompt instead of type: "text" content items. Top-level first_frame_url, last_frame_url, reference_image_urls, reference_video_urls, and reference_audio_urls are role-specific shorthand. Unlisted fields inside content items are not forwarded.
Unsupported controls such as negativePrompt, seed, returnLastFrame, nsfwCheck, tools, webhook, watermark, outputFormat, and their snake-case aliases are rejected. width, height, fps, cfgScale, steps, and style are not supported.
Request Examples
Text-to-Video
{
"model": "seedance-2-0",
"prompt": "A quiet city street at dawn, slow forward camera movement",
"seconds": "5",
"size": "720p",
"metadata": {"ratio": "16:9", "generate_audio": true}
}First and Last Frames
{
"model": "seedance-2.0",
"seconds": "5",
"metadata": {
"resolution": "720p",
"ratio": "9:16",
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/first.jpg"}, "role": "first_frame"},
{"type": "image_url", "image_url": {"url": "https://example.com/last.jpg"}, "role": "last_frame"}
]
}
}Image and Audio References
{
"model": "seedance-2.0",
"prompt": "Animate the scene to match the rhythm",
"metadata": {
"resolution": "720p",
"generate_audio": true,
"content": [
{"type": "image_url", "image_url": {"url": "asset://existing-image-id"}, "role": "reference_image"},
{"type": "audio_url", "audio_url": {"url": "https://example.com/beat.mp3"}, "role": "reference_audio"}
]
}
}Submission and Result
Response data contains jobId, status, model, and message. Submission success means the job was accepted, not completed. Poll GET https://api.requestbeam.com/v1/jobs/{jobId} with the same account's API Key. See Get Async Job.
When status is COMPLETED, read data.outputResult. Accept both a string url and an array of URLs in each result object. Charges depend on actual completion tokens and output resolution; video references select the video-input rate, while image/audio-only references do not.