Skip to main content
Endpoint: POST https://fal.run/fal-ai/kling-video/o3/pro/reference-to-video Endpoint ID: fal-ai/kling-video/o3/pro/reference-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/kling-video/o3/pro/reference-to-video",
    arguments={},
    with_logs=True,
    on_queue_update=on_queue_update,
)
print(result)

Capabilities

  • Text prompt input
  • Duration control
  • Aspect ratio control

API Reference

Input Schema

prompt
string
Text prompt for video generation. Either prompt or multi_prompt must be provided, but not both.
multi_prompt
list<KlingV3MultiPromptElement>
List of prompts for multi-shot video generation.
start_image_url
string
Image to use as the first frame of the video.
end_image_url
string
Image to use as the last frame of the video.
image_urls
list<string>
Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.
elements
list<KlingV3ComboElementInput>
Elements (characters/objects) to include. Reference in prompt as @Element1, @Element2.
generate_audio
boolean
default:"false"
Whether to generate native audio for the video.
duration
DurationEnum
default:"5"
Video duration in seconds (3-15s). Default value: "5"Possible values: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
shot_type
string
default:"customize"
The type of multi-shot video generation. Default value: "customize"
aspect_ratio
AspectRatioEnum
default:"16:9"
The aspect ratio of the generated video frame. Default value: "16:9"Possible values: 16:9, 9:16, 1:1

Output Schema

video
File
required
The generated video.

Input Example

{
  "prompt": "@Element1 and @Element2 enters the scene from two sides. Elephant starts to play with the ball",
  "multi_prompt": null,
  "start_image_url": "https://v3b.fal.media/files/b/0a8d1b38/myilPNN_WYdJCmpTy4Sjr_6XNBi9Mm.png",
  "elements": [
    {
      "frontal_image_url": "https://v3b.fal.media/files/b/0a8d1b2e/yiHiZP1Now0V5JC5_OClE_PaKOtOGJ.png",
      "reference_image_urls": [
        "https://v3b.fal.media/files/b/0a8d1b1a/eZfSbcQ58EzD_l2SEbevg_F3U9GMLK.png"
      ]
    },
    {
      "frontal_image_url": "https://v3b.fal.media/files/b/0a8d1b19/_eIj7GjmI5zgQkMN936YJ_2f3hZ7Xb.png",
      "reference_image_urls": [
        "https://v3b.fal.media/files/b/0a8d1b3c/_ZE2iIjkb-Eun3WXXGP4x_TSG1ELBo.png"
      ]
    }
  ],
  "generate_audio": false,
  "duration": "8",
  "shot_type": "customize",
  "aspect_ratio": "16:9"
}

Output Example

{
  "video": {
    "content_type": "video/mp4",
    "file_name": "output.mp4",
    "file_size": 18468404,
    "url": "https://v3b.fal.media/files/b/0a8d1c8a/ZxdKrvPb3CQEmeuS-u_kU_output.mp4"
  }
}

Limitations

  • aspect_ratio restricted to: 16:9, 9:16, 1:1