Que fait yamlreel-video-skills ?
Écrivez une spécification YAML, rendez-la localement avec yamlreel, vérifiez la planche contact, puis remettez la vidéo. <skill> ci-dessous désigne le répertoire où se trouve ce fichier.
Workflow
- Configuration. Exécutez
python3 <skill>/scripts/check_setup.py(cela vérifie aussi la version et les fonctionnalités de yamlreel). En cas d'échec, montrez à l'utilisateur les corrections imprimées. Exécutez--installuniquement après l'accord de l'utilisateur. N'installez jamais de polices ou de paquets système vous-même. - Clarifiez en UN SEUL message, en proposant des valeurs par défaut : sujet, public, format (par défaut vertical), durée (par défaut 30 s), thème (
midnight|sumi|washi), voix (par défaut aucune). Sautez tout ce que l'utilisateur a déjà dit. - Scénario d'abord. Écrivez
videos/<slug>/script.txtdans le format de battement dereferences/writing-guide.md(longueur cible, un bloc[BATTEMENT - entrée -> action -> résultat]par battement avec sa ligne parlée, puis notes de livraison) et montrez-le à l'utilisateur. S'il a demandé une révision avant, arrêtez-vous et attendez un feu vert avant d'ébaucher ou de rendre quoi que ce soit. Plan. Ensuite, écrivezvideos/<slug>/outline.yaml(sujet, accroche, problème, 1 à 6 étapes chacune avecnom,dire,montrer, plus quand_utiliser, question, réponses). Les règles sont dansreferences/writing-guide.md: 15 s = une idée ; 30 à 45 s = une idée plus jusqu'à 3 étapes ; au maximum 60 s pour #Shorts. - Ébauche :
yamlreel story videos/<slug>/outline.yaml --out videos/<slug>/spec.yaml --format <fmt> --theme <t>. Passez--forceuniquement pour les fichiers que vous avez créés vous-même. - Modifier la spécification. Remplacez chaque
TODO; définissezmeta.title/description/tags,formats,music.seed. Le texte à l'écran est court ; la narration explique l'écran et ne le répète jamais. Champs par type de scène :references/scene-types.md. - Prévisualisation :
python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage preview --out videos/<slug>/out. En cas d'erreur, corrigez la spécification d'après le message (les erreurs de champ inconnu listent les clés autorisées) etreferences/troubleshooting.md. Réessayez au maximum 3 fois, puis faites un rapport à l'utilisateur. - Inspecter (obligatoire). Ouvrez chaque
contact.pnglisté dans la ligneRESULTavec l'outil de visualisation d'images. Vérifiez : pas de chevauchement, pas de texte rogné ou rétréci, révèle la progression à travers les vignettes, accroche lisible dans la première vignette. Corrigez la spécification et répétez l'étape 6 jusqu'à ce que ce soit propre, au maximum 3 boucles. - Final :
python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage final --out videos/<slug>/out. - Polissage optionnel. Si l'utilisateur veut des effets sonores, une correction de volume ou une vérification de boucle, et que
yamlreel audit --helpfonctionne, suivezreferences/polish.mdsur lavideo.mp4terminée (cela ne touche jamais à la spécification). - Rapportez les chemins vers chaque
video.mp4,poster.jpgetcontact.png, et collez le contenu deshare-copy.txt. Rappelez à l'utilisateur de vérifier les faits pour tout ce qui a été simplifié. La publication est le travail de l'utilisateur.
Codes de sortie de render.py : 0 ok, 1 erreur yamlreel (stderr renvoyé), 2 refus de prévol (le message explique pourquoi), 3 avertissements de prévisualisation bloquent le rendu final (raccourcissez le texte, réordonnez les repères at ; utilisez --allow-warnings uniquement si l'utilisateur accepte), 4 mauvais arguments (par exemple --contact-frames en dehors de 1 à 8).
Sa dernière ligne est RESULT {json} avec chaque chemin de sortie. Un journal est écrit dans <out>/render-log.txt.
Valeurs par défaut et faits
- Les rendus utilisent
--no-voice(musique uniquement). Les sous-titres et la narration ne sont pas visibles dans les rendus sans voix ; c'est attendu. - La sortie va dans
<out>/{preview,final}/<format>/; passez toujours--out videos/<slug>/outpour que deux projets ne partagent jamais un dossier (la valeur par défaut est<dossier spec>/out). music.seedfixe rend les rendus déterministes. N'ajoutez paswatermarksauf si l'utilisateur le demande.- La voix off est optionnelle et apportée par l'utilisateur : voir
references/voiceover.md. - Exemples à copier :
examples/*.yaml.
Règles de sécurité
- Ne mettez jamais de secrets, jetons, contenus
.env, noms d'hôte internes ou données personnelles/client dans une spécification : ils sont gravés dans les images etshare-copy.txt. Les exemples de code utilisent des placeholders. - Lisez et écrivez uniquement dans le dossier projet de l'utilisateur ; placez les images à côté de la spécification. N'ajoutez jamais
--allow-pathou--allow-private-hostssauf si l'utilisateur le demande explicitement, en nommant le dossier. - Voix uniquement avec un serveur TTS local que l'utilisateur nomme ; le texte de narration lui est envoyé. Jamais une URL distante.
- N'installez jamais de paquets système ou de polices, ni ne modifiez
~/.config/yamlreel/config.yaml, sans l'accord de l'utilisateur. - Scènes
shot: uniquement des URL https publiques fournies par l'utilisateur, ou des images locales dans le projet. - Ne téléchargez ni ne publiez jamais le résultat.