Communitygithub.com

haoyiyin/sadtalker-mac

Habilidad para agente: generación de video de cabeza parlante con un solo comando en macOS. Proporciona una foto + audio → obtén un video de humano digital. Funciona con cualquier agente de IA (Claude Code, Pi, Cursor, Codex, Copilot).

¿Qué es sadtalker-mac?

Esta habilidad permite a cualquier agente de IA (como Claude Code, Cursor o Codex) generar vídeos de cabezas parlantes (talking-head) a partir de una foto de retrato y un archivo de audio, todo ello optimizado para macOS con Apple Silicon o Intel. El flujo de trabajo es sencillo: el agente localiza los scripts setup.sh y generate.sh en el mismo directorio que el archivo SKILL.md, verifica los prerrequisitos (ffmpeg, entorno conda sadtalker, checkpoints), y ejecuta la generación con un solo comando bash. Internamente, el script invoca `conda run -n sadtalker python inference.py`, que utiliza el modelo SadTalker para animar la foto de acuerdo con el audio de entrada. La habilidad incluye soporte para el potenciador GFPGAN, modo 'still' para fotos de cuerpo completo, y varios modos de preprocesamiento. Está diseñada para funcionar exclusivamente en macOS, ya que SadTalker no tiene soporte de GPU en esta plataforma y se ejecuta completamente en CPU. Incluye advertencias importantes sobre la versión correcta de Python (3.10), la instalación de dlib para evitar el error #1 en M1, la instalación de torch sin sufijo CUDA, y la necesidad de ffmpeg vía brew. También proporciona pasos de verificación para confirmar que todo está configurado correctamente, incluyendo una prueba de humo que genera un vídeo de muestra.

Compatible con✓Claude Code✓Codex CLI✓Cursor
npx skills add haoyiyin/sadtalker-mac

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Cuándo usarlo

El usuario quiere crear un video de cabeza parlante / humano digital a partir de una foto de retrato y un archivo de audio (口播视频, 数字人生成, photo talk). Disparadores: "生成口播视频", "hacer que esta foto hable", "照片说话", "数字人视频", "sadtalker", "cabeza parlante", "video avatar desde foto". Aplica solo para macOS (Apple Silicon o Intel).

Procedimiento

  1. Localiza los scripts: están en el mismo directorio que este SKILL.md. Encuéntralos con: ls "$(dirname <ruta-a-este-SKILL.md>)" — verás setup.sh y generate.sh junto a este archivo.
  2. Verifica los prerrequisitos: ffmpeg, entorno conda sadtalker, ~/SadTalker/checkpoints/. Si falta algo, ejecuta setup.sh (solo la primera vez, ~15 min, ~2.5 GB de descarga).
  3. Confirma que el usuario ha proporcionado una foto de retrato (.jpg/.png) y un archivo de audio de voz (.wav/.mp3). Si el audio está en otro formato, conviértelo primero con ffmpeg.
  4. Ejecuta la generación: bash generate.sh <foto> <audio> [--enhancer gfpgan] [--still] [--preprocess full|resize|crop]. Esto invoca conda run -n sadtalker python inference.py internamente.
  5. El archivo .mp4 de salida aparece en ~/SadTalker/results//. Ábrelo con: open <ruta> (macOS). Informa la ruta al usuario.

Errores comunes

  • Python DEBE ser 3.10 dentro del entorno conda. 3.8 carece de wheels para Apple Silicon, 3.11+ no tiene wheel de scikit-image==0.19.3.
  • 8 GB de RAM: cierra Chrome/IDE antes de ejecutar. SadTalker funciona solo con CPU en Mac — no existe ruta con GPU.
  • dlib debe instalarse por separado en Mac: conda run -n sadtalker pip install dlib — este es el error #1 en M1.
  • Instala torch SIN sufijo CUDA: pip install torch torchvision torchaudio. Si torch.version contiene '+cu', reinstala.
  • ffmpeg vía brew, no conda. El ffmpeg de conda a veces carece de los códecs necesarios.
  • La primera ejecución descarga ~2 GB de checkpoints. En China, configura primero HF_ENDPOINT=https://hf-mirror.com.
  • El potenciador GFPGAN (--enhancer gfpgan) aproximadamente duplica el tiempo de procesamiento. Omítelo para vistas previas rápidas.
  • El modo --still espera fotos de cuerpo completo cuando se combina con --preprocess full.
  • El audio debe ser .wav o .mp3. Otros formatos generan error con 'Header missing'. Convierte con ffmpeg: ffmpeg -i input.m4a output.wav.

Verificación

  1. conda run -n sadtalker python -c 'import torch; print(torch.version)' — NO debe contener '+cu'
  2. ls ~/SadTalker/checkpoints/ — debe contener auido2exp_00300-model.pth, auido2pose_00140-model.pth, epoch_20.pth y otros archivos .pth
  3. conda run -n sadtalker python -c 'import dlib; print("ok")' — debe imprimir 'ok' (sin Illegal Hardware Instruction)
  4. Prueba de humo: cd ~/SadTalker && conda run -n sadtalker python inference.py --driven_audio examples/driven_audio/bus_chinese.wav --source_image examples/source_image/full_body_1.png — produce salida en results/

Skills relacionados