Ir para a navegação

Dublagem

A dublagem é suportada nativamente no POST /v2/generate. Passe o objeto dubParams junto com sua solicitação de geração normal e o Sync Labs extrairá o áudio da entrada de video, dublará-o no idioma de destino e executará lip sync no resultado dublado - tudo como um único trabalho. <Note> Um video com áudio é suficiente para que a dublagem funcione - apenas a entrada de video (com uma trilha de áudio incorporada) é aceitável. Você não precisa fornecer uma entrada de áudio separada; quaisquer entradas de áudio na matriz input são ignoradas quando dubParams está presente. Você deve passar os parâmetros de dublagem (dubParams) para habilitar a dublagem. </Note>

Quando usar dublagem - Fluxo dubParams nativo (esta página): chamada API única, recomendada para fluxos de trabalho padrão de tradução e lip sync. - Orquestração manual: quando você precisar de controle personalizado sobre transcrição, clonagem de voz TTS ou etapas intermediárias, consulte o tutorial de tradução/dublagem que conecta ElevenLabs, OpenAI e Sync Labs manualmente.

Fluxo de trabalho

<Steps> <Step title=“Prepare um video com áudio”> Certifique-se de que seu arquivo de origem seja um video cuja faixa de áudio você deseja traduzir. Nenhuma entrada de áudio separada é necessária. </Step> <Step title=“Escolha um idioma alvo”> Escolha um dos códigos targetLang suportados (consulte o enum DubLanguage na Referência API para obter a lista completa). </Step> <Step title=“Envie a solicitação de geração”> Inclua dubParams no corpo da solicitação. providerName e targetLang são obrigatórios; O padrão sourceLang é auto. </Step> <Step title=“Enquete para conclusão”> Pesquisa GET /v2/generate/\{id} até que status seja COMPLETED; o outputUrl conterá o video dublado e sincronizado com os lábios. </Step> </Steps>

Campos DubDto

Consulte a referência API completa para dubParams. - providerName (DubProviderName, obrigatório): provedor de dublagem a ser usado. Atualmente elevenlabs é o único valor suportado. - targetLang (DubLanguage, obrigatório): código do idioma de destino para dublagem, por ex. es, fr, ja. - sourceLang (DubSourceLanguage, opcional, padrão auto): código do idioma fonte ou auto para permitir que o mecanismo o detecte. - numSpeakers (integer, opcional): obsoleto e ignorado - Dublagem v2 detecta alto-falantes automaticamente. Aceito apenas para compatibilidade com versões anteriores. Se você precisar de um idioma de destino que não esteja listado em DubLanguage, gere ou grave você mesmo o áudio traduzido e envie-o como uma entrada audio normal em vez de usar dubParams. Os modelos Lipsync podem corresponder a áudio nítido em qualquer idioma.

Solicite exemplos

<AccordionGroup> <Accordion title=“TypeScript SDK”> <CodeBlocks>```typescript import { SyncClient } from “@sync.so/sdk”;

const sync = new SyncClient();

const response = await sync.generations.create({ model: “lipsync-2”, input: [ { type: “video”, url: “https://assets.sync.so/docs/example-video.mp4” } ], dubParams: { providerName: “elevenlabs”, targetLang: “es” } });

\</CodeBlocks>
\</Accordion>
\<Accordion title="Python SDK">
\<CodeBlocks>```python
from sync import Sync
client = Sync()
response = client.generations.create(
model="lipsync-2",
input=[
\{"type": "video", "url": "https://assets.sync.so/docs/example-video.mp4"}
],
dub_params=\{
"provider_name": "elevenlabs",
"target_lang": "es"
},
)

</CodeBlocks> </Accordion> <Accordion title=“cURL (HTTP)”> <CodeBlocks>```bash curl -X POST https://api.sync.so/v2/generate
-H “x-api-key: $SYNC_API_KEY”
-H “Content-Type: application/json”
-d ’{ “model”: “lipsync-2”, “input”: [ { “type”: “video”, “url”: “https://assets.sync.so/docs/example-video.mp4” } ], “dubParams”: { “providerName”: “elevenlabs”, “targetLang”: “es” } }’

\</CodeBlocks>
\</Accordion>
\</AccordionGroup>
## Notas de comportamento - Quando o `dubParams` é fornecido, o áudio é extraído da entrada de video, dublado via ElevenLabs para o idioma de destino e a lip sync é executada no áudio dublado. - Quaisquer entradas de áudio na matriz `input` são ignoradas quando a dublagem está habilitada - passe apenas a entrada de video. - É necessária uma duração de áudio sondada no video de origem; solicitações de dublagem sem uma trilha de áudio decodificável são rejeitadas. - A faturação é reportada por minuto de saída dublado. Consulte a página [Faturamento](/docs/product/cobrança) para obter detalhes.
## Veja também - [Modelos → Lipsync](/docs/models/lipsync) - modelo subjacente de lipsync usado após a dublagem. - [Tutorial de tradução/dublagem](/docs/tutorials/translation) - orquestração multisserviço legada com controle refinado.