Sora 2 Text to Video Pro
openai/sora-2/text-to-video/proSora 2 Pro by OpenAI - generate cinematic videos from text descriptions with AI. Create high-quality video content with natural motion, camera control, and optional audio generation.
- Base price
- $0.30USD / run
- Execution
- async
- Model type
- video
- Input fields
- 5
Try the model
Playground
Your output will appear here
Complete the inputs, then click Run.
Specifications
Pricing
- Base price
- $0.30 / run
- Billing formula
- params.resolution == "1080p_legacy" ? params.duration * 0.50 : params.resolution == "1080p_true" ? params.duration * 0.70 : params.duration * 0.30
Context & modalities
- Input
- Schema-defined
- Output
- video
Capabilities
- Chat
- Not supported
- Vision
- Not supported
- Reasoning
- Not supported
- Structured output
- Not supported
- Function calling
- Not supported
- Audio input
- Not supported
Access
- Provider
- OpenAI
- Model ID
- openai/sora-2/text-to-video/pro
- Execution
- async
- API
- Unified Run API
- Endpoint
- /v1/run
API README
Sora 2 Text To Video PRO
Sora 2 Text To Video PRO is the Sora 2 route for pro, turning the documented source inputs into a production-ready result while keeping the operation distinct from neighboring endpoints. Sora 2 Pro by OpenAI - generate cinematic videos from text descriptions with AI. Create high-quality video content with natural motion, camera control, and optional audio generation. The workflow is designed for creators who need the model’s specific transformation to remain visible in the request, so the source, intended change, and finished artifact can be reviewed as one coherent creative decision.
In practical use, this route exposes prompt, duration, resolution, aspect_ratio, character_ids to shape the exact deliverable. Those controls let a team preserve the important source constraints, state subject behavior or material treatment precisely, choose supported timing or output characteristics, and reproduce successful settings across alternate takes. The result fits an iterative pipeline: establish the core brief, compare controlled variations, then pass the selected asset into editorial, design, localization, visualization, or publishing work.
Highlights
- Route-specific creation. Use this exact route for pro with its documented input contract. This capability belongs to the exact
openai/sora-2/text-to-video/proworkflow. - Scene continuity. Maintain subjects, environments, and motion across the generated or remixed shot.
- Directable cinematography. Express action, camera movement, framing, pacing, and visual tone in the prompt.
- Resolution and timing choices. Select the documented duration and delivery format appropriate to this Sora 2 route.
Pricing
| Configuration | Price |
|---|---|
| Formula rate · standard/720p | $0.300000 per second |
| Formula rate · 1080p legacy | $0.500000 per second |
| Formula rate · true 1080p | $0.700000 per second |
| 4s · 720p standard | $1.20 |
| 4s · 1080p legacy | $2.00 |
| 4s · true_1080p | $2.80 |
| 8s · 720p standard | $2.40 |
| 8s · 1080p legacy | $4.00 |
| 8s · true_1080p | $5.60 |
| 12s · 720p standard | $3.60 |
| 12s · 1080p legacy | $6.00 |
| 12s · true_1080p | $8.40 |
| 16s · 720p standard | $4.80 |
| 16s · 1080p legacy | $8.00 |
| 16s · true_1080p | $11.20 |
| 20s · 720p standard | $6.00 |
| 20s · 1080p legacy | $10.00 |
| 20s · true_1080p | $14.00 |
When to Use
| Scenario | Why it fits |
|---|---|
| Exact workflow fit | Choose this route when the required deliverable is pro, rather than a related route with different source media. |
| Directed creative iteration | Use it when subject, motion, material, speech, framing, or finish should be expressed explicitly and compared across controlled variants. |
| Existing-asset continuity | Use it when supplied images, video, audio, references, or styles must remain the anchor for the generated result. |
| Repeatable production | Use it when successful inputs need to be saved and rerun across a campaign, asset set, localization pass, or batch. |
| Pipeline handoff | Use it when the returned artifact will move into editorial, compositing, visualization, review, storage, or publishing. |
Prompt Guide
Start with the source or subject, then describe the intended transformation, movement or behavior, camera and composition, and the desired finish. Keep media URLs reachable, use only fields documented for this exact route, and change one major control at a time when comparing results. For source-led tasks, describe what should change as well as what must remain recognizable.
{
"prompt": "A dramatic Hollywood breakup scene at dusk on a quiet suburban street. A man and a woman in their 30s face each other, speaking softly but emotionally, lips syncing to breakup dialogue. Cinematic lighting, warm sunset tones, shallow depth of field, gentle breeze moving autumn leaves, realistic natural sound, no background music",
"duration": 4,
"resolution": "1080p",
"aspect_ratio": "21:9"
}
Technical Specs
| Property | Value |
|---|---|
| Model ID | openai/sora-2/text-to-video/pro |
| Execution mode | async |
| Required inputs | prompt |
prompt | string |
duration | integer; options: 4, 8, 12, 16, 20; default: 4 |
resolution | string; options: 720p, 1080p, true_1080p; default: 1080p |
aspect_ratio | string; options: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 |
character_ids | array |
Related Models
openai/sora-2/image-to-video/proopenai/sora-2/video-to-video/remixopenai/sora-2/charactersopenai/sora-2/image-to-video
Start building
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"model": "openai/sora-2/text-to-video/pro",
"prompt": "A dramatic Hollywood breakup scene at dusk on a quiet suburban street. A man and a woman in their 30s face each other, speaking softly but emotionally, lips syncing to breakup dialogue. Cinematic lighting, warm sunset tones, shallow depth of field, gentle breeze moving autumn leaves, realistic natural sound, no background music",
"duration": 4,
"resolution": "1080p"
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
status=$(printf '%s' "$result" | jq -r .status)
case "$status" in completed|failed|timeout) break ;; esac
sleep 2
result=$(curl --fail-with-body --silent \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
"https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"Choose your model
Compare models
| Model | Context | Input / 1M | Output / 1M | Released |
|---|---|---|---|---|
Sora 2 Text to Video ProThis model OpenAI | — | — | — | Oct 6, 2025 |
OpenAI | — | — | — | Mar 12, 2026 |
OpenAI | — | — | — | Oct 8, 2025 |
OpenAI | — | — | — | Oct 6, 2025 |
OpenAI | — | — | — | Oct 6, 2025 |
OpenAI | — | — | — | Oct 6, 2025 |
