HappyHorse 1.0 Coming SoonLearn More

Sora 2 API

Meet Sora 2, OpenAI's flagship video-and-audio generation model. It creates more physically accurate, realistic scenes with stronger control, and can generate synchronized dialogue and sound effects. Use Sora 2 on EvoLink to bring short, cinematic stories to life for marketing, education, and creative teams.
Model Type:

Price: $0.085(~ 5.76 credits) per second of video

Highest stability with guaranteed 99.9% uptime. Recommended for production environments.

Use the same API endpoint for all versions. Only the model parameter differs.

123 (suggested: 2,000)

Upload reference images

Click to upload or drag and drop

Supported formats: JPG, JPEG, PNG, WEBP
Maximum file size: 10MB; Maximum files: 10

Uploaded image pixels must exactly match the selected aspect_ratio

How to handle aspect ratio mismatch when using input images

Click Generate to see preview

History

Max 20 items

0 running · 0 completed

Your generation history will appear here

Sora 2 API for realistic video with sound

Use the Sora 2 API to turn text into short videos with synchronized dialogue and sound effects, plus stronger instruction following and more realistic motion.

Cinematic showcase of AI video generation feature 1

Pricing

Sora 2
Video Generation
duration:4s
Price:
$0.339/ video
(23.04 Credits)
Sora 2
Video Generation
duration:8s
Price:
$0.678/ video
(46.08 Credits)
Sora 2
Video Generation
duration:12s
Price:
$1.016/ video
(69.12 Credits)

If it's down, we automatically use the next cheapest available—ensuring 99.9% uptime at the best possible price.

What can you build with the Sora 2 API?

Synchronized text-to-video with audio

Use the Sora 2 API to create short videos where dialogue, music, and sound effects align with the visuals. Write a clear prompt, choose size and seconds, and receive a cohesive clip instead of stitched audio. This is ideal for ads, trailers, and social posts where timing matters for marketing teams and creators.

Audio showcase of AI video generation feature 2

Storyboard-ready scenes and product shots

Build storyboards, product showcases, and explainer visuals with the Sora 2 API. You can provide an optional input_reference image as the first frame to keep the look consistent across variants. This helps teams create on-brand clips quickly while iterating on messaging and call-to-action timing. It works well for landing pages, in-app tours, and product launches.

Storyboard showcase of AI video generation feature 3

Physics-aware motion and realism

Use the Sora 2 API for motion that feels grounded. OpenAI reports improved physics accuracy and realism, so objects move more naturally and scenes hold together over time. This makes the model useful for education clips, product demos, and visual explanations where believable motion builds trust. It reduces the need for heavy manual cleanup in post.

Motion showcase of AI video generation feature 4

Why teams choose the Sora 2 API on EvoLink

Sora 2 API on EvoLink follows OpenAI's documented video generation workflow with clear policy guardrails.

Transparent Usage Pricing

The API reference defines allowed models, clip durations, and output sizes for video generation, so teams can standardize requests and plan usage consistently.

Safe Production Defaults

OpenAI's Sora usage policies require consent for real people and prohibit impersonation or harmful content, giving teams clear boundaries for compliant workflows.

Single Endpoint Access

The video guide shows a single POST /videos workflow with optional input_reference for a first frame, which simplifies integration and keeps creative control in one request.

How to integrate the Sora 2 API

Generate your first Sora 2 API clip in minutes by following the official video generation flow with EvoLink's API key and routing.

1

Step 1 - Authenticate & Choose Model

Authenticate with your EvoLink key and choose sora-2 or sora-2-pro based on quality and cost needs for each project.

2

Step 2 - Prompt, Size, and Seconds

Send a prompt describing subject, style, and action, plus optional input_reference, size, and seconds parameters for the clip you want. The API accepts seconds 4, 8, or 12 and sizes 720x1280, 1280x720, 1024x1792, or 1792x1024. If you include an image, match the target resolution and use JPEG, PNG, or WebP.

3

Step 3 - Retrieve and Publish

Poll for completion, then download the video file with audio and publish or edit it in your workflow immediately.

Sora 2 API capabilities

Highlights from OpenAI's Sora 2 release and official docs (Sep 30, 2025)

Audio

Synchronized audio generation

OpenAI describes Sora 2 as a general-purpose video-audio system that can create speech, background soundscapes, and sound effects with strong realism. This helps clips feel complete without separate audio tooling.

Realism

Physics-aware realism

OpenAI reports better physics accuracy and more realistic motion in Sora 2, which helps scenes hold together over time. This is useful for demos, education visuals, and product storytelling that depend on credibility.

Control

Multi-shot instruction following

Sora 2 can follow intricate instructions across multiple shots while keeping world state consistent. That means fewer continuity breaks when you describe sequences or camera changes.

Inputs

Image reference first frame

The video generation guide supports an input_reference image that becomes the first frame. The image must match the target size, and supported formats include JPEG, PNG, and WebP.

Style

Style range

OpenAI highlights that Sora 2 excels at realistic, cinematic, and anime styles. You can guide style with clear prompt cues to match your brand or campaign tone.

Safety

API guardrails

The video generation guide lists guardrails such as under-18 suitable content only, no real people, and rejection of copyrighted characters or music. Input images with human faces are also rejected.

Sora 2 API - Frequently Asked Questions

Everything you need to know about the product and billing.

