GET

/v1/schemas/fal/video/fal-ai/sync-lipsync/v3

kind inputactivity videohash 317f3ef4…extracted Oct 22, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
15b7ee2d29220ab82833cd31606d0ac2dd580b6ecdc6fd857a7077ccd5f7b603
{
  "fetchedAt": 1792645225,
  "extractorVersion": "1",
  "verifiedAt": null
}

Request body

5 properties · 2 required · 2 $defs
propertytypedescriptionconstraints
audio_url*stringURL of the input audio
video_url*stringURL of the input video
optionsSync3GenerationOptionsAdditional Sync.so generation options. If options.sync_mode is set, it overrides the top-level sync_mode field.nullable
sync_modeenumLipsync mode when audio and video durations are out of sync.cut_off | loop | bounce | silence | remap · default: "cut_off"
enable_safety_checkerbooleandefault: true

Types

2 $defs

Sync3ActiveSpeakerDetectionobject

coordinatesinteger[]Reference point [x, y] on the speaker's face in frame_number.items ≥ 2 · items ≤ 2 · nullable
auto_detectbooleanWhether to automatically detect and apply generation to the active speaker.nullable
bounding_boxes_urlstringURL to a JSON file containing per-frame bounding boxes.nullable
v3booleanWhether to use Sync.so's active speaker detection v3.nullable
face_imagestringBase64 encoded face image for manual speaker selection.nullable
use_v2booleanDeprecated Sync.so option for active speaker detection v2.nullable
frame_numberintegerFrame index for manual speaker selection coordinates.n ≥ 0 · nullable
bounding_boxesinteger[][]Per-frame bounding boxes [x1, y1, x2, y2] for the detected face.nullable

Sync3GenerationOptionsobject

temperaturenumberControls how expressive lipsync can be; 0 is least expressive, 1 is most expressive. Sync.so handles this natively for sync-3, so this option is ignored by sync-3.0 ≤ n ≤ 1 · nullable
active_speaker_detectionSync3ActiveSpeakerDetectionActive speaker detection configuration for videos with multiple people.nullable
occlusion_detection_enabledbooleanWhether to detect occlusion during generation. Sync.so handles this automatically for sync-3, so this option is ignored by sync-3.nullable
promptenumEmotion prompt for generation. This is a Sync.so option primarily used by react-1.happy | sad | angry | disgusted | surprised | neutral · nullable
sync_modeenumDefines how to handle duration mismatches between video and audio inputs. Overrides the top-level sync_mode when provided.cut_off | loop | bounce | silence | remap · nullable
model_modeenumEdit region for the model. This is a Sync.so option primarily used by react-1.lips | face | head | lipsync | emotion | talking_head · nullable

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"fal","endpointId":"fal-ai/sync-lipsync/v3","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}