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.

600 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

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

llms.txt

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
image_urlstringNo-Starting frame image URL
durationintegerNo5Video duration in seconds (5, 10, 15, or 20)
5101520
aspect_ratiostringNo16:9Output aspect ratio
16:99:161:1
resolutionstringNo720pOutput resolution
480p720p1080p

How to Provide File Input

There are 3 ways to provide files for the image_url 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:image_url=@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",
    "image_url": "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