> For the documentation index, fetch https://sync.so/docs/llms.txt. Append .md to a page URL for Markdown. Documentation-search MCP: https://sync.so/docs/_mcp/server.

# Dublagem

> Traduza o áudio de um video para outro idioma e sincronize os lábios com o áudio dublado em uma única chamada API.

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](/docs/tutorials/translation) 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`](/api-reference/api/generate-api/create#request.body.dubParams.targetLang) 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`](/api-reference/api/generate-api/create#request.body.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](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](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](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.
```