Individual skill
ai-video-to-talking
Add or replace dialogue in AI-generated video with sync. labs (sync.so). Takes a clip from Veo, Kling, Sora, Runway, Hailuo, Luma, Seedance, Wan or any other video generator, with the user's audio or a line that sync. voices, and lip-syncs the character so they actually speak. Also plans the source clip so it lip-syncs well, and handles scenes with several shots or two characters talking. Use when the user wants an AI character, avatar, UGC-style ad actor or generated presenter to talk, add a voice to an AI video, or make a talking AI video from a prompt. Not for real footage that already has a voiceover to match (lipsync), still images (talking-photo), or translating a video (translate-and-dub).
skills/ai-video-to-talking/SKILL.md
Source commit 68053bc91564641c478be8b7ff46567b67f3ae62
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 6, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 7
- Repository last updated
- Nov 7, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent-skills Repository topic
- ai-video Repository topic
- claude-code Repository topic
- claude-code-plugin Repository topic
- codex Repository topic
- cursor Repository topic
- dubbing Repository topic
- lip-sync Repository topic
- lipsync Repository topic
- mcp Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 5,772 bytesSKILL.mdcore · 5,772 bytesagents/openai.yamlasset · 233 bytesreferences/api.mddoc · 4,169 bytesreferences/connect.mddoc · 3,343 bytesreferences/media-input.mddoc · 3,852 bytesreferences/source-clip.mddoc · 2,167 bytes
Read excerpt
# Make an AI video talk
Delivers an MP4 of the generated character speaking the agreed line, in a voice that fits them, with matching lips. sync. doesn't make the clip itself. It comes from the user, or from a video-generation tool you can use in this session.
If no sync. tools are available, follow [references/connect.md](references/connect.md) first. Without the MCP tools, use the REST requests in [references/api.md](references/api.md).
## Steps
1. **Get the clip.**
- **The user has one:** save it as in [references/media-input.md](references/media-input.md).
- **The user only has an idea:** if you can generate video here, write the prompt with [references/source-clip.md](references/source-clip.md) so the face lip-syncs well. If you can't, give the user that prompt to paste into their video tool, and continue once they have the clip.
2. **Check the clip** before spending anything: one clearly visible face per shot, the mouth unobstructed, and how many shots or cuts it has. If it has cuts or two characters, plan which part each line covers now. The timeline is built in step 7, after the lines, voices and cost are agreed.
3. **The line.** Use the user's exact words. If they want you to write it, draft a line that fits the character and the clip's length, about 2.5 words per second (an 8-second clip holds about 20 words), and get approval.
4. **The voice.** Either the user's own audio (save it like the clip), or a script and a voice: call `voices_get-voices` and suggest two or three that fit the character's age, energy and setting. Clone a voice with `voices_clone-voice` only if the user explicitly asks and owns, or has permission to use, the sample. Cloning saves a voice to the account, can count against plan limits, and isn't idempotent: confirm the sample and the name, call it once, and after a lost or failed response list voices with `voices_get-voices` to see whether it was saved before trying again. Never retry it on your own or change the sample or name to get around an error.