Skip to main content
POST
https://llm.ai-nebula.com
/
v1
/
video
/
generations
Submit Video Task
curl --request POST \
  --url https://llm.ai-nebula.com/v1/video/generations \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "prompt": "<string>",
  "image": "<string>",
  "duration": 123,
  "resolution": "<string>",
  "aspect_ratio": "<string>"
}
'

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

Authorization
string
required
Bearer Token, e.g. Bearer sk-xxxxxxxxxx

Request Parameters

model
string
required
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
prompt
string
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
image
string
Reference image for image-to-video (supports Base64 or URL format)
duration
integer
default:"5"
Video duration (seconds), different models support different durations
resolution
string
default:"720p"
Video resolution: 480p, 720p, 1080p, 4k
aspect_ratio
string
default:"16:9"
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:
seconds
string|integer
default:"4"
Video duration (seconds), supports: 4, 8, 12
size
string
default:"720x1280"
Video resolution, supports: 720x1280 (portrait), 1280x720 (landscape)
input_reference
string
Reference image (supports URL or Base64 format), for image-to-video
remix_from_video_id
string
Remix mode: Regenerate based on existing video ID (must start with video_)

Usage Examples

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"
  }'
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"
}