Skip to main content
Endpoint: POST https://fal.run/fal-ai/sora-2/image-to-video Endpoint ID: fal-ai/sora-2/image-to-video

Try it in the Playground

Run this model interactively with your own prompts.

Quick Start

import fal_client

def on_queue_update(update):
    if isinstance(update, fal_client.InProgress):
        for log in update.logs:
           print(log["message"])

result = fal_client.subscribe(
    "fal-ai/sora-2/image-to-video",
    arguments={
        "prompt": "Front-facing 'invisible' action-cam on a skydiver in freefall above bright clouds; camera locked on his face. He speaks over the wind with clear lipsync: 'This is insanely fun! You've got to try it—book a tandem and go!' Natural wind roar, voice close-mic'd and slightly compressed so it's intelligible. Midday sun, goggles and jumpsuit flutter, altimeter visible, parachute rig on shoulders. Energetic but stable framing with subtle shake; brief horizon roll. End on first tug of canopy and wind noise dropping.",
        "image_url": "https://storage.googleapis.com/falserverless/example_inputs/sora-2-i2v-input.png"
    },
    with_logs=True,
    on_queue_update=on_queue_update,
)
print(result)

Input Schema

prompt
string
required
The text prompt describing the video you want to generate
resolution
ResolutionEnum
default:"auto"
The resolution of the generated video Default value: "auto"Possible values: auto, 720p
aspect_ratio
AspectRatioEnum
default:"auto"
The aspect ratio of the generated video Default value: "auto"Possible values: auto, 9:16, 16:9
duration
DurationEnum
default:"4"
Duration of the generated video in seconds Default value: "4"Possible values: 4, 8, 12, 16, 20
delete_video
boolean
default:"true"
Whether to delete the video after generation for privacy reasons. If True, the video cannot be used for remixing and will be permanently deleted. Default value: true
model
ModelEnum
default:"sora-2"
The model to use for the generation. When the default model is selected, the latest snapshot of the model will be used - otherwise, select a specific snapshot of the model. Default value: "sora-2"Possible values: sora-2, sora-2-2025-12-08, sora-2-2025-10-06
detect_and_block_ip
boolean
default:"false"
If enabled, the prompt (and image for image-to-video) will be checked for known intellectual property references and the request will be blocked if any are detected.
character_ids
list<string>
Up to two character IDs (from create-character) to use in the video. Refer to characters by name in the prompt. When set, only the OpenAI provider is used.
image_url
string
required
The URL of the image to use as the first frame

Output Schema

video
VideoFile
required
The generated video
video_id
string
required
The ID of the generated video
thumbnail
ImageFile
Thumbnail image for the video
spritesheet
ImageFile
Spritesheet image for the video

Input Example

{
  "prompt": "Front-facing 'invisible' action-cam on a skydiver in freefall above bright clouds; camera locked on his face. He speaks over the wind with clear lipsync: 'This is insanely fun! You've got to try it—book a tandem and go!' Natural wind roar, voice close-mic'd and slightly compressed so it's intelligible. Midday sun, goggles and jumpsuit flutter, altimeter visible, parachute rig on shoulders. Energetic but stable framing with subtle shake; brief horizon roll. End on first tug of canopy and wind noise dropping.",
  "resolution": "auto",
  "aspect_ratio": "auto",
  "duration": 4,
  "delete_video": true,
  "model": "sora-2",
  "detect_and_block_ip": false,
  "image_url": "https://storage.googleapis.com/falserverless/example_inputs/sora-2-i2v-input.png"
}

Output Example

{
  "video": {
    "content_type": "video/mp4",
    "url": "https://storage.googleapis.com/falserverless/example_outputs/sora_2_i2v_output.mp4"
  },
  "video_id": "video_123"
}

Limitations

  • resolution restricted to: auto, 720p
  • aspect_ratio restricted to: auto, 9:16, 16:9
  • duration restricted to: 4, 8, 12, 16, 20
  • model restricted to: sora-2, sora-2-2025-12-08, sora-2-2025-10-06
  • resolution restricted to: auto, 720p, 1080p, true_1080p