---
title: "Tradução em lote com DeepL: limites, suporte a arquivos e alternativas"
description: "O que o DeepL oferece para tradução em lote: limites por formato de arquivo, cobrança mínima de 50,000 caracteres, limitações de qualidade em arquivos estruturados e alternativas."
date: 2026-10-11
language: pt
canonical: https://ai-glot.com/pt/blog/deepl-bulk-translation
source: AI Glot blog
---
**O DeepL é a primeira ferramenta que a maioria das equipes experimenta quando tem uma pasta de arquivos para traduzir, e faz jus à reputação quando se trata de um único documento do Word ou de alguns parágrafos em um idioma europeu.** As dificuldades começam quando você deixa de traduzir documentos isolados e passa a gerenciar um fluxo de localização em lote: catálogos de produtos em CSV ou Excel, arquivos de idioma de aplicativos em dez idiomas, documentação em Markdown com frontmatter ou planilhas parcialmente traduzidas em que só as novas linhas precisam ser trabalhadas.

Criei o AI Glot depois de esbarrar nesses mesmos limites. No começo, achei que bastava criar uma camada em torno da API de tradução automática. Mas, quando analisamos com atenção a [documentação oficial para desenvolvedores do DeepL](https://developers.deepl.com/docs/best-practices/document-translations) e conversamos com equipes que estavam migrando seus lotes, dois problemas distintos ficaram claros: **limites técnicos e de cobrança rígidos para arquivos em lote e um mecanismo de tradução string por string que perde o contexto dos dados estruturados.**

## DeepL Translator vs. API do DeepL: dois produtos separados

Quem pesquisa por "tradução em lote com DeepL" geralmente tem um de dois fluxos de trabalho em mente: arrastar um lote de arquivos para o aplicativo DeepL ou conectar um script à API do DeepL. **Essas duas opções usam assinaturas separadas e não compartilham cotas.**

*Illustration: O DeepL divide a tradução em lote em duas assinaturas distintas: o app web e desktop limita o upload mensal de arquivos, enquanto a API cobra por caractere, com um piso de 50.000 caracteres para documentos do Office.*

Na web e no desktop, os planos pagos da DeepL (recentemente renomeados de Starter, Advanced e Ultimate para **Individual, Team e Business**) impõem limites mensais rígidos de envio de arquivos por usuário:

* **Individual**: 3 traduções de arquivos por mês (até 300,000 caracteres por mês).
* **Team**: 20 traduções de arquivos por mês (até 1,000,000 caracteres por mês).
* **Business**: 100 traduções de arquivos por mês.

Como cada idioma de destino conta como uma tradução de arquivo separada, **localizar 5 documentos em 6 idiomas consome 30 traduções de arquivos**, ultrapassando imediatamente a cota mensal de uma licença Team.

Para eliminar o limite mensal de arquivos, você precisa contratar uma assinatura separada do **DeepL API Pro** (taxa básica de \$5.49 por mês mais \$25.00 por milhão de caracteres, ou €4.99 mais €20.00 por milhão de caracteres na Europa). A API oferece dois endpoints:

1. **`POST /v2/translate`**: aceita um array de strings de texto sem formatação (até 50 strings por chamada, com um **limite rígido de 128 KiB para o corpo total da solicitação**). Você precisa analisar os próprios arquivos, remover a estrutura, agrupar as strings e reconstruir o arquivo depois.
2. **`POST /v2/document`**: aceita um arquivo inteiro para um idioma de destino, coloca o processamento em fila de forma assíncrona e retorna um arquivo traduzido, que você consulta e baixa.

## Quais arquivos a DeepL realmente aceita em lote (e o que não é compatível ou está em beta)

Se você usar `/v2/document` para não precisar criar um analisador personalizado para cada formato, seu fluxo de trabalho estará sujeito aos [limites de tamanho da DeepL por formato](https://developers.deepl.com/docs/resources/usage-limits) e às [regras para recursos alfa e beta](https://developers.deepl.com/docs/resources/alpha-and-beta-features).

| Categoria | Formatos em `/v2/document` | Limite de tamanho da API paga | Ressalvas importantes na documentação da DeepL |
| :--- | :--- | :--- | :--- |
| **Documentos de escritório e publicação em produção** | `.docx`, `.doc`, `.pptx`, `.pdf`, `.xlsx`, `.idml`, `.mif` | 100 MB (`.docx`, `.pptx`, `.pdf`) ou 30 MB (`.xlsx`, `.idml`, `.mif`), até 1M de caracteres | `.docx`, `.doc`, `.pptx`, `.xlsx` e `.pdf` têm cobrança mínima de **50,000 caracteres** por envio. |
| **Web, dados e legendas em produção** | `.xlf` / `.xliff` (1.2, 2.0, 2.1), `.xml`, `.html`, `.dita`, `.txt`, `.json`, `.srt` | 10 MB (`.xliff`, `.xml`), 5 MB (`.html`, `.dita`), **1 MB** (`.json`, `.txt`), **150 KB** (`.srt`) | Os valores `<target>` existentes em XLIFF são substituídos. JSON tem limite de 1 MB e SRT, de 150 KB, mesmo nos planos pagos. |
| **Somente beta (não recomendado para produção)** | `.md`, `.yaml` / `.yml`, `.properties`, `.strings`, `.resx`, `.vtt`, `.xlsm`, `.odt`, `.rtf`, `.zip` (somente SCORM) | 1 MB para código/documentos, 150 KB para `.vtt`, 30 MB para `.xlsm` / `.odt` / `.rtf`, 100 MB para `.zip` SCORM | A DeepL indica que esses formatos **não são destinados à produção** e podem sofrer alterações incompatíveis sem aviso prévio. |
| **Não compatíveis com `/v2/document`** | `.csv`, `.tsv`, `.po` / `.pot`, `.arb`, `.xcstrings`, `.stringsdict`, `.ts` (Qt), `.toml`, `.ini`, `.jsonl`, `.ass` / `.ssa`, `.lrc`, pastas `.zip` padrão | Não aceitos | CSV só é aceito para enviar glossários de 2 colunas. Arquivos `.zip` que não sejam SCORM falham com `400 Invalid or missing file extension`. |

Quatro detalhes dessa tabela pegam de surpresa as equipes de engenharia e localização:

* **Não há tradução nativa de documentos CSV ou TSV.** Se a loja de e-commerce, o PIM ou o CMS exportar um [arquivo CSV](/pt/file-formats/csv-translation), `/v2/document` vai rejeitá-lo. Você precisa converter manualmente cada CSV em `.xlsx` (o que aciona a cobrança mínima de 50,000 caracteres por arquivo e traduz todas as colunas sem distinção) ou criar seu próprio analisador de CSV usando `/v2/translate`.
* **Limites de 1 MB e 150 KB para arquivos de desenvolvimento e legendas.** Mesmo em um plano pago do API Pro, arquivos `.json`, `.yaml`, `.md`, `.properties`, `.strings` e `.resx` têm limite de **1 MB**, e arquivos de legenda [`.srt` e `.vtt`](/pt/file-formats/srt-translation) têm limite de **150 KB**. Um único arquivo de legenda de longa-metragem ou um JSON monolítico de localização frequentemente ultrapassa esses limites.
* **Markdown e arquivos de localização ainda estão em beta, com um problema conhecido no frontmatter.** A documentação da DeepL alerta explicitamente que os recursos beta não devem ser usados em fluxos de produção. Mais especificamente, [o guia de documentos da DeepL descreve um problema conhecido em arquivos `.md`](https://developers.deepl.com/docs/best-practices/document-translations): os delimitadores `---` que abrem e fecham blocos de frontmatter YAML são removidos do arquivo traduzido, juntando os metadados da página ao parágrafo inicial. Se você usa um site Astro, Next.js, Hugo ou Docusaurus, isso interrompe a compilação de cada página traduzida.
* **Pastas ZIP padrão são rejeitadas.** A extensão `.zip` em `/v2/document` só aceita pacotes de e-learning SCORM que contenham um `imsmanifest.xml` na raiz. O envio de um [arquivo ZIP comum com arquivos de localização](/pt/file-formats/zip-translation) retorna um erro `400`. Além disso, formatos essenciais de aplicativos, como [gettext `.po`](/pt/file-formats/po-translation), [Flutter `.arb`](/pt/file-formats/arb-translation) e [catálogos de strings `.xcstrings` do Xcode](/pt/file-formats/xcstrings-translation), não são compatíveis.

## O piso de cobrança de 50.000 caracteres para Excel, Word, PowerPoint e PDF

A US$25 por milhão de caracteres, a tarifa divulgada da API da DeepL parece custar US$0,025 por mil caracteres. Essa conta vale para `/v2/translate`, mas não para `/v2/document` quando você processa lotes de arquivos do Office.

A documentação da DeepL estabelece duas regras de cobrança para uploads de arquivos `.docx`, `.doc`, `.pptx`, `.xlsx` e `.pdf`:

1. **Cada documento enviado tem uma cobrança mínima equivalente a 50.000 caracteres**, mesmo que o arquivo contenha muito menos caracteres.
2. **Todo o conteúdo do arquivo enviado entra na contagem de caracteres cobrados**, inclusive o que não foi traduzido.

Como `/v2/document` traduz um arquivo para um idioma de destino por solicitação, **cada idioma de destino multiplica esse piso de 50.000 caracteres**.

*Illustration: Como o mínimo de 50.000 caracteres por documento do Office no DeepL multiplica a fatura ao traduzir planilhas pequenas ou vários idiomas de destino.*

Considere este exemplo: você tem **20 planilhas pequenas de produtos no Excel**, com uma média de 2.500 caracteres cada (cerca de 400 palavras por arquivo, ou 50.000 caracteres no total das 20 planilhas), e precisa traduzi-las para **5 idiomas de destino**.

* Na prática, você está traduzindo **250.000 caracteres** nos cinco idiomas. A US$25 por milhão de caracteres, o esperado seria pagar **US$6.25**.
* Como `/v2/document` exige 100 uploads separados de arquivos `.xlsx` (20 arquivos × 5 idiomas) e aplica um mínimo de 50.000 caracteres a cada um, a DeepL cobra por **5.000.000 de caracteres**, o que dá **US$125.00** (20 vezes a tarifa calculada pelo número real de caracteres).
* Mesmo que seu arquivo `.xlsx` tenha mais de 50.000 caracteres, a DeepL contabiliza todos os caracteres da pasta de trabalho, incluindo colunas de SKU, URLs, notas internas e linhas que já foram traduzidas no mês passado.

## Por que traduzir arquivos inteiros prejudica os fluxos de trabalho com planilhas e localização

O custo é apenas metade do problema com uploads de arquivos inteiros. A questão mais profunda é que **`/v2/document` não permite definir o escopo de forma programática**. Ao enviar um arquivo estruturado, você não consegue especificar quais partes são conteúdo traduzível e quais fazem parte da estrutura dos dados.

*Illustration: A tradução de documentos inteiros trata cada célula de texto como prosa: slugs de URL e cabeçalhos são traduzidos junto com os títulos dos produtos, em vez de preencher apenas a coluna de destino vazia.*

Em arquivos usados na produção, quatro lacunas no fluxo de trabalho ficam evidentes logo de cara:

1. **Não é possível selecionar colunas no Excel.** Ao enviar [uma pasta de trabalho do Excel](/pt/blog/translate-excel-file-another-language) para o DeepL, todas as células de texto de todas as planilhas são traduzidas. Identificadores de produtos, slugs de categorias, nomes de fornecedores e sinalizadores de status são traduzidos junto com as descrições dos produtos. A própria documentação do DeepL observa que fórmulas `VLOOKUP`, `MATCH` e `INDEX` que fazem correspondência com literais de texto deixam de funcionar quando a tabela referenciada é traduzida.
2. **Não é possível traduzir incrementalmente as linhas que faltam.** A maioria dos catálogos e arquivos de localização está parcialmente traduzida: 3.800 linhas foram concluídas em março, e 200 novos produtos chegaram nesta semana. O DeepL não consegue [traduzir apenas as linhas que faltam em uma planilha](/pt/blog/translate-only-missing-rows-csv-excel) e, em arquivos `.xliff`, a documentação alerta que **os valores `<target>` existentes são sobrescritos**. Isso exige remover do XML os nós `<trans-unit>` já traduzidos antes do upload e mesclá-los novamente depois.
3. **Um idioma por upload de arquivo.** Se a planilha tiver colunas lado a lado com `en`, `fr`, `de` e `es` em um único arquivo, o DeepL não consegue preencher as colunas de destino diretamente. Ele retorna um arquivo separado para cada idioma, substituindo as células de origem.
4. **Não há um plano para revisar antes de gastar.** Uma chamada `POST /v2/document` inicia a tradução e a cobrança imediatamente. Não há uma etapa de simulação que mostre quais campos foram identificados, quantas palavras estão incluídas e quanto o trabalho vai custar antes de você aprová-lo.

## Até onde a qualidade do DeepL chega com conteúdo real

Ninguém que já tenha usado o DeepL diria que ele traduz mal uma frase isolada. Em um parágrafo de prosa geral em francês, alemão ou espanhol, seu mecanismo neural é rápido e fluente.

Ainda assim, clientes costumam nos procurar depois de testar o DeepL e o AI Glot com seus próprios arquivos porque **a qualidade do DeepL ficou abaixo do nível necessário para publicar no site, enquanto a do AI Glot atingiu esse nível.** Isso reflete a experiência dos clientes, não um benchmark formal (não fizemos um teste sintético comparativo com o DeepL, e você deve desconfiar de qualquer fornecedor que invente uma pontuação percentual). O motivo está no **mecanismo** usado para traduzir um lote.

### 1. Strings isoladas vs. compreensão de documentos e campos

Ao criar um script em torno do endpoint `/v2/translate` do DeepL para evitar alterações na estrutura do CSV ou JSON, você envia uma matriz com até 50 strings por solicitação. A especificação OpenAPI do DeepL declara essa limitação diretamente: **"Cada texto na matriz é traduzido de forma independente; os textos não compartilham contexto entre si."**

Quando um tradutor vê `"Light"` em uma matriz de strings isoladas, não tem como saber se o arquivo é um catálogo de iluminação, uma tabela de suplementos alimentares ou uma opção de tema nas configurações de um aplicativo SaaS. Mesmo que você envie o parâmetro opcional `context` do DeepL em `/v2/translate` (indisponível em `/v2/document`), [o guia do DeepL sobre o parâmetro `context`](https://developers.deepl.com/docs/learning-how-tos/examples-and-guides/how-to-use-context-parameter) alerta explicitamente: *"Muitos usuários tentam usar `context` como prompts de sistema do ChatGPT. Isso não funciona de forma confiável... Mantenha o contexto como texto puro do mesmo documento, não como instruções."*

### 2. Substituição de termos vs. glossário que preserva o significado

O DeepL oferece suporte a glossários (`v3/glossaries`) para 26 idiomas de origem, com limite de 1.024 bytes UTF-8 por entrada. Embora ajuste flexões básicas de substantivos e verbos, **um glossário de tradução automática é, na essência, uma tabela de correspondência de um para um**: sempre que o termo A de origem aparece, ele é substituído pelo termo B de destino.

*Illustration: O glossário de um tradutor automático apenas substitui a palavra. Um glossário interpretado como significado fixa o termo e escreve a frase ao redor dele.*

No trabalho real de localização, [a forma como um glossário é aplicado](/pt/blog/how-translation-glossaries-improve-csv-localization) determina se uma frase soa natural:

* Uma tabela de equivalências termo a termo não entende **por que** um termo deve ser mantido nem aplica uma regra condicional como *"Mantenha 'Pro' e 'Workspace' em inglês ao se referir aos nossos planos de preços ou à navegação da interface, mas traduza normalmente em frases gerais."*
* Recentemente, a DeepL adicionou `custom_instructions` à API `v3/style_rules` (disponível nos planos Pro e Business para um subconjunto de idiomas de destino), mas cada regra de estilo aceita **no máximo 10 instruções personalizadas de 300 caracteres cada**, aplicadas frase por frase. Como explica o próprio guia de regras de estilo da DeepL, isso torna essas regras pouco confiáveis quando dependem da estrutura mais ampla do documento.

## DeepL vs. alternativas para tradução em lote

Nenhuma ferramenta é a melhor para todo tipo de trabalho de tradução. Veja como a DeepL se compara às principais alternativas quando você tem um grande volume para traduzir:

| Ferramenta | Ideal para | Formatos de arquivo e escopo | Limitações |
| :--- | :--- | :--- | :--- |
| **DeepL** (Translator e API) | Arquivos individuais de escritório (`.docx`, `.pptx`) e chamadas de API de texto simples com baixa latência em idiomas europeus | 14 formatos de produção + 10 em beta em `/v2/document`. Apenas arquivos inteiros, 1 idioma por envio | Não aceita CSV, PO, ARB, `.xcstrings` nem arquivos ZIP genéricos. Cobrança mínima de 50k caracteres para arquivos de escritório. Sobrescreve os segmentos de destino do XLIFF. Remove o frontmatter `---` do Markdown. |
| **AI Glot** | Arquivos estruturados em lote: catálogos, planilhas, legendas, documentos Markdown e [arquivos de idioma de apps](/pt/blog/how-to-translate-app-language-files-with-ai) | **Mais de 35 formatos** nativamente (CSV, Excel, JSON, XLIFF, PO, ARB, `.xcstrings`, Markdown, SRT, DOCX, PDF e ZIP com até 200 arquivos) | Não é um tradutor de chat em tempo real nem um marketplace de agências humanas. |
| **Plataformas TMS** (Lokalise, Crowdin, Phrase) | Equipes com gerentes de localização dedicados, conectores contínuos com Git e revisão humana no editor | Amplo suporte a formatos de localização por meio de importadores de projetos | Exigem muita configuração antes de traduzir um único arquivo. O custo por usuário e pelas chaves hospedadas pode ficar alto para lotes de arquivos periódicos. |
| **ChatGPT / Claude** (janela de chat) | Traduzir 20 linhas de texto, um e-mail ou criar ideias para anúncios localizados | Copiar e colar ou anexar arquivos pequenos no chat | Os limites de tokens truncam arquivos com mais de algumas centenas de linhas, as chaves e vírgulas do CSV podem sair do lugar e as instruções acabam sendo esquecidas no meio do arquivo. |
| **Weglot** | Tornar um site ativo multilíngue em minutos usando proxy/JS, sem mexer nos arquivos de origem | Traduz páginas HTML ativas em tempo real (usa DeepL/Google nos bastidores) | Dependência do proxy e [preços altos por faixa de palavras](/pt/blog/weglot-pricing). Não traduz seus CSVs offline, arquivos de apps nem repositórios de documentação. |

## Como funciona um fluxo de tradução em lote com escopo definido no AI Glot

Ao transferir um lote da DeepL para o AI Glot, três aspectos do fluxo de trabalho mudam: **você não precisa converter o arquivo antes, define o escopo em linguagem simples e confere o plano antes de gastar um centavo.**

**1. Envie o arquivo como está.** Adicione uma [exportação CSV](/pt/file-formats/csv-translation), uma [pasta de trabalho do Excel](/pt/file-formats/excel-translation), um [arquivo de localidade JSON](/pt/file-formats/json-translation), um [artigo em Markdown](/pt/file-formats/markdown-translation) (mantendo intacto o frontmatter YAML `---`), uma [exportação XLIFF](/pt/file-formats/xliff-translation) ou um [arquivo ZIP](/pt/file-formats/zip-translation) com até 200 arquivos.

**2. Descreva em uma frase o que precisa ser feito.** Em vez de escrever um script Python para filtrar linhas e remover colunas antes de chamar uma API, defina o escopo em linguagem simples:

```
Translate title_en and body_html into French and German.
Only translate rows where the target cell is empty.
Leave sku, handle, and vendor untouched.
```

*Illustration: Você descreve o trabalho em inglês simples. O AI Glot o transforma em um plano que você pode ler e corrigir antes de qualquer execução.*

O AI Glot transforma essa frase em um programa determinístico, que percorre o arquivo e seleciona exatamente os campos e as linhas dentro do escopo. A linha 18.000 passa pelos mesmos critérios que a linha 1.

**3. Confira o plano gratuito antes de aprovar.** Antes de gastar qualquer crédito, o plano mostra os campos correspondentes, a contagem exata de itens e palavras, uma prévia da estrutura de saída e o custo em créditos. Se a instrução incluir uma coluna que você queria ignorar, ajuste a frase e gere outro plano gratuitamente.

**4. Aplique o glossário do seu espaço de trabalho e as instruções do lote.** Seu [glossário da marca](/pt/blog/build-translation-glossary-brand) e as regras de tom acompanham cada lote até o modelo de tradução. Assim, a terminologia se integra à gramática da frase, em vez de ser substituída às cegas depois da tradução.

*Illustration: Um glossário define os termos que não podem variar e aplica a mesma decisão a todos os arquivos.*

**5. Execute pelo app, pela CLI ou pelo seu agente de IA.** Você pode fazer tudo pelo navegador, automatizar o processo na CI com a CLI `aiglot` ou conectar o AI Glot como [servidor MCP](https://ai-glot.com/docs/mcp/overview) para que o Claude Code ou o Cursor traduza diretamente os arquivos de localidade do seu repositório.

## Quando continuar usando a DeepL e quando mudar

**Continue usando a DeepL** para traduzir alguns documentos Word ou apresentações isolados em que todo o texto do arquivo deve ser traduzido, ou quando precisar de uma API de tradução automática neural, com resposta em menos de um segundo, para texto gerado por usuários em tempo real em um widget de chat.

**Mude para um mecanismo de tradução que entende arquivos** assim que qualquer uma destas situações se aplicar:

* Seus dados estão em **CSV, TSV, PO, ARB, `.xcstrings`, TOML, Markdown com frontmatter ou em uma pasta ZIP** com arquivos de localização.
* Você traduz **muitos arquivos pequenos `.xlsx` ou `.docx`** (ou para vários idiomas de destino) e não quer pagar a cobrança mínima da DeepL de 50.000 caracteres por arquivo e por idioma.
* Seu arquivo contém **colunas, chaves ou linhas já traduzidas que não podem ser alteradas**, e você não quer mais criar scripts de pré e pós-processamento para usar uma API.
* Você precisa aplicar seu **glossário, placeholders e briefing da marca** com todo o contexto para que o resultado atenda aos seus padrões de publicação já na primeira versão.

Você pode testar qualquer formato sem criar uma conta usando nossas [ferramentas gratuitas de tradução de arquivos](/pt/file-formats) ou **[criar uma conta gratuita no AI Glot](https://app.ai-glot.com/signup)** para receber **5,000 palavras grátis** no primeiro arquivo e comparar os resultados lado a lado com seus próprios dados. Consulte os [preços](/pt/pricing) dos pacotes de créditos para grandes volumes.

---

*Todas as especificações técnicas da DeepL, os limites de tamanho de arquivo, as indicações de status beta e as regras de cobrança citadas neste artigo vêm da [documentação oficial para desenvolvedores da DeepL](https://developers.deepl.com/docs/best-practices/document-translations) e da [referência de limites de uso](https://developers.deepl.com/docs/resources/usage-limits), conforme disponíveis em outubro de 2026. O cálculo para 20 arquivos de planilha e as linhas da tabela de produtos nos diagramas são exemplos ilustrativos de como essas regras publicadas se aplicam.*