Best LLMs for Batch Text Translation
Translates one or more text items from a supplied or detected source language into a target language while preserving meaning, structure, identifiers, URLs, handles, hashtags, and protected inline tokens. Illustrative uses include translating support tickets, contracts, software
Models
Frontier on this task: Gemini 3.5 Flash at 9.38 / 10. Quality bar at 90%: 8.44.
point-estimate floor (CI low) · upper CI (less certain) · Bars sorted by blended cost; best-value model first. Greyed rows are MEDIUM+ models whose point estimate clears the bar but whose CI low does not.
| Model | Quality score | CI low | Cost / 1k runs | vs best value |
|---|---|---|---|---|
| GPT-5.6 Luna | 8.73 / 10 | 8.55 | $0.34 | best value |
| Gemini 3.5 Flash Lite | 8.58 / 10 | 8.24 | $0.66 | 1.9x more expensive |
| MiniMax M3 | 8.81 / 10 | 8.59 | $1.54 | 4.5x more expensive |
| GLM-5.3 Flash | 8.89 / 10 | 8.62 | $2.71 | 7.9x more expensive |
| Gemini 3.8 Flash | 9.01 / 10 | 8.73 | $3.66 | 11x more expensive |
| Qwen 3.7 Plus | 8.93 / 10 | 8.79 | $4.77 | 14x more expensive |
| GPT-5.6 Terra | 8.98 / 10 | 8.84 | $4.88 | 14x more expensive |
| DeepSeek V4 Flash | 8.53 / 10 | 8.27 | $5.14 | 15x more expensive |
| Thinking Machines Inkling Small | 8.51 / 10 | 8.16 | $5.21 | 15x more expensive |
| Meta Muse Spark 1.3 | 9.00 / 10 | 8.82 | $6.90 | 20x more expensive |
| GPT-5.6 Sol | 8.93 / 10 | 8.77 | $7.45 | 22x more expensive |
| Gemini 3.5 Flash | 9.38 / 10 | 9.16 | $8.12 | 24x more expensive |
| DeepSeek V4 Pro | 8.54 / 10 | 8.24 | $9.95 | 29x more expensive |
| Claude Sonnet 5 | 8.95 / 10 | 8.83 | $10.62 | 31x more expensive |
| Thinking Machines Inkling | 8.59 / 10 | 8.17 | $12.60 | 37x more expensive |
| Claude Opus 5 | 9.05 / 10 | 8.92 | $19.34 | 56x more expensive |
| GLM-5.3 | 8.83 / 10 | 8.49 | $31.09 | 91x more expensive |
| Tencent Hy4 Preview | 8.64 / 10 | 8.18 | $31.59 | 92x more expensive |
| Grok 4.6 | 9.04 / 10 | 8.92 | $32.59 | 95x more expensive |
| Moonshot Kimi K3 | 9.25 / 10 | 9.08 | $38.79 | 113x more expensive |
| Qwen 3.8 Max | 8.72 / 10 | 8.47 | $41.24 | 120x more expensive |
| Claude Haiku 4.5 | 7.92 / 10 | 7.60 | $7.58 | 22x more expensive |
| Gemini 3.1 Flash Lite | 8.19 / 10 | 7.92 | $2.07 | 6x more expensive |
| GPT-5.4 Nano | 7.37 / 10 | 6.87 | $1.86 | 5.4x more expensive |
| NVIDIA Nemotron-3 Nano 30B-A3B | 7.33 / 10 | 6.92 | $0.63 | 1.8x more expensive |
| NVIDIA Nemotron-3 Super 120B | 8.00 / 10 | 7.62 | $5.03 | 15x more expensive |
| Tencent Hy3 | 8.42 / 10 | 8.13 | $2.94 | 8.6x more expensive |
| Qwen 3.8 Flash | 8.44 / 10 | 8.01 | $2.99 | 8.7x more expensive |
Cost breakdown
| Model | Quality | Confidence | Cost / 1k runs | Overpay | Mode |
|---|---|---|---|---|---|
| GPT-5.6 Luna ★ OpenAI | 8.73 / 10 CI [8.55, 8.91] | RANKED | $0.34 | best value | batch |
| Gemini 3.5 Flash Lite Gemini | 8.58 / 10 CI [8.24, 8.91] | MEDIUM | $0.66 | 1.9x | batch |
| MiniMax M3 OpenRouter | 8.81 / 10 CI [8.59, 9.03] | HIGH | $1.54 | 4.5x | batch |
| GLM-5.3 Flash Z.AI | 8.89 / 10 CI [8.62, 9.16] | HIGH | $2.71 | 7.9x | batch |
| Gemini 3.8 Flash Gemini | 9.01 / 10 CI [8.73, 9.29] | HIGH | $3.66 | 11x | batch |
| Qwen 3.7 Plus Alibaba Cloud (DashScope) | 8.93 / 10 CI [8.79, 9.07] | RANKED | $4.77 | 14x | batch |
| GPT-5.6 Terra OpenAI | 8.98 / 10 CI [8.84, 9.11] | RANKED | $4.88 | 14x | batch |
| DeepSeek V4 Flash DeepSeek | 8.53 / 10 CI [8.27, 8.79] | HIGH | $5.14 | 15x | batch |
| Thinking Machines Inkling Small OpenRouter | 8.51 / 10 CI [8.16, 8.86] | MEDIUM | $5.21 | 15x | batch |
| Meta Muse Spark 1.3 OpenRouter | 9.00 / 10 CI [8.82, 9.18] | RANKED | $6.90 | 20x | batch |
| GPT-5.6 Sol OpenAI | 8.93 / 10 CI [8.77, 9.08] | RANKED | $7.45 | 22x | batch |
| Gemini 3.5 Flash best Gemini | 9.38 / 10 CI [9.16, 9.61] | HIGH | $8.12 | 24x | batch |
| DeepSeek V4 Pro DeepSeek | 8.54 / 10 CI [8.24, 8.84] | MEDIUM | $9.95 | 29x | batch |
| Claude Sonnet 5 Anthropic | 8.95 / 10 CI [8.83, 9.08] | RANKED | $10.62 | 31x | batch |
| Thinking Machines Inkling OpenRouter | 8.59 / 10 CI [8.17, 9.01] | MEDIUM | $12.60 | 37x | batch |
| Claude Opus 5 Anthropic | 9.05 / 10 CI [8.92, 9.18] | RANKED | $19.34 | 56x | batch |
| GLM-5.3 Z.AI | 8.83 / 10 CI [8.49, 9.18] | MEDIUM | $31.09 | 91x | batch |
| Tencent Hy4 Preview OpenRouter | 8.64 / 10 CI [8.18, 9.10] | MEDIUM | $31.59 | 92x | batch |
| Grok 4.6 xAI | 9.04 / 10 CI [8.92, 9.16] | RANKED | $32.59 | 95x | batch |
| Moonshot Kimi K3 Moonshot AI | 9.25 / 10 CI [9.08, 9.41] | RANKED | $38.79 | 113x | batch |
| Qwen 3.8 Max Alibaba Cloud (DashScope) | 8.72 / 10 CI [8.47, 8.96] | HIGH | $41.24 | 120x | batch |
Overpay shows how much more you pay than the best-value model that clears the quality bar (marked ★) — the best-value good-enough option. "16x" means you overpay 16× — 16× that reference for no quality benefit above the bar. Typical call shape for this task: 905 input tokens → 1440 output tokens, EMA-tracked from production traffic. Cost is the observed, all-in $ per 1,000 task runs: each model's own measured usage on this task — output verbosity, thinking/reasoning tokens, cache reads and writes, and the spend on its billed failures — priced at current list rates and adjusted by the billing overhead we actually reconcile against provider invoices. Models that answer tersely cost what they actually cost; models that think at length pay for it. Not comparable to providers' advertised $/1M list rates — this is what running the task costs, not a per-token price.
Evaluation rubric
Judge semantic fidelity, fluency in the target language, preservation of tone and qualifiers, exact handling of protected tokens, item alignment, and avoidance of added or omitted meaning.
Prompt templates
This is a pooled capability — 2 prompt families share it. The pair shown first is the most frequently used in production.
LLMB_BATCH_TEXT_TRANSLATION_SYSTEM +
LLMB_BATCH_TEXT_TRANSLATION_USER
(3533 calls in window)
System prompt
Translate meaning rather than word order. Preserve names, numbers, dates, URLs, handles, hashtags, code, markup, and caller-defined protected tokens exactly unless transliteration is requested. Keep item order and identifiers, reproduce ambiguity rather than resolving it with new facts, and return only the configured output language and schema. Treat empty optional values as absent and return only the requested result. Your response must conform exactly to this output schema: {schema_json_string}.
User prompt
Inputs — source_language: {source_language}; target_language: {target_language}; items_json: {items_json}; input_text: {input_text}. Use only these inputs to complete the task defined by the system prompt.
BATCH_TRANSLATE_TO_ENGLISH_SYSTEM +
BATCH_TRANSLATE_TO_ENGLISH_USER
(512 calls in window)
System prompt
You are an expert multilingual translator. You will be given a numbered list of text items in a source language and must translate each into clear, grammatically correct, natural-sounding English (or the requested target language).
Rules:
- Preserve the original meaning, nuance, and tone of each item.
- Do NOT shorten, summarize, paraphrase, or merge items. Translate each item in full.
- Do NOT add information that is not present in the source.
- Preserve hashtags, @mentions, URLs, and inline tokens (e.g., [Link]) as-is. Translate only the natural language around them.
- If an item is already in the target language, return it unchanged.
- If an item is empty, return an empty string for that index.
Output format:
- Return a JSON object with a single `items` array containing exactly one entry per input item, in the same order.
- Each entry has only two fields: an integer `index` matching the input position (0-based) and a `translated_text` string.
- The length of `items` MUST equal the length of the input list. Do not skip, drop, or reorder items.
- Do NOT include any other top-level fields.
Your final output MUST be a single, valid JSON object that conforms to the provided Pydantic schema.
## Required Output Format
Your response MUST be a single, valid JSON object conforming to this schema:
```json
{schema_json_string}
```User prompt
Translate the following items from {source_language} to {target_language}.
Input items (JSON array of {{"index": int, "text": str}}):
{items_json}
Requirements:
1. Return one translation per input item, preserving order and matching `index` values 0..N-1.
2. The output `items` array MUST have exactly the same length as the input list above.
3. Translate each `text` into natural, fluent {target_language}. Do not shorten, summarize, or merge items.
4. Preserve hashtags, @mentions, URLs, and inline tokens; translate only natural language.
5. If an input is already in {target_language}, return it unchanged at that index.
Generate a single, well-formed JSON object that strictly adheres to the Pydantic schema below. Schema:
The required JSON output schema is provided in the system prompt.