Legendar o corte atual
Use um projeto salvo com faixas posicionadas e um documento de transcrição em transcript.json. $PROJECT_ID e $REVISION referem-se ao corte atual. Rascunho após edições de tempo. Substitua $PLACEHOLDERS por valores reais; envie as chamadas cutbolt_* listadas sem comando, ou use cutbolt_run com comando/argumentos. Mantenha a renderização bloqueante em job.start.
{"command":"captions.draft","project":{"project_id":"$PROJECT_ID"},"transcripts":[{"file":"transcript.json"}]}
Revise o texto das indicações e o tempo no documento retornado, depois mantenha-o como $CAPTION_DOCUMENT. Corrija erros de reconhecimento antes de renderizar. $FONT é um objeto de identidade/caminho de fonte (por exemplo {"path":"font.ttf"}) ou um nome instalado sem ambiguidade de fonts.find. $FONT_SIZE, $LINE_HEIGHT e $CAPTION_RECT são valores de layout em pixels que se ajustam ao projeto. Escolha espaço suficiente para as indicações reais. O excesso é rejeitado, para que texto cortado não passe despercebido.
{"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 é o ticket retornado.
{"command":"job.wait","job_id":"$JOB_ID","timeout_seconds":120}
Continue somente quando o status for 'completado'. Mantenha result.operations como $CAPTION_OPERATIONS (uma referência de arquivo) e result.expected_revision como $CAPTION_REVISION. Aplique essa proposta na revisão registrada. O comando cria a faixa de legendas se ela estiver ausente. Se ela já tiver legendas sobrepostas, remova explicitamente os clipes antigos pretendidos e prepare novamente contra o novo cabeçalho. Não duplique legendas nem sobrescreva gráficos não relacionados.
{"command":"session.apply","project_id":"$PROJECT_ID","expected_revision":"$CAPTION_REVISION","request_id":"attach-captions","operations":"$CAPTION_OPERATIONS"}
Mantenha a nova revisão. Exporte e inspecione as legendas reais em momentos representativos, incluindo a primeira e a última indicação. Uma edição de tempo após esta etapa precisa de legendas regeneradas. Os clipes salvos retêm receitas de cena editáveis e renderizam diretamente com o material de origem; nenhum filme de legenda intermediário é compilado. Mantenha o documento de legenda para edições futuras de texto/tempo.
Para uma fonte local fornecida, use um objeto de caminho; strings nomeiam famílias de fontes instaladas. Fontes instaladas ausentes ou ambíguas precisam de uma identidade utilizável de fonts.find. Para estouro de texto, ajuste o layout da caixa/fonte/indicação e use um novo nome de arquivo de saída. Para uma revisão desatualizada, verifique se o tempo da timeline mudou antes de anexar. Reutilize o ID de solicitação de uma edição incerta e inspecione session.receipt; job.wait retornar um ticket não é prova de uma renderização concluída.
Este fluxo de trabalho funciona no Windows e Linux com FFmpeg/ffprobe externo. O reconhecimento de fala, quando necessário, requer um runtime e modelo local configurados separadamente. Gravação e decodificação por hardware não têm backend Linux. O plugin não inclui mecanismo, fontes, modelos ou ferramentas de mídia.