Barre de progression de chapitres vidéo
Flux utilisateur
- Vérifiez d'abord si l'utilisateur a déjà téléchargé un fichier SRT dans la conversation actuelle, ou s'il a explicitement fourni le chemin d'accès au fichier SRT à utiliser. Seuls les sous-titres de cette source peuvent être lus directement. Si la conversation actuelle ne contient pas de SRT fourni par l'utilisateur, vous devez répondre : « Veuillez d'abord télécharger le fichier SRT de cette vidéo. Je vous proposerai une segmentation sous forme de tableau dès que je l'aurai lu, puis j'attendrai votre confirmation avant de créer la barre de progression. » Attendez ensuite que l'utilisateur fournisse le fichier. Ne recherchez pas de fichiers SRT sur l'ordinateur local, dans l'espace de travail, dans des projets historiques, dans le dossier de téléchargement, dans d'autres conversations ou dans votre mémoire. Ne choisissez pas non plus un fichier SRT qui vous semble approprié. Les fichiers déjà fournis par l'utilisateur dans la conversation actuelle peuvent être réutilisés sans les redemander. Si plusieurs fichiers sont fournis sans indication, demandez lequel utiliser. Si le fichier spécifié n'est pas lisible, demandez à l'utilisateur de le télécharger à nouveau ou de vérifier le chemin. Ne recherchez pas de fichier de remplacement. Utilisez le contenu d'échantillon intégré uniquement si l'utilisateur demande explicitement à voir un style ou à créer un échantillon de durée fixe. Une simple phrase « Génère-moi une barre de progression » ne constitue pas une exception.
- Lisez l'intégralité du fichier SRT. Suggérez un nombre de chapitres en fonction du contenu sémantique, des transitions thématiques, de la durée de la vidéo et des besoins de l'utilisateur, sans limite fixe. La division spécifiée par l'utilisateur est prioritaire. Dites d'abord « Je suggère de diviser en X segments », puis listez les suggestions de segmentation dans le tableau ci-dessous. Attendez la confirmation de l'utilisateur avant de continuer. Si l'utilisateur demande une fusion ou une division, mettez à jour l'intégralité du tableau, puis redemandez confirmation. N'utilisez pas une simple liste de texte à la place du tableau. Ne demandez pas à l'utilisateur de vérifier les codes temporels.
- Une fois la segmentation confirmée, si le ratio de la vidéo n'a pas été clairement défini dans la session actuelle, vous devez d'abord demander : « Quel est le ratio de votre vidéo ? 4:3, 16:9, 3:4, ou autre ? » Attendez la réponse avant de continuer. Ne déduisez pas le ratio par défaut à partir des sous-titres, d'un ancien échantillon ou de la taille d'aperçu du Playground. Si le ratio a déjà été défini ou si la vidéo source est disponible pour vérifier la taille, utilisez-le directement sans redemander.
- Exécutez le script
scripts/playground_server.mjsde ce Skill. Ouvrez l'progressUrlretourné par le lancement pour afficher un échantillon dynamique réel. Le script de lancement réutilise automatiquement le service de la même version. Si le port est occupé par un autre programme ou une version plus ancienne, il change automatiquement de port. Ne considérez pas l'occupation du port par défaut comme un échec d'installation. Ne réutilisez pas directement une ancienne page non vérifiée et n'arrêtez pas un processus inconnu. Demandez à l'utilisateur de répondre avec le nom du style. N'exigez pas qu'il juge de l'animation ou de l'encodage. Ne redemandez pas le style s'il a déjà été choisi. - Ne gérez le personnage que si l'utilisateur sélectionne « Personnage marchant en tête » ou « Texte marchant en tête ». Lisez le personnage par défaut enregistré localement selon references/characters.md. Si l'utilisateur a spécifié un personnage pour cette session, utilisez-le en priorité. Sinon, s'il existe un personnage par défaut, utilisez-le en l'indiquant brièvement. Ne demandez pas à nouveau ni ne générez de personnage. S'il n'y a pas d'enregistrement, demandez si l'utilisateur souhaite fournir une image personnalisée. Sinon, utilisez le personnage intégré. L'absence de réponse ne signifie pas l'absence de personnage. Si l'effet de marche des nouveaux personnages personnalisés est validé, enregistrez-le dans le dossier
user-data/characters/du Skill installé localement, pour qu'il devienne le nouveau personnage par défaut. Si l'utilisateur précise que c'est uniquement pour cette session, ne modifiez pas le personnage par défaut. Ne demandez, ne lisez et n'enregistrez pas de personnage si un style sans personnage est sélectionné. Les images originales, les frames d'action et la configuration de l'utilisateur ne doivent pas être écrits dans les assets publics, ni dans SKILL.md, ni dans un commit Git, ni sur GitHub. Lors d'une mise à jour de l'installation, conservez les données utilisateur locales. - En fonction du ratio vidéo confirmé, des chapitres et du style, suivez references/rendering.md pour enregistrer la configuration, effectuer un dry-run, générer, vérifier, puis livrer une bande fine en ProRes 4444 MOV. Si les sous-titres sont ajoutés, supprimés ou si la vitesse change après la génération, une nouvelle synchronisation est nécessaire.
Format de sortie fixe pour les suggestions de segmentation
| Segment | Titre court de la barre de progression | Résumé du contenu | Texte de début | Texte de fin |
|---|---|---|---|---|
| 1 | Nom court du chapitre | Ce que contient ce segment | Citation textuelle de la première phrase du segment dans le SRT | Citation textuelle de la dernière phrase du segment dans le SRT |
Une ligne par segment. Le titre est utilisé pour la barre de progression. Le résumé aide l'utilisateur à juger de la segmentation. Les citations aident l'utilisateur à se repérer. Après le tableau, demandez à l'utilisateur s'il approuve ou s'il souhaite fusionner, diviser ou modifier les titres. Les citations ne doivent pas être transformées en résumé. Si le nombre de chapitres est trop important et que le texte ne tient pas, expliquez le problème de mise en page réel et proposez des solutions (raccourcir les titres, ajuster la taille de la police ou d'autres options de mise en page). Laissez l'utilisateur décider. Ne forcez pas la segmentation en 5 segments ni ne fusionnez des chapitres déjà confirmés.
Les informations confirmées restent valides pour toute la session. Ne les demandez pas à nouveau. Ne modifiez pas le texte, les sous-titres ou la vidéo originale sans autorisation explicite.
Styles validés
-
Fond blanc doux (
soft-white-green) : Barre horizontale rectangulaire, fond blanc semi-transparent, texte blanc et séparation par des barres verticales, remplissage qui progresse avec le temps du segment. -
Personnage marchant en tête (
walking-leading) : Reprend la barre ci-dessus, ajoute un personnage qui marche en tête du remplissage. Le personnage est à la même hauteur que la barre, son corps est légèrement décalé vers le bas, dépassant au maximum de la moitié de la hauteur de la barre, sans marcher au-dessus. -
Ligne pointillée (
dot-line) : Ligne fine avec des points qui changent de couleur selon la progression du chapitre. Espace de 6 px entre le texte et les points. -
Segments courts (
short-segments) : Une courte barre par chapitre, remplie selon la durée du chapitre. Espace de 6 px entre le texte et la barre courte. -
Texte marchant en tête (
text-leading) : Le texte change de couleur selon la progression du chapitre. Un personnage marche en tête. Pas de barre de fond longue. Petite police sans contour. Rendu en précision 4x avec une seule composition de transparence.
Les cinq styles permettent de modifier librement la couleur de remplissage RVB. Les trois nouveaux styles prennent en charge des tailles de police de 18 à 72 px (calculées en pixels exportés), avec des valeurs par défaut respectives de 24, 26 et 25 px. La hauteur de sortie s'adapte automatiquement au texte. Le vert n'est qu'une couleur par défaut. La teinte choisie par l'utilisateur dans le Playground doit être intégrée à la configuration finale. Ne pas prévisualiser avec une couleur différente et exporter en vert.
Les règles source sont references/confirmed-rules.md. Le registre des styles est assets/progress/styles.json. Seuls les styles validés doivent être affichés et générés. Les nouveaux styles doivent être enregistrés après que l'utilisateur a vu un échantillon réel et les a approuvés.
Validation et livraison
- Les scripts vérifient la plage des sous-titres, la mise en page des titres, les dimensions, le décodage complet, le nombre d'images, la durée et les pixels transparents. L'agent doit également ouvrir une planche contact, des frames exportés réels et un aperçu dynamique pour vérifier la boucle du personnage, le recadrage, les transitions de chapitre et les couleurs.
- Fond blanc doux : 1440×64 ; Personnage marchant en tête : 1440×96 (hauteur de barre 64, personnage max 64, dépassement max 32). Nouveaux styles : 1440×78, 1440×70, 1440×96 par défaut ; Texte marchant en tête : personnage max 64, dépassement max 32. Si la hauteur de la barre change, recalculez selon la même proportion. Par défaut, n'exportez pas la toile entière.
- Le fichier téléchargé est une bande fine ProRes 4444 MOV. Le WebM transparent est destiné à l'aperçu dans le navigateur ;
reference-qtrle.movest uniquement pour la validation interne, pas pour la livraison. N'utilisez pas de MP4 classique pour remplacer une vidéo transparente. - Seules la barre et le personnage doivent être transparents. La couleur de fond de l'aperçu, les diagonales ou les motifs en damier ne doivent pas être intégrés dans le fichier.
- L'utilisateur a validé cette bande fine ProRes 4444 dans CapCut. Les nouveaux fichiers doivent encore être vérifiés ; ne considérez pas qu'un rendu correct dans le navigateur ou la présence d'un canal alpha garantit une compatibilité avec toutes les versions de CapCut.
- Renvoyez le lien absolu du fichier final. Expliquez qu'il doit être placé sur la piste au-dessus de la vidéo originale, aligné au début, à la vitesse d'origine, étalé sur toute la largeur et déplacé en haut. Les échantillons doivent clairement indiquer la durée et ne pas se faire passer pour la barre de progression de la durée totale de la vidéo de l'utilisateur.
Pour générer de courtes animations indépendantes de quelques secondes à partir de texte, utilisez ll-video-motion pour les transitions de chapitres. Pour le doublage, les sous-titres complets et le montage de séquences continues, utilisez ll-video-edit.