Create Sora 2 Pro video
Submit text, image, or storyboard jobs, deduct credits immediately, and receive taskId.
Payload parameters
- Required. Use one of the supported model strings above.
- Required except for storyboard. Describe the scene you want to generate.
- Required for image-to-video. Base64 data URL with prefix "data:image/*;base64,".
- Optional. Public image URL if you prefer not to send base64.
- Optional. "landscape" or "portrait" (default landscape).
- Optional. "10"/"15"/"25" (25 is storyboard only).
- Optional (Pro text/image). "standard" or "high".
- Optional (text/image). Remove watermark flag, default true.
- Required for storyboard. Array of shots with scene and duration.
- Optional. Whether the result is public, default true.
Notes
- Supported models: sora-2-text-to-video, sora-2-image-to-video, sora-2-pro-text-to-video, sora-2-pro-image-to-video, sora-2-pro-storyboard.
- Credits are deducted on submit; failed jobs are refunded automatically.
- Storyboard mode requires the shots array.
Shots structure
Required for storyboard requests; each item defines a scene and duration.
[
{ "scene": "A cozy cafe at sunrise, warm light.", "duration": 7.5 }
]- scene: Description of the shot.
- duration: Seconds (supports decimals like 7.5).
Sample request
curl -X POST https://sora2-api.com/api/v1/video/sora-pro \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2-pro-text-to-video",
"prompt": "A cinematic tracking shot through a neon-lit street market at dusk.",
"aspectRatio": "landscape",
"nFrames": "10",
"size": "high",
"removeWatermark": true,
"isPublic": true
}'Sample response
{
"code": 0,
"message": "ok",
"data": {
"id": "task_1234567890",
"taskId": "task_1234567890"
}
}