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

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/characters",
    arguments={
        "video_url": "",
        "name": ""
    },
    with_logs=True,
    on_queue_update=on_queue_update,
)
print(result)
import { fal } from "@fal-ai/client";

const result = await fal.subscribe("fal-ai/sora-2/characters", {
  input: {
      video_url: "",
      name: ""
    },
  logs: true,
  onQueueUpdate: (update) => {
    if (update.status === "IN_PROGRESS") {
      update.logs.map((log) => log.message).forEach(console.log);
    }
  },
});
console.log(result.data);
console.log(result.requestId);
curl --request POST \
  --url https://fal.run/fal-ai/sora-2/characters \
  --header "Authorization: Key $FAL_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "video_url": "",
  "name": ""
}'

Capabilities

  • Video input

API Reference

Input Schema

video_url
string
required
URL of an MP4 video (minimum 720p, max ~2.67:1 aspect ratio) to define the character. Videos exceeding 1080p are automatically scaled down. Non-standard aspect ratios are automatically padded to 16:9 (landscape) or 9:16 (portrait). Videos longer than 4 seconds are trimmed to the first 4 seconds.
name
string
required
Name for the character (1–80 characters). Refer to this name in prompts when using the character.

Output Schema

id
string
required
API character ID (format char_…). Use this in character_ids when generating video.
name
string
required
The character name

Input Example

{
  "video_url": "",
  "name": ""
}

Output Example

{
  "id": "char_123",
  "name": ""
}