Skip to main content
OpenAISlowUltra

OpenAI Sora 2

OpenAI's video generation model with realistic physics simulation and audio generation capabilities, producing highly coherent videos.

930 credits
per video
Realistic physics simulation
Audio generation support
Up to 20-second videos
Multiple resolution options (480p-1080p)
Image-to-video with start frame

Run it right now

Test this model instantly in the Console Playground โ€” no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "openai/sora-2",
  "input": {
    "prompt": "A glass marble rolls down a wooden ramp, bounces off the table edge, and splashes into a glass of water, slow motion, photorealistic",
    "duration": "10",
    "aspect_ratio": "16:9",
    "resolution": "1080p"
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
promptstringYes-Text description of the video to generate
openai_api_keystringNo-Optional: Your OpenAI API key. If you use your own OpenAI API key, you will be charged directly by OpenAI.
input_referencestringNo-An optional image to use as the first frame of the video. The image must be the same aspect ratio as the video.
secondsintegerNo4Duration of the video in seconds
4812
aspect_ratiostringNoportraitOutput aspect ratio
portraitlandscape

How to Provide File Input

There are 3 ways to provide files for the input_reference parameter:

Recommended

Direct Upload (Multipart)

Attach files directly to POST /v1/predictions/upload. No separate upload step needed.

curl -X POST "https://api.core.today/v1/predictions/upload" \
  -H "X-API-Key: cdt_your_api_key" \
  -F "model=openai/sora-2" \
  -F 'input={"prompt":"your prompt here"}' \
  -F "file:input_reference=@your_file.png"

Image URL

Pass a publicly accessible URL directly. You can also use file_url from the Storage API.

{
  "model": "openai/sora-2",
  "input": {
    "prompt": "your prompt here",
    "input_reference": "https://example.com/image.jpg"
  }
}
See the File Upload docs for more upload methods including Presigned URLs.

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

Physics Simulation

Realistic physics-based video

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "openai/sora-2",
  "input": {
    "prompt": "A glass marble rolls down a wooden ramp, bounces off the table edge, and splashes into a glass of water, slow motion, photorealistic",
    "duration": "10",
    "aspect_ratio": "16:9",
    "resolution": "1080p"
  }
}'

Urban Timelapse

Dynamic city timelapse video

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "openai/sora-2",
  "input": {
    "prompt": "Timelapse of a busy city intersection from sunset to night, car light trails, pedestrians moving quickly, cinematic wide angle",
    "duration": "15",
    "aspect_ratio": "16:9",
    "resolution": "720p"
  }
}'

Tips & Best Practices

1Sora excels at realistic physics interactions between objects
2Use longer durations for complex scene transitions
3Higher resolutions cost more credits proportionally
4Describe physical interactions explicitly for best results

Use Cases

Realistic scene generation
Physics-based animations
Long-form video content
High-resolution video production
Creative visual storytelling