YepAPI
AI Models

Sora 2 Pro

OpenAI's most advanced video generation with synced audio. Up to 1080p resolution, 4-20 second durations.

POST/v1/media/queue
$0.60–$1.40/sec

Overview

OpenAI's highest-quality video generation with synced audio. Supports up to 1080p resolution for production-grade footage. Async operation — submit a job, poll for completion.

PropertyValue
Model IDopenai/sora-2-pro
Upstream Modelsora-2-pro
ProviderOpenAI (direct)
Resolutions720p, 1024p, 1080p
Aspect Ratios16:9 (landscape), 9:16 (portrait)
Duration4, 8, 12, 16, or 20 seconds
BillingPer-second (dynamic, by resolution)
Pricing$0.60/sec (720p), $1.00/sec (1024p), $1.40/sec (1080p)

Usage

All media models use the async job queue. Submit a job, then poll for the result.

Step 1: Submit Job

Text-to-Video

const res = await fetch('https://api.yepapi.com/v1/media/queue', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'openai/sora-2-pro',
    prompt: 'Wide aerial drone shot soaring over a bioluminescent bay at night, waves crashing against rocky cliffs',
    options: {
      aspectRatio: '16:9',
      resolution: '1080p',
      duration: '8',
    },
  }),
});
const { data } = await res.json();
// data.jobId — use this to poll for results
curl -X POST https://api.yepapi.com/v1/media/queue \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "openai/sora-2-pro", "prompt": "Wide aerial drone shot soaring over a bioluminescent bay at night", "options": {"aspectRatio": "16:9", "resolution": "1080p", "duration": "8"}}'

Image-to-Video

Pass a reference image via imageData to generate a video from a still image.

const res = await fetch('https://api.yepapi.com/v1/media/queue', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'openai/sora-2-pro',
    prompt: 'Bring this image to life — slow camera pan, ambient particles floating, cinematic lighting',
    options: { aspectRatio: '16:9', resolution: '1080p', duration: '8' },
    imageData: {
      mimeType: 'image/jpeg',
      base64: '...', // Base64-encoded image
    },
  }),
});

Step 2: Poll for Result

const status = await fetch(`https://api.yepapi.com/v1/media/status/${data.jobId}`, {
  headers: { 'x-api-key': 'YOUR_API_KEY' },
});
const { data: job } = await status.json();
// job.status — "pending" | "processing" | "completed" | "failed"
// job.result.video — { mimeType, base64 } when completed
curl https://api.yepapi.com/v1/media/status/JOB_ID \
  -H "x-api-key: YOUR_API_KEY"

Request Body

ParameterTypeRequiredDescriptionDefault
modelstringYesopenai/sora-2-pro or alias sora-pro
promptstringYesText description of the video to generate
options.aspectRatiostringNo16:9 or 9:1616:9
options.resolutionstringNo720p, 1024p, or 1080p720p
options.durationstringNo4, 8, 12, 16, or 20 (seconds)8
imageData.mimeTypestringNoMIME type of input image (image/png, image/jpeg, image/webp)
imageData.base64stringNoBase64-encoded input image for image-to-video generation

Pricing

ResolutionCost/sec
720p$0.60
1024p$1.00
1080p$1.40

Example: 8-second 1080p video = 8 x $1.40 = $11.20. An 8-second 720p video = 8 x $0.60 = $4.80.

Info

Videos can take up to 10 minutes to generate. Results retained for 1 hour.

Under the Hood

Powered by OpenAI's Sora 2 Pro directly. 100% margin on upstream costs.

On this page