batch-lipsync
Installation
SKILL.md
Lipsync many videos
Delivers one MP4 per row of the user's list, plus a results table that maps each row to its output.
If no sync. tools are available and there's no SYNC_API_KEY, follow references/connect.md first.
1. Build the manifest
Turn whatever the user gave you (a CSV, a spreadsheet, a folder of files, "this video with each of these 30 audio files") into a CSV in the working directory, one row per output video:
| Column | Meaning |
|---|---|
id |
A unique, stable row name, such as lead-042 or es-ad1. It names the output and keys retries. |
video |
A local path, https:// URL or sync. asset ID. Use image instead for a still picture (sync-3). |
audio |
A local path, URL or asset ID. Leave it empty when the row uses script. |
script, voice_id |
The words and a voice from voices_get-voices (or GET /v2/voices), when there's no audio. |
sync_mode |
Optional: bounce, loop, cut_off, silence or remap. |
Show the user the row count and a few sample rows, and fix gaps before spending anything: missing files, rows with neither audio nor script, duplicate IDs. Columns the run doesn't use stay local. Scripts, media, file names and the row IDs (used as output names) are sent to sync., so use plain row IDs like lead-042 rather than names or emails.