The Sora 2 API is OpenAI's video generation API that turns text prompts into short video clips and can produce synchronized audio. It supports an asynchronous workflow: you submit a request, then fetch the finished video when it completes. The API is accessed through EvoLink, which routes requests to OpenAI while you manage keys and usage in one place. It follows OpenAI safety policies, so avoid real people and copyrighted characters. Use it for ads, product demos, and visual explanations where believable motion and consistent style matter.
OpenAI lists specific size options for the Sora 2 API. For sora-2, the listed sizes are 720x1280 and 1280x720. For sora-2-pro, the listed sizes include 720x1280, 1280x720, 1024x1792, and 1792x1024. These cover vertical and horizontal formats for mobile and desktop use. You choose size in the API request. If you provide an input_reference image, match the image resolution to the selected size to avoid stretching. If you need other aspect ratios, you may need to crop or pad in post. Always confirm supported sizes in the latest OpenAI docs before building templates.
The API reference lists two model options: sora-2 and sora-2-pro, and both use the same Sora 2 API workflow. OpenAI describes Sora 2 Pro as a higher quality option in the Sora app, so it can be a good choice when you need the best fidelity. Sora 2 is the default model for general use and quick iteration. The practical way to decide is to run a small batch of prompts on both models and compare visual quality and timing for your target use case.
OpenAI's Sora 2 system card highlights synchronized dialogue and sound effects, which means the Sora 2 API can output video with audio that matches what happens on screen. In practice, the exact audio quality depends on the prompt and the scene you describe. Some teams still add music or voiceover in post for branding, but Sora 2 provides a strong base track for timing and ambience. Audio behavior can change as the model and API evolve, so review the latest docs. Check your outputs and keep safety policies in mind.
The video generation guide lists API guardrails: only content suitable for audiences under 18, copyrighted characters and copyrighted music are rejected, real people (including public figures) cannot be generated, and input images with human faces are rejected. OpenAI usage policies also prohibit impersonation or harassment and require consent to depict real individuals. Build prompts and reference assets with these rules in mind, and review the latest policy updates before you ship. Review updates regularly. If your use case involves real people or branded IP, you should not use the Sora 2 API for that content.
Yes. The video generation guide supports an input_reference image file that becomes the first frame of your video. Include it in the POST /videos request, and make sure the image resolution matches the target size. Supported formats are image/jpeg, image/png, and image/webp. This is useful for anchoring brand assets or a specific environment so subsequent frames stay consistent. If your workflow needs strict layout control, start with a clean reference image and keep prompts aligned with it.
Generation time depends on model choice, seconds requested, size, and current queue load. The Sora 2 API is asynchronous: you submit a request, then poll for completion before downloading the result. For production, build in retries and timeouts, and surface progress in your UI. If you need a predictable SLA, test typical prompts during your expected traffic windows and track average completion times. EvoLink simply routes the request, so timing is driven by OpenAI capacity. This is also why shorter clips are a common starting point for iteration.
Usage rights for Sora 2 API outputs follow OpenAI's terms and policies, which can vary by plan and region. EvoLink does not change those terms; it simply routes requests. Before using outputs commercially, review the latest OpenAI usage policies, content policy, and any platform-specific rules that apply to your industry. If you are producing client work, document your prompts and outputs for auditability and keep a record of the policy version you relied on. When in doubt, consult legal counsel for licensing questions.
The Beta version is experimental: lower cost, but not 100% guaranteed availability. If you hit this error: 1. Wait and retry: it usually recovers in 5-10 minutes. 2. Switch to the official version: change model ID from sora-2-beta-max to sora-2-preview. The official version provides 99.9% uptime
POST
/v1/videos/generations

Create Video

Sora 2 Preview (sora-2-preview) supports text-to-video, image-to-video and more.

Asynchronous processing mode, use the returned task ID to .

Generated video links are valid for 24 hours, please save them promptly.

Important Notes

  • Sora2 has very strict content moderation, tasks may fail due to this.
  • Real person images are not supported.

Request Parameters

modelstringRequiredDefault: sora-2-preview

Video generation model name.

Examplesora-2-preview
promptstringRequired

Prompt describing the video to generate, max 5000 tokens.

ExampleA cat playing piano
aspect_ratiostringOptionalDefault: 16:9

Video aspect ratio. Supports both ratio format (`16:9`, `9:16`) and pixel format (`1280x720`, `720x1280`).

ValueDescription
16:9Landscape video (16:9)
9:16Portrait video (9:16)
1280x720Landscape video (1280×720)
720x1280Portrait video (720×1280)
Example16:9
durationintegerOptionalDefault: 4

Video duration (seconds), default `4`.

ValueDescription
44 seconds duration
88 seconds duration
1212 seconds duration (Higher Cost)
Notes
  • Longer duration costs more
Example4
image_urlsarrayOptional

Reference image URLs for image-to-video.

Notes
  • Real person images not supported
  • Max 1 image per request
  • Max size: 10MB
  • Formats: .jpg, .jpeg, .png, .webp
  • Image pixel dimensions must exactly match the selected aspect_ratio
  • Image URL must be directly accessible by server
Examplehttp://example.com/image1.jpg
callback_urlstringOptional

HTTPS callback URL for task completion.

Notes
  • Triggered when task is completed, failed, or cancelled
  • Sent after billing confirmation
  • HTTPS only, private IPs not allowed
  • Max length: 2048 chars
  • Timeout: 10s, Max 3 retries (at 1s/2s/4s intervals)
Examplehttps://your-domain.com/webhooks/video-task-completed

Request Example

{
  "model": "sora-2-preview",
  "prompt": "A cat playing piano"
}

Response Example

{
  "created": 1757169743,
  "id": "task-unified-1757169743-7cvnl5zw",
  "model": "sora-2-preview",
  "object": "video.generation.task",
  "progress": 0,
  "status": "pending",
  "task_info": {
    "can_cancel": true,
    "estimated_time": 300,
    "video_duration": 4
  },
  "type": "video",
  "usage": {
    "billing_rule": "per_call",
    "credits_reserved": 7,
    "user_group": "default"
  }
}