Sora 2 API
Model-specific Buble API parameters, modes, pricing, and examples for Sora 2.
Sora 2 API
Sora 2 is available as standard and Pro variants for narrative video, musical scenes, and reference-guided video generation.
Model keys
openai/sora-2— Sora 2openai/sora-2-pro— Sora 2 Pro
Supported modes and inputs
| Model | Mode | Label | Input requirements |
|---|---|---|---|
openai/sora-2 | text_to_video | Text to Video | Prompt max 2000 chars |
openai/sora-2 | reference_to_video | Reference to Video | Prompt max 2000 chars Images reference: 1-1 files, 10 MB, formats jpg, png, webp, jpeg |
openai/sora-2-pro | text_to_video | Text to Video | Prompt max 2000 chars |
openai/sora-2-pro | reference_to_video | Reference to Video | Prompt max 2000 chars Images reference: 1-1 files, 10 MB, formats jpg, png, webp, jpeg |
Options
| Model | Option | Default | Allowed values | Applies to |
|---|---|---|---|---|
openai/sora-2 | duration | 4s | 4s, 8s, 12s | All modes |
openai/sora-2 | aspect_ratio | landscape | landscape, portrait | All modes |
openai/sora-2-pro | duration | 4s | 4s, 8s, 12s | All modes |
openai/sora-2-pro | aspect_ratio | landscape | landscape, portrait | All modes |
openai/sora-2-pro | resolution | standard | standard, high | All modes |
Pricing
| Model | Pricing |
|---|---|
openai/sora-2 | 6 credits per second |
openai/sora-2-pro | 14 credits per second; option multipliers: resolution={"high":2,"standard":1} |
Production guidance
- Pass
modeexplicitly. - Use only option values listed above.
- Upload media with
POST /api/v1/filesbefore calling media-input modes. - Use the exact model key for the variant you want.
Example: text to video
curl https://buble.ai/api/v1/generations \
-H "Authorization: Bearer $BUBLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/sora-2",
"mode": "text_to_video",
"prompt": "A cinematic product launch shot with slow camera movement, premium lighting, and realistic motion",
"duration": "4s",
"aspect_ratio": "landscape"
}'Example: media-guided video
curl https://buble.ai/api/v1/generations \
-H "Authorization: Bearer $BUBLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/sora-2",
"mode": "reference_to_video",
"prompt": "Animate the source into a polished cinematic motion shot with natural camera movement",
"image_urls": ["https://example.com/reference.png"],
"duration": "4s",
"aspect_ratio": "landscape"
}'