avatar-talking-video
Skill3 starsChanged 4 months agoMITView on GitHub
Generate a talking-head avatar video from a line of text. Stage 1 synthesizes the text in the avatar's cloned voice via the voice-clone skill (reusing the avatar's trained voice, or training one from a source recording if it has none). Stage 2 feeds a camera-angle image (from avatar-camera-angles) plus the generated mp3 to prunaai/p-video-avatar on Replicate at 720p (or 1080p) and saves the lip-synced MP4 under <avatar>/generated-videos/ with a manifest.json. Use when the user wants a talking avatar / talking-head video, a lip-synced clip of an avatar saying some text, to animate a camera-angle still into a speaking video, or mentions "video del avatar hablando", "avatar que hable", "talking head", "lip sync", or p-video-avatar.
In this repository45 other files it gives its agents.
- asset-generatorSkill
- audio-theaterSkill
- avatar-ambient-sfxSkill
- avatar-camera-anglesSkill
- avatar-framesSkill
- avatar-inventSkill
- avatar-locationSkill
- avatar-reel-composerSkill
- bg-music-hqSkill
- bg-musicSkill
- brand-content-strategySkill
- broll-actor-copySkill
- broll-avatar-cameraSkill
- broll-browser-recorderSkill
- broll-coreSkill
- broll-cursorSkill
- broll-finderSkill
- broll-generatorSkill
- broll-storySkill
- broll-terminalSkill
- broll-web-captureSkill
- caption-word-revealSkill
- carousel-generatorSkill
- cuento-reelSkill
- facebook-videosSkill
- gpt-image-2Skill
- instagram-videosSkill
- luxury-hnwi-salesSkill
- onboarding-scriptSkill
- pdf-remixSkill
- reel-discoverySkill
- reel-restyleSkill
- rule-of-six-editSkill
- seedance-2Skill
- sound-effectsSkill
- tiktok-videosSkill
- video-bg-replaceSkill
- video-composeSkill
- video-remixSkill
- video-scene-analysisSkill
- video-transcribeSkill
- viral-video-scriptSkill
- voice-cloneSkill
- voice-isolateSkill
- youtube-videosSkill
The file
Files
Avatar Talking Video
Turn text → a lip-synced talking-head video of an avatar, in two stages:
- Voice (TTS). Delegates to the
voice-cloneskill to speak the text in the avatar's cloned voice. It reuses the avatar's already-trained voice, or trains one from--sourceif the avatar has none. - Video (lip-sync). Sends a camera-angle image (
image, from theavatar-camera-anglesskill) plus the generated mp3 (audio) toprunaai/p-video-avataron Replicate. Whenaudiois supplied it drives the speech directly (the model's own voice settings are ignored), so lip-sync follows the cloned voice exactly.
Output lands in <avatar>/generated-videos/ with a manifest.json recording
the text, voice, image, audio, and video params.
Requirements
pip3 install -r requirements.txt(Replicate client). Thevoice-cloneskill must be installed (its TTS does stage 1); install its requirements too.- A Replicate API token, shared with the other Replicate skills (voice-clone,
gpt-image-2, avatar-video-reel, …) and discovered automatically. To set/refresh:
python3 scripts/setup_key.py YOUR_REPLICATE_API_TOKEN.
Inputs you need
- An avatar folder (e.g.
lolo/) — the one containing avideos/dir. It is auto-inferred from--image/--audio, or pass--avatar-dir. - A camera-angle image — produce it first with
avatar-camera-angles(a front-ish, clean portrait works best). Pass it with--image. If omitted,<avatar>/frames/frame_0001.pngis used. - The text to say (positional or
--text-file). The avatar must have a trained voice, or pass--sourceso stage 1 trains one first.
Usage
# Text -> cloned-voice audio -> talking-head video, from a camera angle
python3 scripts/generate_video.py "Hola, soy Lolo y te cuento algo." \
--image lolo/angles/skill_test/lolo_push_in.png
# 1080p + happy delivery + a custom visual prompt
python3 scripts/generate_video.py "Big news today!" \
--image lolo/angles/skill_test/lolo_push_in.png \
--resolution 1080p --emotion happy \
--video-prompt "The person is talking and smiling warmly."
# Reuse an existing mp3 (skip TTS) — just lip-sync it to the angle
python3 scripts/generate_video.py \
--audio lolo/generated-audios/001_hola.mp3 \
--image lolo/angles/skill_test/lolo_push_in.png
# Avatar has no voice yet: train it first from a clean voice clip
python3 scripts/generate_video.py "Hello there" \
--image lolo/angles/skill_test/lolo_push_in.png \
--source lolo/videos/2026-05-16_12-25-46_voice/voice_concat.mp3Key options
| Option | Default | Description |
text / --text-file | — | What the avatar says (drives stage-1 TTS). |
--audio PATH | — | Use this mp3/wav directly and skip TTS. |
--image PATH | <avatar>/frames/frame_0001.png | Camera-angle / portrait image (image input). |
--avatar-dir | auto | Avatar folder (else inferred from --image/--audio). |
--resolution | 720p | 720p or 1080p (1080p ≈ 2× the cost). |
--video-prompt | The person is talking. | What the person is doing while speaking. |
--emotion | auto | TTS delivery (forwarded to voice-clone). |
--language-boost | detect | TTS language (auto-detected; forwarded). |
--voice-id / --name / --source | — | Pick / train the voice (forwarded to voice-clone). |
--negative-prompt | — | What to avoid (e.g. subtitles, text, watermark). |
--seed | — | Reproducible generation. |
--disable-prompt-upsampling | off | Use --video-prompt verbatim. |
Output (in <avatar>/generated-videos/)
| File | What it is |
<NNN>_<slug>.mp4 | The talking-head video (auto-numbered) |
manifest.json | items[] mapping each video → text, voice_id, image, audio, resolution, video_prompt, and the rest of the params |
Stage 1 also leaves the generated audio in <avatar>/generated-audios/ (the
voice-clone skill's own output). Report the video path, the voice_id used, and
the resolution when done.
Notes
audiooverrides voice settings. Because we always passaudio, the model'svoice/voice_script/voice_languageinputs are intentionally unused — lip-sync follows the cloned-voice mp3.- Cost is per second of output: 720p ≈ $0.025/s, 1080p ≈ $0.045/s.
- Image quality matters. A clean, front-ish angle preserves identity best; heavy angles or occlusion hurt lip-sync and likeness.
- Per-shot reels: generate several angles with
avatar-camera-angles, run this skill once per angle with the same text/voice, then stitch the clips.
Related skills
voice-clone— stage-1 TTS / voice training.avatar-camera-angles— produce theimageinput.avatar-frames— extract a clean reference frame.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

