Communitygithub.com

lilei0311/skill-digital-human-video

Compétence pour créer des vidéos de type « présentateur numérique » avec voix clonée, avatar IA, sous-titres, habillage vidéo, le tout automatisé via un pipeline. Fonctionne avec Codex et Claude Code.

Qu'est-ce que skill-digital-human-video ?

Cette compétence est conçue pour les agents IA (Codex, Claude Code) qui doivent produire des vidéos courtes avec un présentateur numérique (digital human). Elle orchestre un pipeline complet : génération de script à partir d’un sujet, synthèse vocale via MiniMax TTS, création d’avatar animé avec HeyGen, puis montage final par FFmpeg (sous-titres, titre, logo IA, musique de fond et incrustation optionnelle). Le tout est livré sous forme de fichier MP4 prêt à être publié. L’utilisateur contrôle le processus via des étapes distinctes (création d’identité vocale et visuelle unique, prévisualisation de 15 secondes, validation humaine, puis production finale). La compétence insiste sur le respect des droits d’auteur et du consentement pour les voix et visages. Elle propose également un plan de montage piloté par IA (Claude Opus 5.5 ou Codex) et génère un fichier `edit-plan.json` pour le rendu FFmpeg. Les erreurs API, les limites de quota et les délais asynchrones sont gérés proprement. Les agents ne doivent pas prétendre exécuter eux-mêmes le traitement vidéo ; tout le rendu est délégué à des outils externes (FFmpeg).

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add lilei0311/skill-digital-human-video

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Digital Human Video · Agent Skill

Objectif

Recevoir un sujet ou un script prêt, produire une vidéo verticale de présentateur numérique IA : script -> MiniMax TTS -> HeyGen synchronisation labiale -> FFmpeg ajout sous-titres, titre, identifiant IA, incrustation/BGM optionnel -> MP4 + texte de publication. Lors du premier lancement, créer uniquement l’ID Look du digital human et l’ID Voice clonée ; les réutiliser ensuite sans recréation. Proposer un aperçu de 15 secondes (payant via HeyGen) ; par défaut, l’utilisateur doit valider l’aperçu avant de générer la version complète. Ne lancer les deux étapes qu’après approbation explicite de l’utilisateur.

Installation et vérification

  • Placer le skill dans ~/.codex/skills/digital-human-video ou ~/.claude/skills/digital-human-video, en vous assurant que SKILL.md se trouve à la racine du dossier.
  • Python 3.10+, pip install -r requirements.txt, ffmpeg/ffprobe installés sur le système (avec libass et encodeur H.264), police chinoise disponible pour un rendu optimal.
  • Copier .env.example vers .env, définir les clés via un canal local sécurisé ; ne pas demander à l’utilisateur de coller ses clés, photos ou enregistrements vocaux dans le chat. Ne jamais inclure .env dans Git.
  • D’abord exécuter : python scripts/dhv.py doctor, puis python scripts/dhv.py run --topic '...' --out ./outputs/example --dry-run.

Processus opérationnel (dans l’ordre)

  1. Confirmer les autorisations et les ressources. N’accepter que des visages et voix réels appartenant à l’utilisateur ou disposant d’une autorisation complète. Interdire la réplication, l’usurpation ou l’induction en erreur sans consentement. Vérifier séparément les droits pour les photos/vidéos et les enregistrements audio ; la vidéo synthétisée par IA doit comporter un marquage explicite. La musique et les incrustations doivent être sous licence.
  2. Création unique de profil. Échantillon vocal propre de 30 à 60 secondes idéal (MiniMax accepte de 10 s à 5 min, ≤20 Mo, mp3/m4a/wav). Télécharger la vidéo/photo sur HeyGen v3 pour créer l’Avatar ; photo de face de préférence en haute définition. L’entraînement vidéo peut nécessiter un consentement/vérification séparé – obligatoire, et asynchrone. Utiliser avatars pour lister les Look ID déjà entraînés. Fournir MINIMAX_VOICE_ID et HEYGEN_AVATAR_ID au pipeline suivant.
  3. Rédiger le script parlé. Si l’utilisateur n’a pas fourni de texte, le LLM écrit automatiquement : accroche de 3 secondes → 2~3 arguments → conclusion, en précisant le public, la plateforme et la durée prévue. Ne pas inventer de données invérifiables. La mise en scène/les idées de montage peuvent être traitées par Claude Opus 5.5 ou par Codex ; le modèle gère le script et l’ordonnancement, le traitement média réel est assuré par FFmpeg.
  4. Aperçu. run --mode preview : privilégier la réutilisation de state.json et script.txt ; synthétiser l’audio pour les ~55 premiers caractères (≈15 secondes), animer le digital human, produire preview_final.mp4. La durée de l’aperçu n’est pas garantie strictement de 15 secondes selon le débit.
  5. Plan de montage. Si l’agent actuel est Claude Opus 5.5 ou peut déléguer à Opus, lui confier script.txt, le sujet, la marque et la liste des ressources pour générer edit-plan.json, strictement conforme aux clés de examples/edit-plan.json : headline, brand, key_points[{text,start,end}], pip_start/end, subtitle_font_size, music_volume (0~0.3). Les timings doivent être dans la durée totale de la vidéo. --edit-plan fait exécuter par FFmpeg les animations de cartes texte, la timeline d’incrustation, le style des sous-titres et le volume de la musique ; sans Opus, Codex/l’agent courant génère ce même JSON. Le modèle ne fait que décider, il ne prétend pas rendre la vidéo lui-même.
  6. Révision et exécution. L’utilisateur vérifie la synchronisation labiale, la netteté, les droits, les sous-titres, le réalisme. Une fois approuvé : run --mode full --approve ; si autorisation donnée et option « pas de révision humaine » choisie explicitement : run --mode full --auto-approve pour produire les deux étapes automatiquement. Ne pas publier directement sur les réseaux sociaux sans autorisation.
  7. Validation et livraison. Vérifier la durée de full_final.mp4, la synchro audio-vidéo, les sous-titres, le chevauchement du titre, le volume de la musique, le marquage IA, et livrer publish.md. Avant publication, demander une vérification des faits et des règles AIGC de la plateforme.

