Que fait 一句话视频 ?
L'utilisateur donne une phrase, vous faites d'abord la conception : déterminez le style, ce que l'on voit à l'écran pour chaque scène. Ensuite, écrivez un fichier video.json. Les éléments visibles du sujet sont dessinés par votre code de scène. Le script gère le timing, la musique, les sous-titres, l'encodage et l'auto-vérification.
Dans les commandes ci-dessous, remplacez SKILL par le chemin absolu du répertoire contenant ce fichier (par exemple /home/me/skills/one-prompt-video). Toutes les commandes s'exécutent dans le répertoire de travail actuel de l'utilisateur, et les chemins de fichiers sont relatifs à celui-ci.
Cinq étapes
1. Préparer l'environnement (à exécuter une fois par répertoire de travail)
node "SKILL/scripts/setup.mjs"
Il vérifie Node.js, les bibliothèques graphiques, ffmpeg et les polices chinoises. Il installe ce qui manque ou vous indique comment le faire. Continuez uniquement si tout est [OK]. S'il y a des [Manquant], communiquez ces lignes telles quelles à l'utilisateur.
2. Conception (ne pas demander à l'utilisateur, décider soi-même, puis l'informer de vos choix)
Créez un nouveau dossier dans le répertoire de travail actuel (nommé d'après le titre de la vidéo, appelé ci-dessous Titre/). Écrivez d'abord la conception dans Titre/plan.md, une quinzaine de lignes suffisent. Écrivez ensuite le reste. Une vidéo composée uniquement de cartes de texte est ennuyeuse ; cette étape détermine la qualité de la vidéo.
Complétez ce que l'utilisateur n'a pas dit
| Ce que l'utilisateur n'a pas dit | Valeur par défaut |
|---|---|
| Durée | Environ 30 secondes, 5 à 8 scènes |
| Format paysage/portrait | Paysage 16:9 ; si mention de téléphone, portrait, Douyin, Xiaohongshu, vidéo WeChat, utiliser 9:16 |
| Langue | Identique à la langue de l'utilisateur |
| Voix | Aucune. Par défaut, sous-titres + musique. Cette compétence n'inclut pas de service de doublage : si l'utilisateur veut une voix, dites-lui d'abord qu'il doit préparer lui-même le doublage (un TTS en ligne de commande ou son propre enregistrement), puis suivez references/voice.md |
Choisir le style
- Si l'utilisateur recherche une ambiance, une histoire, une scène, des personnages, ou s'il dit « pas d'explication », « je veux des visuels », « comme un film » : cette vidéo n'utilise pas de mise en page standard, vous la dessinez entièrement. Lisez
references/film.mdet suivez-le. - Pour les autres vidéos, choisissez un pack de style dans le tableau ci-dessous. Chaque pack de style apporte ses propres scènes, accessoires, personnages, transitions et effets sonores, plus riches que les thèmes intégrés. Choisissez en fonction du sujet : regardez d'abord la colonne « Convient à » ; si plusieurs correspondent, choisissez celui qui est le plus proche des éléments concrets du sujet (artisanat, nourriture, petites histoires de la vie ->
papercraftouclay, équipements et processus ->isometric, comptes et performances ->dashboard). Si l'utilisateur spécifie un style (« comme un jeu vidéo », « fais-le comme une conversation de chat », « comme un journal télévisé »), utilisez le pack de style correspondant. - Les thèmes intégrés ne sont utilisés que dans deux cas : l'utilisateur demande explicitement la simplicité, la retenue, le professionnalisme ; ou le contenu est sérieux et les décorations nuiraient à la lecture. Pour les vidéos utilisant des thèmes intégrés, les scènes que vous dessinez doivent représenter au moins la moitié du total.
- Choisissez un élément qui traverse toute la vidéo : un objet concret du sujet (une aile d'avion, un grain de café, la lune, la façade d'un magasin). Il apparaît dans la première scène, puis réapparaît dans les scènes suivantes, pour lier la vidéo.
Définir chaque scène
Dans le plan, listez un tableau avec une ligne par scène, en réfléchissant dans cet ordre :
| Ce que le spectateur doit comprendre dans cette scène | Ce qu'on voit à l'écran | Comment le faire (quelle mise en page, ou personnalisé) | Narrateur |
|---|
« Ce qu'on voit à l'écran » décrit une image : un objet, un processus, un graphique, une structure. Pensez d'abord à l'image, ensuite au texte. Suivez les huit règles ci-dessous :
- Cachez le texte. Cachez tout le texte de cette scène. Si l'image restante montre encore de quoi il s'agit, la scène est valide. Parler d'une aile d'avion : l'image doit montrer l'aile et le flux d'air. Parler d'un abonnement au café : l'image doit montrer une boîte, des sachets de grains et une carte de préparation.
- Dessinez ce qui est visible. Les objets, processus et structures du sujet doivent être dessinés avec
layout: "custom"en écrivant le code de la scène, voirreferences/custom-scenes.md. La scène la plus importante de la vidéo doit être personnalisée ; au moins deux scènes personnalisées par vidéo, de préférence plus d'un tiers. - Choisissez la mise en page en fonction de la forme de l'information. Comparez les tailles avec
bars, les séquences avecsteps, les oppositions aveccompare, une quantité réelle avecnumber(les numéros d'ordre, les heures, les identifiants ne sont pas des quantités, n'utilisez pasnumber).statementau maximum une fois par vidéo,bulletsau maximum une fois,quoteuniquement pour des citations réelles. - N'écrivez pas d'étiquettes ou de descriptions secondaires. Par défaut, n'écrivez pas
kicker,subtitle,note,label,ctaettitlede chaque scène. Ne les écrivez que si, sans eux, le spectateur ne comprendrait pas la scène. N'ajoutez pas de texte pour expliquer une relation déjà exprimée par la mise en page : un graphique à barres n'a pas besoin d'un titre « Comparaison des quatre trimestres », les étapes n'ont pas besoin de « Première étape », les cartes de comparaison n'ont pas besoin de « Comparaison ». - Divisez le travail entre l'image et le narrateur. Le narrateur (
say) raconte des phrases complètes, décrivant ce qui apparaît à l'écran ; l'écran ne contient que des images, des mots-clés et des chiffres. Ne mettez pas la même phrase à la fois en gros caractères et en sous-titres. - Deux scènes adjacentes doivent être différentes. N'utilisez pas le même type de mise en page pour deux scènes consécutives ; si la scène précédente est un gros titre centré, la suivante doit être une image ou un graphique.
- Utilisez les points forts avec parcimonie. Un grand nombre et une phrase clé par vidéo, chacun une seule fois.
- Début et fin. La première scène utilise
title, et dans les deux premières scènes, dites clairement de quoi parle la vidéo. La dernière scène utiliseend, se terminant par une conclusion ou une action ; la fin est plus petite et plus courte que le début : une phrase, plus l'élément qui traverse toute la vidéo.
Si vous ne pouvez pas voir d'images ni écrire de code de scène, la règle 2 est impossible : utilisez normalement les packs de style et les mises en page, et informez honnêtement l'utilisateur que la vidéo est principalement textuelle.
3. Écrire video.json et le code des scènes
Suivez le plan pour écrire Titre/video.json :
{
"title": "Une phrase, une vidéo",
"theme": "papercraft",
"aspect": "16:9",
"seconds": 30,
"scenes": [
{ "layout": "title", "title": "Une phrase, une vidéo", "say": "Dites une phrase, et obtenez une courte vidéo." },
{ "layout": "custom", "module": "scenes/pipeline.mjs", "seconds": 7, "cues": 3, "say": "Vous dites une phrase, le modèle conçoit, remplit le tableau, le script la transforme en vidéo." },
{ "layout": "bars", "unit": "secondes", "items": [{ "label": "1ère fois", "value": 68 }, { "label": "2ème fois", "value": 51 }, { "label": "3ème fois", "value": 57 }], "say": "Petit modèle testé trois fois, environ une minute à chaque fois." },
{ "layout": "custom", "module": "scenes/laptop.mjs", "seconds": 6, "say": "Un simple ordinateur portable suffit pour créer la vidéo." },
{ "layout": "end", "title": "Essayez maintenant", "say": "Essayez-le dès maintenant." }
]
}
secondsest la durée cible de la vidéo entière ; le script répartit le temps entre chaque scène. Un écart de moins de trois secondes avec la durée réelle est normal (chaque scène doit avoir un nombre entier d'images, et la fin a un fondu d'environ une seconde). Si non précisé, la durée est estimée automatiquement en fonction du nombre de caractères.sayest le sous-titre de cette scène (et le script de doublage si doublage). Une phrase par scène, 30 caractères chinois maximum (12 mots anglais maximum).- Pour les scènes personnalisées, placez le code dans
Titre/scenes/. Après avoir écrit chaque scène, vérifiez d'abord avec une image fixe (--still) ; passez à la suivante uniquement si vous reconnaissez ce qui est dessiné. - Le texte à l'écran est destiné à un coup d'œil, soyez bref. Si le texte ne tient pas, divisez la scène en deux, ne remplissez pas une scène.
- N'inventez pas de faits. N'inventez pas de chiffres, citations, noms de personnes ou d'entreprises que l'utilisateur n'a pas fournis. Pour les exemples, précisez dans le narrateur qu'il s'agit d'une illustration. Les fonctions et effets du produit doivent être basés uniquement sur les dires de l'utilisateur. Les explications que vous ajoutez doivent être listées une par une dans le rapport final pour que l'utilisateur les vérifie.
Un exemple complet avec seulement des mises en page intégrées se trouve dans SKILL/assets/example.video.json.
4. Validation et production de la vidéo
node "SKILL/scripts/make.mjs" Titre/video.json --check # D'abord valider, quelques secondes
node "SKILL/scripts/make.mjs" Titre/video.json --sheet # Générer une vue d'ensemble, regarder avant de produire
node "SKILL/scripts/make.mjs" Titre/video.json # Produire la vidéo
- Si
--checksignale[Erreur], chaque erreur indique la scène, le champ et la correction correcte. Corrigez et réexécutez jusqu'à ce que tout soit bon. - Si vous pouvez voir des images, ouvrez
Titre/out/sheet.jpget examinez image par image. Chaque scène a deux images : la première à mi-chemin de l'entrée, la seconde une fois que tout est en place. Utilisez la seconde comme référence. Pour chaque image, vérifiez quatre choses : cachez le texte, l'image montre-t-elle encore de quoi il s'agit ? Le sujet est-il assez grand (occupant au moins 60 % de la largeur ou de la hauteur de l'écran) ? Y a-t-il une grande zone vide ? Le texte est-il serré ou un mot coupé sur deux lignes ? Si un point échoue, corrigez et régénérez la vue d'ensemble. - Après la production, lisez le rapport imprimé (également dans
Titre/out/report.txt). S'il y a[Problème]ou[Attention], corrigez et réexécutez ; le plus courant est « trop de texte », raccourcissez-le.
5. Informer l'utilisateur
Dites clairement quatre choses : où se trouve la vidéo finale (le chemin dans la ligne « Vidéo finale : » du rapport, le nom du fichier est title plus .mp4) ; ce que vous avez décidé pour lui (durée, format, style, quelles scènes sont personnalisées) ; quel contenu vous avez ajouté ; vous ne pouvez pas juger de la qualité visuelle ou musicale, demandez-lui de regarder. Si la vidéo finale n'a pas de voix, ajoutez une remarque : pour ajouter un doublage, il doit lui-même trouver un TTS et l'intégrer.
Packs de style
Chaque pack de style est un ensemble complet d'images : les neuf mises en page sont redessinées selon leur propre style, avec leurs propres scènes, accessoires, transitions, sous-titres et effets sonores. Il suffit d'écrire son nom dans theme.
| theme | Aspect | Convient à |
|---|---|---|
papercraft | Dioramas en carton multicouche, personnages en papier, tremblement stop-motion | Vulgarisation légère, présentation produit, petites histoires, vie quotidienne |
clay | Stop-motion en pâte à modeler aux couleurs chaudes, petits personnages ronds | Explications pour débutants, habitudes et santé, contenu pour enfants |
collage | Papier kraft, papier déchiré, ruban adhésif, lettres découpées | Vulgarisation légère, récapitulatifs, ouverture d'émission |
skit | Bureau en illustration plate, deux petits personnages réagissant au contenu | Expliquer des concepts à un public non spécialisé, sujets professionnels |
isometric | Machines 2.5D, tapis roulants, postes de contrôle | Expliquer des processus, des principes, comment un système fonctionne |
cosmos | Espace profond, nébuleuses, corps célestes lumineux et orbites | Vue d'ensemble, hiérarchie, ouverture de série |
dashboard | Écran de données sombre : panneaux qui s'allument, arcs de jauge, graphiques à barres | Contenu avec des chiffres : performances, évaluations, surveillance, coûts |
news | Studio, barre de titre, bande de sous-titres défilante | Brèves, rapports hebdomadaires, reportages de données |
chat | Conversation de chat sur un téléphone, contenu en bulles | Explications orales, études de cas, questions-réponses |
comic | Cases noires, trames, lignes de vitesse, onomatopées | Histoires avec rebondissements, contrastes avant/après |
detective | Tableau en liège, photos Polaroid, post-it, fils rouges | Résolution de problèmes, rétrospective d'un événement |
arcade | Jeu pixel 8-bit : briques, pièces d'or, carte de niveau | Expliquer des étapes, comparer des niveaux, présentation produit légère |
variety | Lettres décoratives à plusieurs contours, lignes radiales, mascotte, bande de commentaires | Les vidéos courtes les plus animées, critiques, récapitulatifs |
vhs | Cassette vidéo : lignes de balayage, changement de chaîne, vieux téléviseur, compteur de bande | Nostalgie, génériques et bandes-annonces de séries |
chrome | Lettres chromées 3D, dégradés liquides, éclats d'étoiles | Phrases courtes pour jeunes, sujets tendance, pas pour le contenu sérieux |
Les aperçus sont dans SKILL/assets/styles.jpg ; si vous pouvez voir des images, regardez d'abord avant de choisir. Les packs de style ont beaucoup de décorations, le texte par scène doit être encore plus court ; news présente le contenu comme un journal télévisé, si le contenu n'est pas une vraie nouvelle, rappelez-le dans le rapport.
Ce ne sont que des points de départ prêts à l'emploi, les styles ne sont pas limités : pour un tout nouvel ensemble (journal intime, disque vinyle, plan de métro, n'importe quoi), suivez references/style-packs.md pour écrire votre propre pack de style.
Douze thèmes intégrés
Les thèmes changent uniquement les couleurs, les arrière-plans et les lignes ; les images n'ont pas de scènes ni d'accessoires. Les conditions d'utilisation sont décrites à l'étape 2 « Choix du style », règle 3.
| theme | Aspect | Convient à |
|---|---|---|
grid | Papier quadrillé beige, violet, carte blanche | Expliquer des concepts, des principes |
minimal | Grands espaces vides, lignes fines, un point bleu | Vidéos de marque calmes et sobres, génériques |
pop | Couleurs contrastées, lignes radiales, contour noir épais | Animé, rythme rapide, plateformes vidéo courtes |
keynote | Dégradé sombre, carte vitrée, lumineux | Nouveaux produits, conclusions importantes, sujets tech |
blueprint | Papier bleu, lignes blanches, annotations jaunes | Expliquer des structures, des architectures, comment assembler |
whiteboard | Tableau blanc, marqueur, cadres dessinés à la main | Enseignant dessinant en expliquant, processus et causes/conséquences |
chalk | Tableau vert foncé, lignes de craie, cadre en bois | Tableau en classe, expliquer des problèmes, formules, étapes |
neon | Nuit violet foncé, lignes lumineuses, grille de perspective | Tech, jeux, musique électronique |
terminal | Fond noir, texte vert, police à chasse fixe, curseur clignotant | Code, ligne de commande, outils de développement |
paper | Papier beige, grand titre avec empattements, rouge | Critique, lecture, sujets humanistes |
ink | Papier de riz, montagnes lointaines, sceau rouge | Culture traditionnelle, poésie, histoire |
bold | Noir et blanc en gras, coupes franches, un rouge | Points de vue, slogans, classements |
Les aperçus sont dans SKILL/assets/themes.jpg. Si l'utilisateur veut d'autres couleurs, utilisez colors.
Mises en page
Chaque scène en choisit une, ou vous en dessinez une. Une scène ne raconte qu'une seule chose.
| layout | Quand l'utiliser | Obligatoire | Non écrit par défaut | Limites |
|---|---|---|---|---|
custom | Éléments visibles du sujet : objets, processus, structures | module, seconds | cues, data | Voir references/custom-scenes.md |
title | Début | title | subtitle, kicker | Titre max 12 caractères |
bars | Comparer des tailles | items (2 à 6 éléments, chaque label et value numérique) | title, unit (suit chaque nombre), highlight (numéro de la barre à mettre en valeur, 1-indexé ; par défaut la plus haute) | label max 8 caractères |
steps | Étapes successives, processus | items (2 à 5 étapes) | title | Chaque étape max 12 caractères |
compare | Comparaison de deux choses | left, right (chacun avec title et 1 à 4 items) | title | Chaque item max 12 caractères |
number | Une quantité réelle, une fois par vidéo | value | unit, label, note | value écrit comme "25", "80%", "1,280" |
statement | Une phrase à retenir, max une fois par vidéo | text | highlight (mot à colorer dans text) | 24 caractères max |
bullets | Plusieurs points parallèles, max une fois par vidéo | items (2 à 5 lignes de texte) | title | Chaque ligne max 18 caractères |
quote | Citation réelle | text | by | 40 caractères max |
end | Fin | title | subtitle, cta (texte du bouton) | Titre max 14 caractères |
unitfait partie du nombre, écrivez-le si nécessaire. Lelabeldenumbern'est écrit que si le nombre et l'unité ne suffisent pas à identifier la quantité.- Chaque mise en page peut ajouter
say(sous-titre) etseconds(durée fixe de cette scène).
Si l'utilisateur fournit des séquences vidéo (prises de vue réelles, captures d'écran, vidéos existantes), il existe également un type clip : insérer un extrait de la séquence et le mélanger avec les mises en page ci-dessus. Une vidéo entièrement composée de clip est un montage. Syntaxe : { "layout": "clip", "file": "素材/采访.mp4", "from": 12.4, "to": 18 }. Comment visualiser la séquence et déterminer quel extrait prélever, voir references/editing.md.
Pour aller plus loin
| Besoin | Lire |
|---|---|
| Dessiner une scène personnalisée : objet, processus, structure (nécessaire pour chaque vidéo) | references/custom-scenes.md |
| L'utilisateur veut une ambiance, une histoire, une scène, des personnages, ou la vidéo entière est conçue sur mesure | references/film.md (vous écrivez comment chaque image est dessinée, le script gère les plans, la musique, la production et l'auto-vérification ; nécessite de voir les images) |
| Tous les champs, changer les couleurs, les polices, fixer la durée d'une scène | references/video-json.md |
| Ajouter une voix (le doublage doit être fourni par l'utilisateur via TTS ou enregistrement), utiliser son propre fichier de musique | references/voice.md, references/video-json.md |
| L'utilisateur fournit des séquences vidéo à intégrer, ou veut monter une vidéo existante | references/editing.md |
L'utilisateur veut continuer le montage dans Final Cut Pro ou CapCut (ajouter --project à la commande de production) | references/editing.md |
| Les thèmes et packs de style existants ne conviennent pas, il faut un tout nouvel ensemble | references/style-packs.md (écrire un pack de style, nécessite d'écrire des centaines de lignes de code de scène et de les modifier visuellement, assurez-vous d'abord de pouvoir le faire) |
| Échec d'installation, polices en carrés, erreur ffmpeg | references/troubleshooting.md |
| L'utilisateur demande explicitement des scènes 3D, des paysages naturels à plein écran que le canevas ne peut pas dessiner | references/pipelines.md (se référer aux pipelines de production, nécessite d'écrire du code, assurez-vous d'abord de pouvoir le faire) |
| L'utilisateur a Blender, GarageBand, ou une clé API pour Doubao Voice, et veut un rendu réaliste, des musiques d'instruments réels, des voix naturelles | references/external-tools.md (aide d'outils externes, pour les modèles puissants, assurez-vous d'abord de pouvoir le faire) |
Ce que cette compétence ne peut pas faire : générer des images de personnes réelles ou de prises de vue réelles à partir de rien (les images réelles ne peuvent être que celles fournies par l'utilisateur) ; effectuer des retouches avancées comme l'étalonnage ou le détourage (exporter le projet vers un logiciel de montage). Si ces besoins se présentent, informez-en honnêtement l'utilisateur.