Que fait Collage Video Studio ?
Dirigez une production comme un projet reposable. Conservez l'intention créative dans project.json, les résultats générés dans state.json, l'exécution des fournisseurs derrière des manifests JSONL, et les sorties dérivées dans media/, qa/, reports/ et exports/.
Acheminer la demande
Lisez la conversation et inspectez tout répertoire de projet fourni avant de demander des informations que l'utilisateur a déjà fournies.
| Intention utilisateur | Action |
|---|---|
| Démarrer, faire, créer | Initialiser et rédiger le scénario |
| Continuer, reprendre, quelle est la prochaine étape | Exécuter project_ops.py next et exécuter son action unique |
| Statut, bloqué, échoué | Exécuter studio.py status --verbose, puis diagnostiquer la plus petite unité |
| Sauvegarder, point de contrôle | Créer un point de contrôle de projet/état immuable |
| Revenir en arrière, restaurer | Lister les points de contrôle ; restaurer uniquement celui sélectionné par l'utilisateur |
| Auditer, vérifier, prêt à publier | Exécuter la QA technique, puis la révision créative humaine |
| Rapport, empaqueter, remettre | Générer un rapport fondé et une archive portable |
| Ajouter ou changer de fournisseur | Lire le contrat backend et implémenter un adaptateur |
S'il n'existe aucun projet ou briefing utilisable, ne demandez que l'idée/la source, la durée cible et la langue. Utilisez --aspect auto sauf si l'utilisateur ou la plateforme cible fixe déjà le cadre. Affichez le format d'image résolu et la raison dans le premier examen de la carte des beats.
Sélectionner le mode d'entrée
topic: créer une narration et des visuels à partir d'une idée.footage: restyler une vidéo de performance existante tout en conservant le timing et l'audio original.photo: ancrer une vraie photo de portrait ou de produit dans des scènes générées.
Ne jamais altérer la photo ou la séquence originale.
Initialiser
Localisez ce répertoire de compétence, puis exécutez :
python scripts/studio.py doctor
python scripts/studio.py init <project-dir> --mode topic \
--topic "<topic>" --duration 30 --aspect auto --language zh
Lisez :
- production-standard-v6.md en premier pour toute nouvelle production de portefeuille ; il rend obligatoires le film Remotion formel, la provenance de production, la diversité du film entier, la direction réactive, la preuve d'action et la preuve de composition à l'échelle du projet ;
- production-protocol-v5.md en premier pour toute nouvelle production ; il lie les scénarios, le storyboard, les familles de sources, les dépenses des fournisseurs, le timing, la révision, la preuve et l'invalidation à l'exécution ;
- story-system.md avant d'écrire les beats ;
- visual-system.md avant d'écrire les thèmes ou les prompts ;
- layered-motion.md lorsque le déplacement indépendant des couches ou le parallaxe déterministe sont requis ;
- advanced-layer-primitives.md avant de créer des familles de sources enregistrées, des séquences de poses, une visibilité persistante, des bandes en boucle ou des champs de motifs avec graine ;
- editorial-composition.md avant de créer des groupes récursifs, des graphiques texte/données modifiables, un parallaxe couplé à la caméra ou des plans de direction réactifs ;
- semantic-contracts.md avant de générer une identité nommée, une topologie spatiale, une explication de mécanisme ou une infographie ;
- quality-gates.md avant d'accepter des découpes ou des scènes compilées ;
- responsive-direction.md lors de la livraison de plusieurs formats d'image ;
- provider-lifecycle.md avant la génération payante, le rejet, la récupération, le remplacement ou la réutilisation délibérée d'artefacts ;
- production-profiles.md avant la génération payante ; il définit les seuils brouillon/équilibré/profondeur totale, les budgets de tentatives exacts, les empreintes d'artefacts et l'invalidation QA ;
- directed-motion.md avant d'animer un plan en couches de qualité portefeuille ; il définit l'action principale, la cause physique, le timing en trois phases, la densité et les arrêts ;
- motion-audit.md lors de l'ajout de couches suiveuses, de verrous de contact ou de vérification des sauts de transformation avant la livraison ;
- smooth-keyframes.md avant d'animer des personnes ou des objets lorsque la lecture fluide est plus importante que le réalisme anatomique ;
- articulated-rigs.md lorsqu'une personne, un animal ou un mécanisme a besoin d'un mouvement connecté d'épaule, de coude, d'aile, de roue ou de charnière ;
- locomotion.md avant de déplacer la racine d'un personnage articulé à travers le cadre ; il définit l'alternance des pieds plantés et l'examen du cycle de marche complet ;
- production-standard.md pour l'animation papier de qualité portefeuille, les poses créées, la voix naturelle et la qualité de livraison vidéo sociale ;
- production-closure.md pour l'éditeur Remotion, les trames exactes menées par la narration, l'exécution sémantique, les piles de profondeur enregistrées et les trois types de preuve ;
- voice-continuity.md avant d'écrire, générer ou approuver la narration ;
- delivery-qa.md avant de rendre ou de diagnostiquer des mouvements saccadés, des fins de plan figées ou la sonie du mix final ;
- aspect-direction.md avant de verrouiller le paysage ou le portrait ;
- project-schema.md lors de l'édition de fichiers ou de backends ;
- operations.md lors de la reprise, de la récupération ou de l'exécution de tâches ;
- replicate-backend.md pour le backend de production fourni ;
- acceptance.md avant de revendiquer la finition.
Porte 1 — approuver le scénario
Remplissez creative.arc, beats et shots.
Avant l'approbation, compilez exactement trois scénarios, approuvez un plafond exact et compilez le storyboard rythmique :
Enregistrez d'abord la carte de style versionnée, le format d'image et la décision d'admission du parallaxe :
python scripts/intake.py choose --aspect <16:9|9:16|1:1> \
--style <style-id> --parallax <none|restrained|cinematic> \
--note "<human decision>" --output <project-dir>/build/intake-decision.json
python scripts/production_protocol.py scenarios project.json \
--output build/scenarios.json
python scripts/production_protocol.py approve build/scenarios.json <profile> \
--note "<human decision>" --output build/scenario-decision.json
python scripts/production_protocol.py storyboard project.json \
build/scenarios.json build/scenario-decision.json \
--output build/storyboard.json
Copiez le plafond sélectionné dans production.approved_visual_attempt_cap. Le profil est à la fois un plafond et un plancher d'exécution. N'utilisez pas automatiquement la réserve de récupération.
- Rendez l'ouverture compréhensible en moins de trois secondes.
- Donnez à chaque beat une affirmation ou un tournant émotionnel.
- Déclarez des contrats sémantiques pour l'identité, la topologie, le mécanisme et les affirmations infographiques.
- Donnez à chaque affirmation factuelle un moment de preuve à l'intérieur du beat qui la présente.
- Donnez à chaque scène au moins trois phases rythmiques contiguës avec des moments d'établissement, d'action/pic et de preuve finale ; la phase finale reste à ou après un temps normalisé de
0,82. - Liez le son critique et l'action visuelle au même identifiant de preuve dans un seul catalogue d'événements.
- Définissez
transition_intentparmi révéler, comparer, traverser, expliquer, souligner, changer de temps ou changer de lieu ; laissez le compilateur choisir un mécanisme cohérent. - Préférez le contexte plus le détail : deux plans variés par beat narré.
- Gardez les plans de production ordinaires entre 3 et 6 secondes.
- Écrivez un
element_motionconcret ; n'utilisez pas "rendre dynamique". - Pour un travail en couches dirigé, ajoutez
shot.direction.primary_action,physical_causeetmotion_density. Un plan reçoit une action principale lisible. - Pour les séquences, définissez
start_setend_sdu beat. - Pour une photo, définissez
source.anchor_policy.
Exécutez :
python scripts/studio.py validate <project-dir> --stage story
Montrez la carte des beats à l'utilisateur. Ne générez pas de médias avant l'approbation. Après l'approbation :
python scripts/studio.py approve <project-dir> --gate story --note "user approved"
python scripts/project_ops.py checkpoint <project-dir> --note "story approved"
Porte 2 — approuver la direction visuelle
Créez exactement trois candidats sous creative.candidate_themes. Faites-les différer par le medium, la palette, la typographie, la texture, la composition et le caractère du mouvement.
python scripts/studio.py jobs <project-dir> --stage styles
Exécutez chaque aperçu sur le même beat représentatif et enregistrez chaque résultat. Montrez les trois ensemble. Après le choix de l'utilisateur :
python scripts/studio.py choose-theme <project-dir> <theme-id>
python scripts/studio.py approve <project-dir> --gate style --note "user approved"
python scripts/project_ops.py checkpoint <project-dir> --note "visual direction approved"
Ne remplacez jamais silencieusement un format d'image non pris en charge.
Produire les médias
Pour chaque étape :
python scripts/studio.py jobs <project-dir> --stage images
python scripts/job_runner.py <project-dir> --stage images \
--adapter <adapter.py> --dry-run
python scripts/job_runner.py <project-dir> --stage images \
--adapter <adapter.py> --retries 1
Les nouveaux projets de type sujet et photo utilisent par défaut un mouvement en couches déterministe. Utilisez la génération image-vers-vidéo uniquement lorsque l'utilisateur valorise explicitement la déformation créée par le modèle par rapport à l'éditabilité et la reproductibilité ; répétez les étapes médias pour motion, voice et music.
Lorsque la demande nécessite des objets en papier se déplaçant indépendamment, un parallaxe modifiable ou un contrôle explicite de l'avant-plan/milieu/arrière-plan, définissez motion.pipeline sur layered, puis exécutez :
python scripts/studio.py jobs <project-dir> --stage layers
python scripts/job_runner.py <project-dir> --stage layers --adapter <layer-aware-adapter.py>
python scripts/studio.py jobs <project-dir> --stage motion
python scripts/job_runner.py <project-dir> --stage motion --adapter <layer-aware-adapter.py>
Lisez layered-motion.md pour le contrat des PNG transparents et de layers.json. Ne présentez pas une image clé aplatie avec un zoom ou un panoramique sur tout le cadre comme un mouvement multicouche. Pour une livraison fluide, tous les nouveaux projets de production utilisent par défaut 30 fps. Conservez motion.frame_conversion: "auto" afin que les clips de fournisseurs en dessous de la cible soient interpolés en mouvement plutôt que remplis de trames dupliquées. Utilisez des courbes continues pour les images clés intérieures, décalez les objets en boucle avec phase_s, et inspectez le MP4 plutôt qu'un GIF à faible fréquence d'images. Utilisez un suréchantillonnage 2× lorsque les mouvements lents montrent un pas d'un pixel. Le mode séquence ignore images et layers ; le mode séquence préservant l'audio original ignore voice.
Pour les médias créés par un outil d'image côté hôte, réservez l'appel avant la génération et terminez ou rejetez la tentative exacte après :
python scripts/external_media.py reserve <project-dir> image:<source-id> \
--provider <provider> --model <model> --prompt "<exact production prompt>"
python scripts/external_media.py complete <project-dir> <attempt-id> <output-file>
python scripts/external_media.py reject <project-dir> <attempt-id> \
--reason "<review failure>"
Ne copiez pas une sortie hôte non enregistrée directement dans un paquet de couches. La production de portefeuille accepte uniquement les sources générées par un fournisseur, fournies par l'utilisateur, sous licence, commandées ou dérivées liées à une empreinte. placeholder: true bloque toujours la livraison.
Pour le travail éditorial, créez une composition récursive et compilez des plans de direction séparés :
python scripts/editorial_contract.py composition.json \
--kind composition --output result/manifests
python scripts/asset_quality.py result/manifests/composition-9x16.json \
--mode composition
Ne recadrez pas une mise en page paysage en portrait. Replacez le titre, le sujet, les données, les annotations et les papiers d'arrière-plan via des surcharges de nœuds. Validez les zones de sécurité et l'ajustement du texte modifiable pour chaque format. Utilisez des primitives locales vectorielles/texte/graphiques lorsque le contenu doit rester exact et modifiable. Utilisez data-svg pour les chemins structurés, les courbes, les étiquettes et les marques. Donnez aux annotations des exclusions explicites ; le compilateur doit trouver une position sans collision sur toutes les annotations ou s'arrêter.
Pour un déplacement horizontal soutenu, créez un looping-environment et exécutez world_motion.py. Exigez des bandes lointaines/de sol, une vitesse de profondeur croissante, des ancres d'écran/monde de participants, une occlusion de plan proche, trois plans de format, des preuves de couture et des trajectoires signées compensées par la caméra. Lisez production-standard-v6.md et production-protocol-v5.md.
Déclarez des source_packages couplés avant l'utilisation d'un fournisseur. Le mouvement relatif arrière/sujet/avant nécessite une famille enregistrée complète et des enveloppes de révélation pour 16:9, 9:16 et 1:1. Dérivez-la avec registered_family.py ; ne générez ni ne remplacez jamais un membre isolé. Observez le plan clé natif du fournisseur non touché avant la suppression du chroma et conservez sa source, sa politique et ses empreintes d'observation.
Inspectez et éditez le même manifeste dans l'espace de travail Remotion réel :
cd workspace
npm ci
npm run dev
Le Player doit préserver les groupes récursifs, la profondeur, les images clés, les points d'édition, les séquences d'état, la visibilité persistante, l'emphase transitoire, les bandes en boucle, les champs de motifs, les moments de preuve, les liaisons audiovisuelles et le plan de direction sélectionné. Validez avec npm run build et npm run render avant la livraison.
Pour un travail soigné, définissez motion.directed_motion sur true et suivez directed-motion.md. N'animez pas chaque couche pour satisfaire un quota. Déclarez les couches principales, la cause physique, les phases d'anticipation/action/établissement et toute pause de lecture intentionnelle. Un visage, un sol, un horizon ou une table doivent normalement rester stables pendant que la preuve se déplace. Utilisez un ease d'arrivée par image clé lorsque l'anticipation et l'établissement nécessitent un timing différent.
Attachez les roues, les parties articulées, la flamme, les vêtements et autres réponses secondaires motivées avec follow ; héritez uniquement des propriétés parent qu'ils partagent physiquement. Déclarez direction.secondary_responses et verrouillez les propriétés plantées ou posées avec direction.contacts. Exécutez
... [tronqué pour la traduction]