Guia de Segmentos
Visão Geral
Segmentos permitem sincronizar diferentes clipes de áudio para diferentes intervalos de tempo dentro de um único vídeo em uma chamada de API. Isso possibilita sincronização labial multi-falantes ao permitir que você atribua diferentes entradas de áudio para diferentes partes do seu vídeo. Usando segmentos, você pode:
- Sincronizar labialmente diferentes clipes de áudio para diferentes partes do seu vídeo
- Usar uma porção específica da entrada de áudio para sincronizar um segmento com precisão de tempo
- Usar entradas de áudio e texto para fala para sincronizar múltiplos segmentos com diferentes tipos de entrada em uma única geração
Conceitos Básicos
Para usar o recurso de segmentos, você precisa fornecer um array de nível superior segments com cada item definindo um intervalo/segmento de tempo do vídeo, cada um com sua própria configuração de áudio.
Segmento
Cada item de segmento possui as seguintes propriedades:
Tempo de início do segmento em segundos
Tempo de término do segmento em segundos
Configuração de áudio com refId e recorte opcional
Sobrescreve opções de geração para este segmento específico
audioInput
Cada segmento requer exatamente um audioInput. audioInput possui as seguintes propriedades:
ID de referência da entrada de áudio/texto para fala a ser usada neste segmento
Tempo de início opcional (em segundos) para recortar o áudio referenciado. Quando especificado, endTime também deve ser fornecido
Tempo de término opcional (em segundos) para recortar o áudio referenciado. Quando especificado, startTime também deve ser fornecido
O audioInput especificado será usado para sincronizar labialmente o segmento de vídeo entre startTime e endTime.
optionsOverride
Cada segmento pode opcionalmente sobrescrever as opções de geração de nível superior. Isso permite aplicar configurações diferentes por segmento, incluindo direcionar diferentes falantes.
Para vídeos multi-falantes, use active_speaker_detection para direcionar uma pessoa diferente em cada segmento. Veja Seleção de Falante - API para detalhes completos sobre opções de seleção de falante.
Sobrescreve o modo de sincronização para este segmento
Sobrescreve a expressividade (0-1) para este segmento
Sobrescreve a detecção de oclusão para este segmento
Sobrescreve a detecção de falante ativo para este segmento. Útil quando diferentes segmentos têm falantes diferentes. Aceita as mesmas opções que o active_speaker_detection de nível superior:
auto_detect: detecta e direciona automaticamente o falante ativov3: usa ASD v3frame_number+coordinates: especifica manualmente o falante por quadro e pontobounding_boxes: fornece caixas delimitadoras por quadro se você tiver dados de detecçãobounding_boxes_url: aponta para um arquivo JSON externo contendo caixas delimitadoras (recomendado para vídeos longos para evitar cargas úteis grandes na requisição)
Como funciona o tempo e duração dos segmentos
Quando o áudio de um segmento e sua janela de vídeo (endTime − startTime) têm durações diferentes, o sync_mode decide como a discrepância é resolvida - e o modo escolhido altera a duração efetiva desse segmento na saída:
Em resumo, o comprimento efetivo de um segmento é cut_off → min(áudio, janela), silence → max(áudio, janela), e loop / bounce / remap → o comprimento do áudio.
As mesmas regras se aplicam a uma geração de segmento único (não-segments), onde a “janela” é o vídeo inteiro. Um áudio de 30s em um vídeo de 15s com sync_mode: cut_off produz uma saída de 15s (cortada para o vídeo); silence / loop / bounce / remap produzem uma saída de aproximadamente 30s.
A saída pode ser maior que o vídeo fonte
Cada segmento posiciona seu trecho de áudio em sua própria janela na linha do tempo, e cada janela se expande para acomodar seu áudio (conforme o sync_mode acima). Quando há lacunas entre segmentos, essas janelas expandidas deslocam o restante da linha do tempo - então a saída pode ser maior que o vídeo fonte. Por exemplo, dois segmentos [1s - 3s] e [5s - 8s] em um vídeo de 10s podem produzir uma saída de aproximadamente 16,8s: cada janela esticada para acomodar seu áudio completo. Isso é comportamento esperado, não um erro.
Para manter a saída com a mesma duração do vídeo fonte, recorte cada trecho de áudio para sua janela com audioInput.startTime/endTime, assim o trecho tem exatamente a duração da janela e a janela não se expande:
Aqui o trecho de áudio de 2 segundos preenche exatamente a janela de 2 segundos, então a linha do tempo - e a duração da saída - permanecem alinhadas com a fonte.
Exemplos de Uso da API
Segmento Único com Áudio Único
Múltiplos Segmentos com Áudio Único
Múltiplos Segmentos com Entrada de Áudio Única
Múltiplos Segmentos com Múltiplos Áudios
Múltiplos Segmentos com Entrada de Áudio Única
Segmentos com Sobrescrita de Opções
Segmentos com Opções por Segmento
Use optionsOverride para aplicar configurações de geração diferentes para cada segmento.
Segmentos Multi-Falantes com Detecção de Falante Ativo
Direcione Falantes Diferentes por Segmento
Use active_speaker_detection em optionsOverride para direcionar falantes diferentes em cada segmento. Isso é útil quando um vídeo tem várias pessoas e diferentes segmentos devem sincronizar labialmente com falantes diferentes.
Veja Seleção de Falante - API para detalhes sobre as opções de active_speaker_detection.
Melhores Práticas
Planejando Seus Segmentos
- Mapeie sua linha do tempo: Identifique segmentos de vídeo e necessidades correspondentes de áudio
- Prepare os arquivos de áudio: Garanta qualidade de áudio e duração apropriada
- Teste os limites dos segmentos: Verifique transições suaves entre segmentos
Preparação do Áudio
- Use qualidade de áudio consistente em todos os segmentos e no áudio do vídeo.
- Para melhores resultados, assegure alinhamento de tempo adequado com os segmentos do vídeo. Se a duração do segmento e a duração do áudio correspondente não coincidirem, confie no sync_mode para determinar como lidar com a discrepância.
Solução de Problemas
Erros Comuns
"Múltiplas entradas de áudio são permitidas apenas ao usar multi-segmentos"
Forneça um array segments de nível superior ao usar múltiplas entradas de áudio ou texto.
"Não foi possível resolver a URL da entrada de áudio"
Certifique-se de que todas as entradas de áudio tenham valores válidos para url ou assetId e que os valores refId referenciados existam em suas entradas de áudio ou texto.
"Segmento no índice X está sem um audioInput.refId válido"
Este erro ocorre quando o audio_input de um segmento está sem um refId ou o refId está vazio. Cada segmento deve referenciar uma entrada válida de áudio ou texto através do seu refId.
"Segmento no índice X referencia um refId desconhecido"
Este erro ocorre quando um segmento referencia um refId que não existe em suas entradas de áudio ou texto. Certifique-se de que todos os valores refId referenciados correspondam exatamente aos definidos em suas entradas.
"Intervalo de tempo do segmento inválido: startTime deve ser <= endTime"
O startTime de cada segmento deve ser menor ou igual ao seu endTime. Segmentos de duração zero (onde startTime é igual a endTime) são permitidos para casos de uso como pontos de recorte de duração zero.
"Intervalo de quadro do segmento inválido: startFrame deve ser < endFrame"
Ao especificar limites de segmento usando quadros em vez de segundos, startFrame deve ser estritamente menor que endFrame. Diferente dos segmentos baseados em tempo que permitem tempos iguais de início e fim, segmentos baseados em quadros requerem pelo menos um quadro de diferença.
"Intervalo de recorte do audioInput inválido"
Ao recortar áudio dentro de um segmento, tanto startTime quanto endTime devem ser fornecidos, e startTime deve ser menor ou igual a endTime.
"Ao usar multi-segmentos, forneça pelo menos uma entrada de áudio ou texto"
Certifique-se de ter pelo menos uma entrada de áudio ou texto com um refId válido ao usar segmentos.
Recursos Relacionados
- Modelo Lipsync — saiba mais sobre modelos suportados para gerações de segmento único e múltiplos
- Guia da API de Dublagem de Vídeo — use segmentos com fluxos de trabalho de dublagem para dublagem de vídeo multi-falantes

