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
API Reference
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 for the character (1–80 characters). Refer to this name in prompts when using the character.
Output Schema
API character ID (format char_…). Use this in character_ids when generating video.
{
"video_url" : "" ,
"name" : ""
}
Output Example
{
"id" : "char_123" ,
"name" : ""
}