Documentation Index Fetch the complete documentation index at: https://docs.openai-nebula.com/llms.txt
Use this file to discover all available pages before exploring further.
Introduction
The submit video task API is used to create a new video generation task. Upon successful submission, it returns a task ID that you can use to query the task status.
Important Note : Video generation is an asynchronous task. You need to first submit a task to get a task ID, then poll the task status until it succeeds.
Authentication
Bearer Token, e.g. Bearer sk-xxxxxxxxxx
Request Parameters
Model identifier, supported models and features: Sora 2 Series :
sora-2 - Supports text-to-video, image-to-video, video-to-video (Remix mode)
Google Veo Series :
veo-3.0-fast-generate-001 - Text-to-video (first frame mode)
veo-3.1-fast-generate-preview - Text-to-video (first frame mode, first/last frame mode)
Ali Wanxiang Series :
wan2.5-t2v-preview - Text-to-video
wan2.5-i2v-preview - Image-to-video (first frame mode)
Doubao Seedance Series :
doubao-seedance-1-0-lite-t2v-250428 - Text-to-video
doubao-seedance-1-0-lite-i2v-250428 - Image-to-video (first frame mode, first/last frame mode, reference image mode)
doubao-seedance-1-0-pro-250528 - Text-to-video (first frame mode)
doubao-seedance-1-5-pro-251215 - Text-to-video, image-to-video (first frame mode, first/last frame mode), supports audio generation
doubao-seedance-1-5-pro-251215-noAudio - Text-to-video, image-to-video (first frame mode, first/last frame mode), no audio generation
Video generation prompt, describing scene actions and settings. Note : Doubao Seedance series models do not require this field, the prompt should be written directly in the text field of the metadata.content array
Reference image for image-to-video (supports Base64 or URL format)
Video duration (seconds), different models support different durations
Video resolution: 480p, 720p, 1080p, 4k
Aspect ratio: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive (adaptive, only supported by some models)
Model-Specific Parameters
Different models support different specific parameters. Below are detailed descriptions by model series:
Sora 2
Veo
Ali Wanxiang
Doubao Seedance
seconds
string|integer
default: "4"
Video duration (seconds), supports: 4, 8, 12
Video resolution, supports: 720x1280 (portrait), 1280x720 (landscape)
Reference image (supports URL or Base64 format), for image-to-video
Remix mode: Regenerate based on existing video ID (must start with video_)
Video duration (seconds), supports: 4, 6, 8
Aspect ratio, only supports: 16:9, 9:16
Resolution, supports: 720p, 1080p
First frame reference image (supports URL or Base64 format)
Last frame reference image (supports URL or Base64 format), only veo-3.1 series supports
Whether to generate synchronized audio. Fast models ignore this parameter and always include audio
personGeneration
string
default: "allow_all"
Person generation strategy: allow_all (all ages), allow_adult (adults only), dont_allow (no people)
Random seed for reproducing results
Number of videos generated each time, range: 1-4
Video duration (seconds), supports: 5, 10
Video resolution, supports: 480p, 720p, 1080p
Video size (t2v mode only), format: width*height, e.g. 1280*720
Whether to enable intelligent prompt expansion
Whether to generate synchronized audio with the video
Custom audio file URL (HTTPS format)
Random seed, range: 0-2147483647
Content array, must be placed in the metadata object. Must include text and optional images. Parameters are controlled through special markers in text prompts:
--rs or --resolution: Resolution (480p, 720p, 1080p)
--ratio: Aspect ratio (16:9, 9:16, 1:1, 4:3, 3:4, adaptive, note that doubao-seedance-1-0-lite-t2v-250428 does not support adaptive)
--dur or --duration: Duration (seconds, e.g. 5, 10)
--frames: Frame count (only 1.5 pro series supports). Either --frames or --dur can be used, frames takes priority over duration. If you want fractional-second videos, specify frames. Range: all integers within [29, 289] that match 25 + 4n where n is a positive integer
--fps or --framespersecond: Frame rate (e.g. 24, 30)
--seed: Random seed, integer in range [-1, 2^32-1]
--wm or --watermark: Watermark toggle (true, false)
--cf or --camerafixed: Fixed camera (true, false, only lite models support)
Model Feature Description :
1.0 lite/pro series : doubao-seedance-1-0-lite-t2v-250428, doubao-seedance-1-0-lite-i2v-250428, doubao-seedance-1-0-pro-250528
Supports basic video generation features
lite-i2v supports first/last frame mode and reference image mode
pro models support high resolution (720p/1080p)
1.5 pro series : doubao-seedance-1-5-pro-251215, doubao-seedance-1-5-pro-251215-noAudio
1.5-pro : Supports text-to-video and image-to-video (first frame mode, first/last frame mode), automatically generates matching audio
1.5-pro-noAudio : Same features as 1.5-pro, but does not generate audio , faster video rendering
Resolution support : Only supports 480p and 720p (does not support 1080p)
Duration support : Any integer between 4-12 seconds (e.g. 4, 5, 6, 7, 8, 9, 10, 11, 12)
Image-to-video modes : Supports first frame mode and first/last frame mode (does not support reference image mode)
metadata.content array format :{
"metadata" : {
"content" : [
{
"type" : "text" ,
"text" : "Prompt content --ratio 16:9 --dur 5 --rs 720p --wm false"
},
{
"type" : "image_url" ,
"image_url" : {
"url" : "data:image/png;base64,..."
},
"role" : "first_frame" // Optional: first_frame, last_frame, reference_image
}
],
"return_last_frame" : true , // Whether to return the last frame (1.5 Pro series)
"callback_url" : "https://your-domain.com/callback" // Optional callback URL
}
}
Usage Examples
Sora 2
Veo
Ali Wanxiang
Doubao Seedance
1. Text-to-Video (Basic Example) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "A cute little cat playing in the garden, sunny and warm",
"seconds": "4",
"size": "720x1280"
}'
2. Text-to-Video (Landscape, 8 seconds) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "A cute little cat playing in the garden, sunny and warm",
"seconds": "8",
"size": "1280x720"
}'
3. Image-to-Video (First Frame Mode) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "A cute little cat playing in the garden, sunny and warm",
"seconds": "4",
"size": "720x1280",
"input_reference": "data:image/png;base64,iVBORw0KGgoAAxxxx..."
}'
4. Remix Mode (Video-to-Video) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Change the video to a night scene with stars",
"seconds": "4",
"size": "720x1280",
"remix_from_video_id": "video_69095b4ce0048190893a01510c0c98b0"
}'
1. Text-to-Video (Basic Example) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1-fast-generate-preview",
"prompt": "Aerial view of a sci-fi city at dawn, sunlight piercing through clouds",
"durationSeconds": 8,
"aspectRatio": "16:9",
"resolution": "1080p",
"fps": 24
}'
2. Image-to-Video (First Frame Mode) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1-fast-generate-preview",
"prompt": "Generate video based on this image, scene gradually unfolds",
"durationSeconds": 8,
"aspectRatio": "16:9",
"resolution": "1080p",
"fps": 24,
"image": "data:image/png;base64,iVBORw0KGgoAAxxxx..."
}'
3. Image-to-Video (First/Last Frame Mode, only veo-3.1 supports) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1-fast-generate-preview",
"prompt": "Transition from first image to second image",
"durationSeconds": 8,
"aspectRatio": "16:9",
"resolution": "1080p",
"fps": 24,
"image": "data:image/png;base64,iVBORw0KGgoAAxxxx...",
"lastFrame": "data:image/png;base64,iVBORw0KGgoAAyyyy..."
}'
1. Text-to-Video (Basic Example) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.5-t2v-preview",
"prompt": "A kitten slowly opens its eyes, ears gently twitch, camera slowly pushes in",
"duration": 5,
"size": "1280*720",
"smart_rewrite": true,
"generate_audio": true
}'
2. Text-to-Video (10 seconds, 1080p, with Random Seed) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.5-t2v-preview",
"prompt": "A kitten slowly opens its eyes, ears gently twitch, camera slowly pushes in",
"duration": 10,
"size": "1920*1080",
"smart_rewrite": false,
"generate_audio": false,
"seed": 123456
}'
3. Image-to-Video (First Frame Mode) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.5-i2v-preview",
"prompt": "Kitten slowly opens its eyes, ears gently twitch, camera slowly pushes in",
"duration": 5,
"resolution": "720p",
"smart_rewrite": true,
"generate_audio": true,
"image": "data:image/png;base64,iVBORw0KGgoAAxxxx..."
}'
4. Image-to-Video (with Custom Audio) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.5-i2v-preview",
"prompt": "Kitten slowly opens its eyes, ears gently twitch, camera slowly pushes in",
"duration": 10,
"resolution": "1080p",
"smart_rewrite": false,
"generate_audio": false,
"audio_url": "https://example.com/audio.mp3",
"image": "data:image/png;base64,iVBORw0KGgoAAxxxx...",
"seed": 789012
}'
1. Text-to-Video (T2V, Basic Example) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-1-0-lite-t2v-250428",
"metadata": {
"content": [
{
"type": "text",
"text": "A cute kitten playing in a garden, sunny day --ratio 16:9 --dur 5 --rs 720p --wm false"
}
]
}
}'
2. Text-to-Video (T2V, Full Parameters) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-1-0-lite-t2v-250428",
"metadata": {
"content": [
{
"type": "text",
"text": "A cute kitten playing in a garden, sunny day --ratio 9:16 --dur 10 --rs 1080p --fps 30 --wm true --seed 12345"
}
]
}
}'
3. Image-to-Video (First Frame Mode) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-1-0-lite-i2v-250428",
"metadata": {
"content": [
{
"type": "text",
"text": "A girl opens her eyes and looks gently at the camera --ratio adaptive --dur 5 --rs 720p --wm false"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAxxxx..."
}
}
]
}
}'
4. Image-to-Video (First/Last Frame Mode, lite-i2v and 1.5 pro support) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-1-0-lite-i2v-250428",
"metadata": {
"content": [
{
"type": "text",
"text": "A blue-green jingwei bird transforms into human form --rs 720p --dur 5 --fps 24 --cf false --wm false --seed 67890"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAxxxx..."
},
"role": "first_frame"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAyyyy..."
},
"role": "last_frame"
}
]
}
}'
5. Image-to-Video (Reference Image Mode, only lite-i2v supports) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-1-0-lite-i2v-250428",
"metadata": {
"content": [
{
"type": "text",
"text": "[图1] A boy wearing glasses and blue T-shirt and [图2] corgi dog, sitting on [图3] lawn, 3D cartoon style --rs 720p --dur 5 --ratio 16:9 --wm false"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/ref1.png"
},
"role": "reference_image"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/ref2.png"
},
"role": "reference_image"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/ref3.png"
},
"role": "reference_image"
}
]
}
}'
6. Pro Model (First Frame Mode) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-1-0-pro-250528",
"metadata": {
"content": [
{
"type": "text",
"text": "A girl opens her eyes and looks gently at the camera --ratio 16:9 --dur 5 --rs 1080p --wm false"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAxxxx..."
}
}
]
}
}'
7. Seedance 1.5 Pro Text-to-Video (with Audio) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-1-5-pro-251215",
"metadata": {
"content": [
{
"type": "text",
"text": "A cute kitten chasing butterflies in a garden, spring sunlight on flowers --ratio 16:9 --dur 6 --rs 720p --wm false"
}
]
}
}'
8. Seedance 1.5 Pro Image-to-Video (First Frame Mode, without Audio) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-1-5-pro-251215-noAudio",
"metadata": {
"content": [
{
"type": "text",
"text": "The scene gradually comes to life, person smiles and looks into the distance --ratio 16:9 --dur 5 --rs 720p --wm false"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAxxxx..."
}
}
]
}
}'
9. Seedance 1.5 Pro Image-to-Video (First/Last Frame Mode, with Audio) curl -X POST "https://llm.ai-nebula.com/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-1-5-pro-251215",
"metadata": {
"content": [
{
"type": "text",
"text": "Smooth transition from static scene to dynamic scene --ratio 16:9 --dur 8 --rs 720p --wm false"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAxxxx..."
},
"role": "first_frame"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAyyyy..."
},
"role": "last_frame"
}
]
}
}'
Important Notes (Doubao Seedance Series) :
The content array must be placed in the metadata object
All parameters are passed through special markers in the prompt text (e.g. --ratio 16:9)
Images must be placed in the content array using the image_url type
First/last frame mode requires two images, marked with role: "first_frame" and role: "last_frame" respectively
Reference image mode requires using markers like [图1], [图2] in the prompt to reference images, with images marked role: "reference_image"
doubao-seedance-1-0-lite-t2v-250428 does not support image input and adaptive aspect ratio
doubao-seedance-1-0-pro-250528 only supports first frame mode
doubao-seedance-1-5-pro-251215 automatically generates audio , suitable for scenes requiring background music
doubao-seedance-1-5-pro-251215-noAudio does not generate audio , faster rendering, suitable for scenes requiring post-production audio
1.5 pro series supports text-to-video and image-to-video (first frame mode, first/last frame mode), does not support reference image mode
1.5 pro series resolution limit : Only supports 480p and 720p (does not support 1080p)
1.5 pro series duration range : Supports any integer between 4-12 seconds
First/last frame mode : Requires providing two images, marked with role: "first_frame" and role: "last_frame" respectively
Response Example
{
"task_id" : "video_69095b4ce0048190893a01510c0c98b0" ,
"status" : "submitted" ,
"format" : "mp4"
}
Query Video Task Query video generation task status and results
Download Video Download completed video files (Sora 2 only)