Browse ModelsOpenaiOpenai Sora 2 Image To Video

Openai Sora 2 Image To Video

Openai Sora 2 Image To Video

Playground

Try it on WavespeedAI!

OpenAI Sora 2 generates realistic image-to-video content with synchronized audio, improved physics, sharper realism and steerability. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

OpenAI Sora 2 Image-to-Video

Sora 2 Image-to-Video brings your images to life with OpenAI’s state-of-the-art video generation. Upload an image and describe the motion — watch as AI transforms your still photo into a dynamic, cinematic video with synchronized audio.


Why Choose This?

  • Image animation Transform any still image into smooth, realistic video with natural motion.

  • Physics-aware motion Learns contact, inertia, and momentum so objects move and collide believably.

  • Synchronized audio Generates matching audio — ambient sounds, dialogue, and sound effects.

  • Temporal consistency Stable identities, minimal flicker/ghosting, and clean frame-to-frame transitions.

  • Cinematic quality Natural camera movements, high-frequency detail, and professional-grade output.

  • Flexible duration Generate videos from 4 to 20 seconds.


Parameters

ParameterRequiredDescription
imageYesSource image to animate
promptYesDescribe the motion, action, and audio cues
durationNoVideo length: 4, 8, 12, 16, or 20 seconds

How to Use

  1. Upload your image — the still photo you want to animate.
  2. Write your prompt — describe the action, motion, camera movement, and audio.
  3. Set duration — choose 4, 8, 12, 16, or 20 seconds.
  4. Submit — generate, preview, and download your video.

Pricing

DurationCost
4 s$0.40
8 s$0.80
12 s$1.20
16 s$1.60
20 s$2.00

Billing Rules

  • Rate: $0.10 per second
  • Duration options: 4, 8, 12, 16, or 20 seconds

Best Use Cases

  • Photo animation — Bring still photos to life with realistic motion.
  • Product showcases — Animate product images for dynamic marketing.
  • Art animation — Transform illustrations and artwork into videos.
  • Social media content — Create eye-catching animated posts from images.
  • Storytelling — Build narratives from key visual moments.

Pro Tips

  • Be specific about motion in your prompt: “The kitten pounces toward the yarn” beats “kitten playing.”
  • Include audio cues in your prompt for better synchronized sound.
  • Higher resolution source images produce better results.
  • Describe camera movement if you want dynamic cinematography.
  • Start with shorter durations to test your prompt before generating longer videos.

Notes


Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/openai/sora-2/image-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "duration": 4
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
imagestringYes-The image for generating the output.
promptstringYes-The positive prompt for the generation.
durationintegerNo44, 8, 12, 16, 20The duration of the generated video in seconds.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.