Légender la coupe actuelle
Utilisez un projet sauvegardé avec des pistes placées et un document de transcription nommé transcript.json.
$PROJECT_ID et $REVISION font référence à la coupe en cours. Ébauchez après les modifications de timing.
Remplacez les $PLACEHOLDERS par des valeurs réelles ; envoyez les appels cutbolt_* listés sans commande,
ou utilisez cutbolt_run avec commande / arguments. Maintenez le rendu bloquant dans job.start.
{"command":"captions.draft","project":{"project_id":"$PROJECT_ID"},"transcripts":[{"file":"transcript.json"}]}
Examinez le texte des répliques et le timing dans le document retourné, puis conservez-le en tant que $CAPTION_DOCUMENT.
Corrigez les erreurs de reconnaissance avant le rendu. $FONT est un objet identifiant/chemin de police (par exemple {"path":"font.ttf"}) ou un
nom installé non ambigu provenant de fonts.find. $FONT_SIZE, $LINE_HEIGHT et $CAPTION_RECT
sont des valeurs de mise en page en pixels adaptées au projet. Choisissez un espace suffisant pour les répliques réelles.
Un débordement est rejeté, donc un texte coupé ne peut pas passer silencieusement.
{"command":"job.start","request_id":"caption-render","run":"captions.render","arguments":{"document":"$CAPTION_DOCUMENT","project":{"project_id":"$PROJECT_ID"},"layouts":{"default":{"fonts":["$FONT"],"size":"$FONT_SIZE","rect":"$CAPTION_RECT","line_height":"$LINE_HEIGHT","letter_spacing":0,"wrap":"none","overflow":"reject"}},"output":"caption-edits.json","mode":"generated","track_id":"captions","asset_id":"caption"}}
$JOB_ID est le ticket retourné.
{"command":"job.wait","job_id":"$JOB_ID","timeout_seconds":120}
Continuez uniquement lorsque le statut est completed. Conservez result.operations en tant que $CAPTION_OPERATIONS
(une référence de fichier) et result.expected_revision en tant que $CAPTION_REVISION. Appliquez cette proposition
à sa révision enregistrée. La commande crée la piste de légendes si elle est absente. Si elle contient déjà
des légendes qui se chevauchent, supprimez explicitement les anciens clips prévus et préparez à nouveau
contre la nouvelle tête. Ne dupliquez pas les légendes et n'écrasez pas les graphiques non liés.
{"command":"session.apply","project_id":"$PROJECT_ID","expected_revision":"$CAPTION_REVISION","request_id":"attach-captions","operations":"$CAPTION_OPERATIONS"}
Conservez la nouvelle révision. Exportez et inspectez les légendes réelles à des moments représentatifs, y compris les première et dernière répliques. Une modification de timing après cette étape nécessite des légendes régénérées. Les clips sauvegardés conservent des recettes de scène éditables et s'affichent directement avec les séquences vidéo ; aucun film intermédiaire de légendes n'est compilé. Conservez le document de légendes pour les futures modifications de texte/timing.
Pour une police locale fournie, utilisez un objet chemin ; les chaînes nomment les polices installées.
Les polices installées manquantes ou ambiguës nécessitent une identité utilisable depuis fonts.find. En cas de débordement de texte,
ajustez la boîte/police/mise en page des répliques et utilisez un nouveau nom de fichier de sortie. Pour une révision périmée,
vérifiez si le timing de la timeline a changé avant l'attachement. Réutilisez l'ID de demande d'une modification incertaine
et inspectez session.receipt ; un job.wait retournant un ticket ne prouve pas un rendu terminé.
Ce workflow fonctionne sur Windows et Linux avec FFmpeg/ffprobe externe. La reconnaissance vocale, lorsqu'elle est nécessaire, nécessite un moteur local et un modèle configurés séparément. L'enregistrement et le décodage matériel n'ont pas de backend Linux. Le plugin ne contient aucun moteur, police, modèle ou outil multimédia.