Lip sync an existing video to new audio: 8 Sume video rows

Eight Video Router rows re-sync a clip you already have to new audio: video_url plus audio_url, 2 to 60 s on most, 9 s on InfiniteTalk Video.

4 min readSume
All posts

To lip sync an existing video to new audio on Sume, send a Video Router row that takes video_url plus audio_url. There are eight such rows, added on 2026-10-13: Sync Lipsync 3, Sync Lipsync 2 Pro, Sync Lipsync 2, Kling Lipsync, LatentSync, VEED Lipsync, InfiniteTalk Video and PixVerse Lipsync.

Seven of the eight take no prompt; only InfiniteTalk Video requires one. The nine other lipsync rows start from a single still image instead, which is a different job (see the last section).

The eight rows that take a clip

Every row is an explicit pick: none is in Auto, and none is reachable from POST /v1/videos, which has no audio field. You call POST /v1/video-router/generate with the model id and read the catalog with GET /v1/video-router/models.

Check the model's entry in the catalog before you build around it: GET /v1/video-router/models/{model_id} returns that row's limits, so a script can read the maximum clip length instead of hard-coding the numbers above. Run one short test job per row you plan to use, and compare mouth movement on your own footage; clips with side profiles, hands near the face or heavy compression are where re-sync quality varies most.

Video-source lipsync rows in the Video Router catalog (Sume repo docs, read 2026-10-13)
Model idClip lengthPromptNotes
sync-lipsync-32-60 snoneOutput keeps the clip's resolution
sync-lipsync-2-pro2-60 snoneSame fields as Sync Lipsync 3
sync-lipsync-22-60 snoneSame fields as Sync Lipsync 3
kling-lipsync2-10 snoneBilled in 5 s steps of the source clip
latentsync2-60 snoneBilled for at least 40 s
veed-lipsync2-60 snonePlain clip plus audio
infinitalk-video2-9 srequired480p or 720p, 480p default
pixverse-lipsync2-30 snonePlain clip plus audio

A request that works

The body is small. duration is whole seconds and is required, because the price follows it.

curl -X POST https://api.sume.com/v1/video-router/generate \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: relip-001" \
  -d '{
    "model": "sync-lipsync-3",
    "video_url": "https://example.com/clip.mp4",
    "audio_url": "https://example.com/new-line.mp3",
    "duration": 12,
    "mode": "async"
  }'

Choosing among the eight

Pick by clip length first, since it removes rows quickly: a 25 s clip rules out Kling Lipsync (10 s) and InfiniteTalk Video (9 s) and leaves six rows. Then decide whether you want the clip's own resolution preserved. Sync Lipsync 3 is documented to keep it, and the Sync rows cut off at the shorter of clip and audio.

If you want a scene described in words as part of the re-sync, InfiniteTalk Video is the only row that takes a prompt, and it requires one. The other seven take none.

Billing differs by row, and two have floors that matter for short clips. The next posts in this series cover what duration to send when audio and clip differ and the Kling and LatentSync minimums. Sume shows credits only, never dollars; see credits.

When to start from a still instead

If you have no footage, only a portrait, use one of the nine image rows (VEED Fabric 1.0 and Fast, MiniMax H3 Max Lip Sync, Kling Avatar 2.0 and Pro, InfiniteTalk, OmniHuman 1.5, Creatify Aurora, Wan 2.2 Speech to Video). Those take image_url plus audio_url and the clip is as long as the audio. A comparison of one vendor's video-input route is in VEED lipsync-v2 video plus audio vs a still.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume