Sora 2
openai/sora-2/image-to-videoSora 2 is OpenAI's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output.
- Base price
- $0.40USD / run
- Execution
- async
- Model type
- video
- Input fields
- 5
Try the model
Playground
PNG, JPEG, WebP, or GIF · 20 MiB maximum
Your output will appear here
Complete the inputs, then click Run.
Specifications
Pricing
- Base price
- $0.40 / run
- Billing formula
- params.duration * 0.10
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/image-to-video
- Execution
- async
- API
- Unified Run API
- Endpoint
- /v1/run
API README
Sora 2 Image To Video
Sora 2 Image To Video is built for cinematic video generation, with this exact route focused on source-image animation. Sora 2 is OpenAI's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. It is designed for production workflows that need a clearly scoped media operation instead of a generic assistant response, preserving the supplied direction while returning an artifact ready for review, iteration, or downstream assembly.
The request surface keeps creative direction and delivery choices explicit through prompt, duration, image_url, sync_mode, resolution, aspect_ratio. Teams can lock source material, describe the intended result, choose supported output controls, and rerun the same request structure across variations. This makes experiments easier to compare and larger pipelines easier to operate without hiding important decisions inside an opaque preset.
Highlights
- Source-Image Animation. The
openai/sora-2/image-to-videoroute is dedicated to source-image animation, keeping inputs and outputs matched to this operation. - Coherent Motion And Scene Continuity. Within
openai/sora-2/image-to-video, documented prompt and media controls direct coherent motion and scene continuity while keeping the brief close to the result. - Directable Visual Storytelling. The
openai/sora-2/image-to-videoresult provides directable visual storytelling in a machine-consumable form for review and downstream production. - Route-specific control. For
openai/sora-2/image-to-video, documented controls includeprompt,duration,image_url,sync_mode,resolution,aspect_ratio, defining the supported variation space for this exact route.
Pricing
| Configuration | Price |
|---|---|
| 4 seconds | $0.4000 |
| 8 seconds | $0.8000 |
| 12 seconds | $1.2000 |
| 16 seconds | $1.6000 |
| 20 seconds | $2.0000 |
| Base-price example | $0.4000 |
| Rate | $0.1 per second |
When to Use
| Scenario | Why it fits |
|---|---|
| Choose this route | When the deliverable is specifically source-image animation, not a neighboring generation or editing task. |
| Production iteration | When creative teams need repeatable coherent motion and scene continuity with an explicit request payload. |
| Automated pipelines | When directable visual storytelling must flow into review, storage, compositing, or publishing. |
| Controlled variations | When a stable brief should be rerun while changing only documented inputs. |
| Prototype to scale | When the same openai/sora-2/image-to-video contract should serve a single experiment and a larger batch later. |
Prompt Guide
Lead with the subject or source, then state the transformation, important spatial or temporal details, style, and finish. Supply only documented fields, keep media URLs reachable, and vary one control at a time when comparing outputs.
{
"prompt": "A directed creative request with subject, setting, style, motion, and finish.",
"image": "https://example.com/reference.jpg"
}
Technical Specs
| Property | Value |
|---|---|
| Model ID | openai/sora-2/image-to-video |
| Required inputs | prompt |
prompt | string |
duration | integer; options: 4, 8, 12, 16, 20; default: 4 |
image_url | string |
sync_mode | boolean; default: false |
resolution | string; options: auto, 720p; default: auto |
aspect_ratio | string; options: auto, 9:16, 16:9; default: auto |
delete_video | boolean; default: true |
character_ids | array |
safety_tolerance | string; default: 6 |
detect_and_block_ip | boolean; default: false |
Related Models
openai/sora-2/characters
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/image-to-video",
"image": "https://static.sandbase.ai/examples/openai/sora-2/image-to-video/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"
}
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 2This 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 |
