API reference · Sync Labs

sync/lipsync/react-1

Integrate this model through SandBase's unified API, with production-ready schemas and examples.

IMAGEAsyncOpen model
Production endpoint

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

POSThttps://api.sandbase.ai/v1/run
Model IDsync/lipsync/react-1
01

Input Schema

6 parameters · 0 required · 6 optional

ParameterTypeRequiredDescription
audiostringOptionalURL to the input audio. Must be **15 seconds or shorter**.
videostringOptionalURL to the input video. Must be **15 seconds or shorter**.
emotionstringOptionalEmotion prompt for the generation. Currently supports single-word emotions only. · Options: happy, angry, sad, neutral, disgusted, surprised
happyangrysadneutraldisgustedsurprised
model_modestringOptionalControls the edit region and movement scope for the model. Available options: - `lips`: Only lipsync using react-1 (minimal facial changes). - `face`: Lipsync + facial expressions without head movements. - `head`: Lipsync + facial expressions + natural talking head movements. · Options: lips, face, head · Default: "face"
lipsfacehead
temperaturenumberOptionalControls the expresiveness of the lipsync. · Min: 0 · Max: 1 · Default: 0.5
lipsync_modestringOptionalLipsync mode when audio and video durations are out of sync. · Options: cut_off, loop, bounce, silence, remap · Default: "bounce"
cut_offloopbouncesilenceremap
02

Output Schema

FieldTypeDescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

Async Workflow

This model uses asynchronous execution. Submit a request and poll for the result.

  1. Submit — POST to /v1/run, receive an id
  2. Poll — GET /v1/run/{id} until status is completed, failed, or timeout
  3. Retrieve — Read outputs from the completed response
03

Code Examples

Ready-to-run snippets

# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "sync/lipsync/react-1",
  "audio": "https://static.sandbase.ai/examples/sync/lipsync/react-1/input_audio_1.mp3",
  "video": "https://static.sandbase.ai/examples/sync/lipsync/react-1/input_video_0.mp4",
  "emotion": "neutral",
  "model_mode": "face",
  "temperature": 0.5,
  "lipsync_mode": "bounce",
  "prompt": "a beautiful sunset over mountains"
}'

# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
  -H "Authorization: Bearer YOUR_API_KEY"