agentsclimarketplace

Avatar talking video

Skill puntorigen/avatar-skills/avatar-talking-video

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.From its SKILL.md

Install
npx -y skills add puntorigen/avatar-skills --skill avatar-talking-video

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.7 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

Avatar Talking Video

Turn text → a lip-synced talking-head video of an avatar, in two stages:

  1. Voice (TTS). Delegates to the voice-clone skill to speak the text in the avatar's cloned voice. It reuses the avatar's already-trained voice, or trains one from --source if the avatar has none.
  2. Video (lip-sync). Sends a camera-angle image (image, from the avatar-camera-angles skill) plus the generated mp3 (audio) to prunaai/p-video-avatar on Replicate. When audio is 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). The voice-clone skill 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 a videos/ 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.png is used.
  • The text to say (positional or --text-file). The avatar must have a trained voice, or pass --source so 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.mp3

Key options

OptionDefaultDescription
text / --text-fileWhat the avatar says (drives stage-1 TTS).
--audio PATHUse this mp3/wav directly and skip TTS.
--image PATH<avatar>/frames/frame_0001.pngCamera-angle / portrait image (image input).
--avatar-dirautoAvatar folder (else inferred from --image/--audio).
--resolution720p720p or 1080p (1080p ≈ 2× the cost).
--video-promptThe person is talking.What the person is doing while speaking.
--emotionautoTTS delivery (forwarded to voice-clone).
--language-boostdetectTTS language (auto-detected; forwarded).
--voice-id / --name / --sourcePick / train the voice (forwarded to voice-clone).
--negative-promptWhat to avoid (e.g. subtitles, text, watermark).
--seedReproducible generation.
--disable-prompt-upsamplingoffUse --video-prompt verbatim.

Output (in <avatar>/generated-videos/)

FileWhat it is
<NNN>_<slug>.mp4The talking-head video (auto-numbered)
manifest.jsonitems[] 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

  • audio overrides voice settings. Because we always pass audio, the model's voice / voice_script / voice_language inputs 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

What ships with it: 4 files

24.2 KB alongside SKILL.md, 3 of them executable

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.