Create video
OpenAI Sora video generation API in a compatible format. Supports text-to-video and image/video reference generation modes.
POST /v1/videos: Create video taskGET /v1/videos/{video_id}: Query task statusGET /v1/videos/{video_id}/content: Retrieve the video binary content
Currently not available externally:
GET /v1/videosPOST /v1/videos/{video_id}/remix
Standard authentication headers:
Content-Type: application/json
- Use
POST /v1/videosto create a task and obtainid - Poll
GET /v1/videos/{id}untilcompletedorfailed - After completion, prefer using
video_urlreturned in the response - For unified download, call
GET /v1/videos/{id}/content
Core parameters:
model: string: Required, public model nameprompt: string: Recommended, video generation descriptionseconds: number|string: Optional, target durationduration: number|string: Optional, duration aliassize: string: Optional, output resolutionmode: string: Optional, common values:t2vi2vi2v_first_lastreference_material
Common compatibility parameters:
aspect_ratioratioqualityresolutionfpsimageimage_urlimage_urlsimagesreference_imagesinput_referenceend_image_urllast_image_urlvideo_urlsaudio_urlsfunction_modecontentcallback_urlexternal_task_id
Kling common extended parameters:
model_namenegative_promptcfg_scalesoundcamera_controlimage_listvideo_idtask_idwatermark_info
4.1 Veo series
Note: stable, official, and similar labels indicate different groups, not external model suffixes; when calling, keep model as the base model name, and let the account or token group determine which group is actually used.
Veo 3.x main model
veo3veo3-fastveo3-fast-framesveo3-framesveo3-proveo3-pro-framesveo3.1veo3.1-fastveo3.1-proveo3.1-componentsveo3.1-4kveo3.1-pro-4k
Recommendations:
- For text-to-video only, prefer the
veo3*/veo3.1*base models - For image-to-video or reference-to-video scenarios, it is recommended to explicitly pass
mode + image_url/reference_images
4.2 Sora series
Base models:
sora-2sora-2-pro
Recommendations:
sora-2*is suitable for general-purpose use- To use groups such as
stable/official, keepmodelas the base model name and do not append any suffix to the model name.
4.3 Seedance series
Public model:
doubao-seedance-1-0-lite-t2v-250428doubao-seedance-1-0-lite-i2v-250428doubao-seedance-1-0-pro-250528doubao-seedance-1-0-pro-fast-251015doubao-seedance-1-5-pro-251215doubao-seedance-2-0-260128doubao-seedance-2-0-fast-260128
Recommendations:
- For text-to-video, prefer
*-t2v-*orpro / fast - For image-to-video, prefer
*-i2v-* - For scenarios with complex reference materials, prefer
content
4.4 Grok video series
Public model:
grok-imagine-1.0-videogrok-imagine-video-1.5-previewgrok-video-3
Common parameters:
promptratio/aspect_ratioresolution/sizeseconds/durationimage/image_url/input_referencereference_images
Example:
{
"model": "grok-imagine-1.0-video",
"prompt": "雨夜霓虹街道上的电影感推镜,光影丰富,运动自然",
"reference_images": [
"https://example.com/ref-1.jpg"
],
"seconds": 10,
"aspect_ratio": "16:9",
"resolution": "720P"
}
4.5 Kling video main model
Public base model:
kling-video
Required:
modelmodel_name
Supported model_name:
kling-v1kling-v1-5kling-v1-6kling-v2-masterkling-v2-1kling-v2-1-masterkling-v2-5-turbokling-v2-6kling-v3
Common mode:
t2vi2vmulti_i2vextend
Minimum input parameters:
- Text-to-video:
model + model_name + prompt + mode=t2v - Image-to-video:
model + model_name + prompt + mode=i2v + image - Multi-image reference:
model + model_name + prompt + mode=multi_i2v + image_list - Video extension:
model + model_name + mode=extend + video_id
Example:
{
"model": "kling-video",
"model_name": "kling-v2-6",
"mode": "t2v",
"prompt": "海边日落镜头,电影感,风吹长发",
"duration": 5,
"aspect_ratio": "16:9"
}
-
mode=t2v -
Minimum input:
model + prompt -
mode=i2v -
Minimum input:
model + prompt + image_url -
mode=i2v_first_last -
Minimum input:
model + prompt + image_url + end_image_url -
mode=reference_images -
Minimum input:
model + prompt + reference_images -
mode=reference_material -
Minimum input:
model + prompt + (image_urls/video_urls/audio_urls 至少一种)
Gemini Omni usage instructions
gemini-omniis the publicly exposed video model name of new-api, and can be called directly viaPOST /v1/videos.mode=t2v: text-to-video, with the minimum input parameter beingmodel + prompt.mode=r2v: reference image/reference material generation; images can be placed inimage,image_url,images,image_urls,reference_images,input_reference, orcontent.mode=edit: video editing; videos can be placed invideo,video_url,videos, orcontent, and reference images can also be provided at the same time.- The duration field can use
secondsorduration, and will be automatically mapped to the 4 / 6 / 8 / 10 second options.
Authorizations
Use Bearer Token authentication.
Format: Authorization: Bearer sk-xxxxxx
Body
Required, external model name. gemini-omni Can be called via /v1/videos.
sora-2, sora-2-pro, gemini-omni, happyhorse-1.0, happyhorse-1.0-i2v, happyhorse-1.0-t2v, happyhorse-1.0-r2v, happyhorse-1.0-video-edit, doubao-seedance-1-0-lite-i2v-250428, doubao-seedance-1-0-lite-t2v-250428, doubao-seedance-1-0-pro-250528, doubao-seedance-1-0-pro-fast-251015, doubao-seedance-1-5-pro-251215, doubao-seedance-2-0-260128, doubao-seedance-2-0-fast-260128, veo3, veo3-fast, veo3-fast-frames, veo3-frames, veo3-pro, veo3-pro-frames, veo3.1, veo3.1-4k, veo3.1-components, veo3.1-fast, veo3.1-pro, veo3.1-pro-4k, kling-video, grok-imagine-1.0-video, grok-imagine-video-1.5-preview, grok-video-3, viduq3-turbo, hailuo-video "sora-2"
Unified prompt entry point. Required for most models.
Single image entry point; will be mapped to images in certain compatibility modes.
Unified duration parameter. Some models also accept seconds.
Video width
512
Video height
512
Video frame rate
30
Random seed
20231234
Number of videos to generate
1
Response format
"url"
User identifier
"user-1234"
Dynamic extension field container. Numerous model-specific fields are deserialized from here.
Optional, video generation mode. gemini-omni Supports t2v, r2v, and edit.
Unified multi-image entry point. Used by Vidu, Seedance, Veo, etc.
Unified size input, which maps to resolution/aspect_ratio and related fields.
Sora compatibility entry point; at runtime, it falls back to duration.
Sora/Veo compatible reference image input, can be a multipart file or a compatible object.
Response
Video task created successfully
Should use VideoStatus constants: VideoStatusQueued, VideoStatusInProgress, VideoStatusCompleted, VideoStatusFailed
queued, in_progress, completed, failed, video_url, url, completed_at Legacy compatibility; to be deprecated
