Skip to main content
Pro and Basic share the same upstream endpoint; the Pro variant flips professional: true server-side and unlocks the resolution parameter. Pricing differs significantly from Basic — see the quickstart.

Endpoint

Async — returns {id, status: "pending"}; poll GET /v1/videos/generations/{id} until success or failed.

Parameters

string
required
Text prompt describing the desired motion or scene change. Audio cues in the prompt feed Sora 2’s synthesized audio track. Maximum 2000 characters — longer prompts are rejected with 400 invalid_request_error.
string[]
required
Exactly one source-image URL (PNG / JPEG, publicly accessible over HTTPS). Mapped to upstream image.
"4" | "8" | "12"
default:"\"4\""
Length of the generated clip in seconds.
"720p" | "1080p"
default:"\"720p\""
Output resolution. Pro unlocks 1080p; 720p is also available at the lower Pro price tier (see pricing).

Example — 720p

Example — 1080p

Poll until terminal:
Try it live in the Sora 2 Pro Playground.