Utilisation en ligne de commande (à la racine du skill)

# Initialisation : portrait et audio personnels, n’utiliser le flag consent que si droits légalement acquis
python scripts/dhv.py avatar --file ./myself.mp4 --kind digital_twin --name 'My Presenter' --i-own-the-likeness
python scripts/dhv.py avatars  # l’entraînement peut nécessiter une attente + validation officielle
python scripts/dhv.py clone --file ./myvoice.wav --voice-id MyBrandVoice2026 --i-own-the-voice

# Aperçu : par défaut, le script est généré par le modèle de texte MiniMax ; on peut aussi passer --script-file pour bypasser le LLM
python scripts/dhv.py run --topic 'Comment l’IA aide les entreprises à réduire les tâches répétitives' --out ./outputs/ai-workflow --mode preview --edit-plan ./examples/edit-plan.json

# Lancer la version complète après validation utilisateur
python scripts/dhv.py run --topic 'Comment l’IA aide les entreprises à réduire les tâches répétitives' --out ./outputs/ai-workflow --mode full --approve

# Approbation explicite pour mode sans surveillance : aperçu + version finale en une commande (les appels API vidéo sont facturés séparément pour chaque segment)
python scripts/dhv.py run --topic 'Le digital human en une minute' --out ./outputs/demo --mode full --auto-approve

# Ressources optionnelles
python scripts/dhv.py run --script-file ./script.txt --out ./outputs/manual --mode preview --music ./licensed-bgm.mp3 --broll ./owned-broll.mp4

Règles de conduite pour l’agent

  • Ne pas décrire --dry-run ou des tests unitaires comme « HeyGen/MiniMax réellement fonctionnels ». Sans clé payante valide ni ressources autorisées, seule la validation du rendu hors-ligne/format de requête est possible.
  • En cas de timeout d’appel API asynchrone, afficher le video_id depuis state.json et le réutiliser ; ne pas reconstruire directement pour éviter une double facturation.
  • Le clonage vocal nécessite une vérification d’identité MiniMax ; si voice_id n’a pas été utilisé pour du TTS réel pendant 7 jours, il peut expirer ; privilégier la réutilisation des voix existantes, ne pas re-cloner silencieusement.
  • Les fichiers de sous-titres de la plateforme peuvent ne pas être précis mot à mot ; si aucun SRT utilisable n’est retourné, l’outil génère des sous-titres estimés et les marque approximate dans state.json. Vérifier avant livraison ; pour une précision mot à mot, envisager un alignement ASR supplémentaire.
  • En cas de limites de taille vidéo, de politique d’entraînement, d’authentification ou de quota, signaler l’erreur spécifique, ne pas prétendre que tout est automatisé.
  • Ne pas se connecter ni publier automatiquement sur Douyin, Kuaishou, WeChat Channels, Xiaohongshu, Bilibili, etc., car aucune API d’autorisation n’est intégrée ; seulement produire publish.md en attente de révision.
  • Éviter de commettre les clés API, les fichiers originaux, les voix similaires et les ressources générées brutes dans un dépôt public.

Références

  • Détails des API et configuration régionale dans references/api.md.
  • Livraison et dépannage dans README.md.

Skills associés