API reference · OpenAI

openai/sora-2/image-to-video/pro

Integrate this model through SandBase's unified API, with production-ready schemas and examples.

VIDEOAsyncOpen model
Production endpoint

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

POSThttps://api.sandbase.ai/v1/run
Model IDopenai/sora-2/image-to-video/pro
01

Input Schema

6 parameters · 2 required · 4 optional

ParameterTypeRequiredDescription
imagestringRequiredThe URL of the image to use as the first frame
promptstringRequiredThe text prompt describing the video you want to generate · Min length: 1 · Max length: 5000
durationintegerOptionalDuration of the generated video in seconds · Options: 4, 8, 12, 16, 20 · Default: 4
48121620
resolutionstringOptionalThe resolution of the generated video · Options: auto, 720p, 1080p, true_1080p · Default: "auto"
auto720p1080ptrue_1080p
aspect_ratiostringOptionalThe aspect ratio of the generated image. · Options: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16
21:916:93:24:35:41:14:53:42:39:16
character_idsstring[]OptionalUp to two character IDs (from create-character) to use in the video. Refer to characters by name in the prompt. When set, only the OpenAI provider is used.
02

Output Schema

FieldTypeDescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

Async Workflow

This model uses asynchronous execution. Submit a request and poll for the result.

  1. Submit — POST to /v1/run, receive an id
  2. Poll — GET /v1/run/{id} until status is completed, failed, or timeout
  3. Retrieve — Read outputs from the completed response
03

Code Examples

Ready-to-run snippets

# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "openai/sora-2/image-to-video/pro",
  "image": "https://static.sandbase.ai/examples/openai/sora-2/image-to-video/pro/input_image_0.png",
  "prompt": "Front-facing 'invisible' action-cam on a skydiver in freefall above bright clouds; camera locked on his face. He speaks over the wind with clear lipsync: 'This is insanely fun! You've got to try it—book a tandem and go!' Natural wind roar, voice close-mic'd and slightly compressed so it's intelligible. Midday sun, goggles and jumpsuit flutter, altimeter visible, parachute rig on shoulders. Energetic but stable framing with subtle shake; brief horizon roll. End on first tug of canopy and wind noise dropping.",
  "duration": 4,
  "resolution": "auto"
}'

# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
  -H "Authorization: Bearer YOUR_API_KEY"