API reference · Sync Labs
sync/lipsync/react-1
Integrate this model through SandBase's unified API, with production-ready schemas and examples.
Production endpoint
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
POST
https://api.sandbase.ai/v1/runModel ID
sync/lipsync/react-101
Input Schema
6 parameters · 0 required · 6 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
audio | string | Optional | URL to the input audio. Must be **15 seconds or shorter**. |
video | string | Optional | URL to the input video. Must be **15 seconds or shorter**. |
emotion | string | Optional | Emotion prompt for the generation. Currently supports single-word emotions only. · Options: happy, angry, sad, neutral, disgusted, surprised happyangrysadneutraldisgustedsurprised |
model_mode | string | Optional | Controls 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 |
temperature | number | Optional | Controls the expresiveness of the lipsync. · Min: 0 · Max: 1 · Default: 0.5 |
lipsync_mode | string | Optional | Lipsync mode when audio and video durations are out of sync. · Options: cut_off, loop, bounce, silence, remap · Default: "bounce" cut_offloopbouncesilenceremap |
02
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom 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"
