Avatars, lip-sync and character animation
Make talking avatars, put new lines on existing footage and animate photos with POST /v1/videos. InfiniteTalk, LatentSync and Wan Animate 2, priced per output second.
On this page
All four avatar models create tasks with POST /v1/videos; status and download work as in Video generation. You pay per output second, and the length comes from your input audio or video. Failed and cancelled tasks are free.
| Model | Input | Output | Good for |
|---|---|---|---|
infinitetalk |
image (portrait) or video (one person), plus input_audio (speech or song) |
The person speaks or sings | Presenters, product videos, explainers |
latentsync |
video (one person, clear face) + input_audio (speech) |
Same footage with only the mouth redrawn, using your audio | New lines, dubbing |
latentsync-music |
video + input_audio (song) |
Vocals drive the lips; the full song is kept | Lip-synced singing |
wan-animate-2 |
image (a person) and/or video (motion reference), optional input_audio |
Natural movement, or the motion and expressions from the video | Bringing photos to life, motion transfer |
Inputs are public https:// URLs or base64 data URIs, up to 50 MB each.
#Make a photo talk (InfiniteTalk)
bash
curl https://bigmodel.io/v1/videos \
-H "Authorization: Bearer $BIGMODEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "infinitetalk",
"image": "https://example.com/host.jpg",
"input_audio": "https://example.com/script.mp3",
"prompt": "natural smile, slight nods"
}'- The voice track can be up to 60 seconds.
- With
videoinstead ofimage, the person, body movement and background are kept and only the mouth is redrawn. - Make the voice track with Text to speech and pass its URL.
#New lines on existing footage (LatentSync)
bash
curl https://bigmodel.io/v1/videos \
-H "Authorization: Bearer $BIGMODEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "latentsync",
"video": "https://example.com/talking.mp4",
"input_audio": "https://example.com/new-line.wav"
}'- One person with a clear, front-facing face, up to 1080p.
imageis not accepted. - Audio must be wav or mp3.
latentsynctakes up to 120 seconds;latentsync-musicis for songs up to 15 seconds. - If the video is shorter than the audio,
latentsyncloops it forward and back;latentsync-musicholds the last frame.
#Animate a photo (Wan Animate 2)
bash
curl https://bigmodel.io/v1/videos \
-H "Authorization: Bearer $BIGMODEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan-animate-2",
"image": "https://example.com/character.png",
"video": "https://example.com/dance.mp4"
}'imageonly: about 5 seconds of natural movement.- With
video: the motion and expressions move onto the person in the image; length follows the video, up to 60 seconds. videoonly: the first frame is used as the person.input_audioonly replaces the soundtrack and does not drive the lips; useinfinitetalkfor that.
#Billing
Billed seconds come from the real input length: the voice track for infinitetalk and latentsync, the motion video for wan-animate-2 (5 seconds for an image alone). Prices are in Models → Video. Add "dry_run": true to estimate first:
json
{"object": "quote", "model": "infinitetalk", "unit": "per_second", "estimated_units": 12.5, "estimated_cost_usd": 0.16}#Troubleshooting
| Symptom | Fix |
|---|---|
400 Give image … or video … plus input_audio |
infinitetalk needs either image or video, plus input_audio. |
400 image is not accepted |
The latentsync models take only video and input_audio. |
| Lips drift or the face flickers | Use footage of one person with a clear, evenly lit face; remove background music from the voice track. |
failed, input could not be processed |
Check the audio format (wav/mp3) and length limits. |
#Related
Was this page helpful?
Updated · View as Markdown