Back to Partners
Guide

Best Translation APIs to Pair with LLMs: A Technical Buyer's Guide

A technical buyer's guide to translation APIs that pair well with LLMs: evaluation criteria, integration patterns, and the tradeoffs that decide which API belongs in an LLM-assisted localization stack.

Best Translation APIs to Pair with LLMs: A Technical Buyer's Guide

When you wire a large language model into your localization pipeline, the translation API you pair it with determines whether the output is production-grade or a liability. LLMs excel at contextual reasoning, disambiguation, and stylistic nuance, but they remain expensive per token, unpredictable at scale, and difficult to constrain with terminology rules. A purpose-built machine translation (MT) API handles the heavy lifting, bulk throughput, glossary enforcement, markup preservation, while the LLM handles what MT cannot: quality assurance, cultural adaptation, and edge-case resolution. The challenge is choosing an API whose feature surface aligns with your LLM orchestration pattern. This guide compares leading translation APIs across the dimensions that matter most for hybrid LLM+MT architectures, then walks through the orchestration patterns, fallback strategies, and cost modeling that turn a proof-of-concept into a reliable production system.

Already evaluating how to connect translation APIs and LLMs into an enterprise-grade pipeline? See how Ollang’s integration layer centralizes glossary sync, routing, and QA: Get a guided walkthrough.

Why LLM-Powered Localization Needs a Dedicated Translation API

The Limits of Using LLMs Alone for Translation

LLMs like GPT-4 or Claude can produce fluent translations, but relying on them as your sole translation engine introduces concrete problems. First, cost: translating a million characters through an LLM API typically costs a multiple of a dedicated MT API, because you pay per token for both the source prompt and the generated output. Second, consistency: LLMs are non-deterministic by design. The same source sentence translated twice may yield different terminology choices, which breaks product UI strings, legal documents, and any content requiring term-level consistency. Third, throughput: LLM APIs impose rate limits and have higher per-request latency, making them impractical for batch jobs involving hundreds of thousands of segments. Fourth, compliance: many enterprise buyers need data residency guarantees and BAA-level agreements that general-purpose LLM providers may not offer for translation workloads.

How MT APIs Complement LLM Strengths

A dedicated MT API addresses exactly the gaps LLMs leave open. MT APIs offer glossary enforcement at the engine level, deterministic output for identical inputs (when using the same model version), sub-second latency for single-segment requests, and pricing models built for high-volume text. The hybrid approach, MT for throughput and consistency, LLM for contextual quality, lets you allocate expensive LLM tokens only where they add measurable value: ambiguous segments, culturally sensitive content, or post-editing passes where a human-like understanding of context improves fluency.

Provider-by-Provider Comparison

Google Cloud Translation (v3 Advanced)

Google’s v3 Advanced API supports glossary resources, custom models via AutoML Translation, and adaptive translation. Glossary enforcement is configured per request by attaching a glossaryConfig object:

{
"sourceLanguageCode": "en",
"targetLanguageCode": "de",
"contents": ["Click the Submit button to proceed."],
"glossaryConfig": {
"glossary": "projects/my-project/locations/us-central1/glossaries/my-glossary"
},
"mimeType": "text/html"
}

HTML handling is supported via the mimeType field set to text/html; Google preserves tag structure without requiring pre-processing. For batch workloads, the batchTranslateText method processes files stored in Cloud Storage asynchronously and returns results to a specified output bucket. Adaptive translation, available for select language pairs, lets you provide reference translations at request time to steer output style without model training.

Google enforces per-project quotas and rate limits that can be increased via support. Latency for synchronous calls is generally sub-second depending on language pair and segment length. Data processing can be restricted to specific regions via location-scoped endpoints.

DeepL API

DeepL’s API differentiates itself through output fluency and granular formatting controls. The tag_handling parameter accepts xml or html, and ignore_tags lets you protect elements whose content should not be translated, useful for code blocks or placeholder tokens in CMS content.

{
"text": ["<p>Welcome to our <b>platform</b>.</p>"],
"source_lang": "EN",
"target_lang": "DE",
"tag_handling": "html"
}

DeepL supports glossaries through a dedicated API: you create a glossary resource with term pairs, then reference its ID in translation requests. Glossary entries are enforced deterministically, making DeepL strong for terminology-sensitive workflows. The API supports formality control (where available), reducing the need for LLM-based post-editing on tone.

DeepL’s Pro plans are designed for high-volume usage, with pricing based on characters translated. Rate limits depend on plan tier. One limitation: DeepL does not currently offer full custom model training or domain adaptation beyond glossaries, so teams needing engine-level specialization for narrow domains may find the customization ceiling lower than alternatives.

Microsoft Translator (Azure Cognitive Services)

Microsoft Translator offers deep integration with the Azure ecosystem, including Virtual Network support, managed identities, and Azure Private Link for data-in-transit isolation. Custom Translator allows you to train domain-specific models using parallel corpora; you reference these via a category (category ID) on the endpoint query string.

{
"Text": "The patient presented with acute symptoms."
}

When calling the /translate endpoint, set textType=html to preserve markup for HTML content. The endpoint accepts arrays of texts, enabling efficient batching without moving to a fully asynchronous model. Additional endpoints like /transliterate and /dictionary/lookup can feed LLM-based disambiguation steps with candidate translations before committing to a final output.

Throughput and request size limits vary by pricing tier and can be increased on request. Microsoft’s compliance portfolio is among the broadest, with options for HIPAA-eligible workloads, SOC 2, ISO 27001, and FedRAMP configurations, often making it a default choice for regulated industries.

Amazon Translate

Amazon Translate integrates tightly with the AWS service mesh, S3 for batch input/output, CloudWatch for monitoring, and IAM for access control. Custom terminology is uploaded as a CSV or TMX file and referenced by name in translation requests. The TerminologyNames parameter accepts a list, allowing layered terminology sets:

import boto3

client = boto3.client('translate', region_name='us-east-1')
response = client.translate_text(
Text="Restart the instance after patching.",
SourceLanguageCode="en",
TargetLanguageCode="ja",
TerminologyNames=["aws-terminology", "client-glossary"]
)

For batch jobs, the StartTextTranslationJob API processes documents stored in S3 asynchronously, with job status available via polling or EventBridge notifications. Amazon Translate also supports parallel data for domain adaptation, you upload bilingual examples, and the service adjusts output accordingly without training a new model.

Per-request character limits and throughput caps apply and vary by region and account tier. Pricing is a simple per-character rate with an AWS free-tier option for new accounts. Regional hosting is available across major AWS regions and inherits AWS compliance certifications.

ModernMT

ModernMT adapts in real time using translation memory (TM) and context supplied at request time. Instead of training separate custom models, you upload translation memories and, optionally, glossaries; the engine dynamically adjusts its output to match the style and terminology of your existing translations. This is attractive for teams with large TMs who want MT output that aligns with historical corpora without the overhead of model training.

ModernMT provides EU and US hosting, and a self-hosted option for strict data sovereignty requirements. The API surface is intentionally simple, fewer knobs than hyperscalers, but quick wins when you already maintain TMs and glossaries.

Head-to-Head Feature Matrix

FeatureGoogle v3DeepLMicrosoftAmazonModernMT
Glossary APIYes (glossary resource)Yes (Glossary ID)Yes (terminology + Custom Translator)Yes (TerminologyNames)Yes (glossary + TM influence)
Custom Model TrainingAutoML TranslationNoCustom TranslatorParallel data adaptationReal-time TM adaptation
HTML/XML HandlingmimeType: text/htmltag_handling: html/xmltextType: htmlContentType paramBasic tag preservation
Placeholder/ICU HandlingRequires pre/post-processingignore_tags helpsRequires pre/post-processingRequires pre/post-processingInfluenced by TM; often needs preprocessing
Batch/Async APIbatchTranslateTextDocument translationArray batching (sync); batch APIs in AzureStartTextTranslationJobBatch endpoint
Formality ControlLimitedYes (where supported)LimitedYes (where supported)Not explicit
Streaming OutputNot token-streamingNot token-streamingNot token-streamingNot token-streamingNot token-streaming
Regional HostingRegion-scoped endpoints (GCP)EU-based processingRegion-scoped endpoints (Azure)Multi-region (AWS)EU / US / Self-hosted
Enterprise ComplianceBroad optionsSOC 2/ISO 27001Broad options (incl. HIPAA-eligible, FedRAMP configs)Broad optionsVaries; self-hosted available

Translation API Providers vs. Ollang Orchestration Layer

The providers above compete at the raw MT-engine level. Ollang does not: it complements and orchestrates them, adding the workflow capabilities that otherwise have to be built in-house.

CapabilityStandalone Translation APIsOllang Orchestration Layer
Multi-provider routingEach API translates with its own engine onlyRoutes each request to the best-fit provider per language pair and content type
LLM + MT orchestrationMT output only; LLM steps are separate integrationsCoordinates MT engines and LLM quality review in one managed workflow
Glossary synchronization across providersPer-provider glossary formats and endpointsMaintains one glossary and syncs it to each provider’s native format
Fallback chainsSingle point of failure per providerAutomatic failover to alternate engines on errors or rate limits
Centralized QAPer-provider, if anyUnified quality checks applied consistently across all engines
Human-in-the-loop reviewNot part of the raw APIsBuilt-in review workflows on top of machine output
Caching and workflow controlsLeft to the integratorManaged caching, routing rules, and cost optimization
Centralized monitoring and governancePer-provider dashboardsSingle view of throughput, quality, and spend across providers

Notes:

- None of these providers currently offer true token-by-token streaming translation. For real-time subtitle or chat features, implement chunked translation with buffering.

- ICU MessageFormat preservation, handling placeholders like {count, plural, one {# item} other {# items}}, usually requires pre-processing to extract and reinsert placeholders with validation.

Ready to see Ollang in action?

Talk to our team about your localization goals and see how the Ollang platform fits your workflow.

Book a Demo

LLM + MT Orchestration Patterns

Pattern 1: MT Pre-Translation → LLM Quality Assurance

The MT API translates all segments in bulk, then the LLM reviews a subset, flagged segments, high-visibility content, or segments where the MT confidence (if available) falls below a threshold. The LLM prompt includes the source, the MT output, the glossary, and style instructions:

You are a translation reviewer. Given the source text and machine translation below,
identify and correct errors in terminology, fluency, and cultural appropriateness.

Source (EN): "Your trial expires in {days_remaining} days."
MT Output (DE): "Ihre Testversion läuft in {days_remaining} Tagen ab."
Glossary: trial = Testversion, expires = läuft ab

Provide the corrected translation and a brief explanation of any changes.

This pattern keeps MT costs low and concentrates LLM spend on quality-critical segments. It also produces structured QA feedback you can log, audit, and use to refine glossaries.

Pattern 2: LLM Disambiguation → MT Translation

Run the LLM first, not to translate, but to prepare the source text. The LLM resolves ambiguities, expands abbreviations, identifies domain-specific terms, and annotates the source with context that improves MT output. For short strings (UI labels, notifications) where MT lacks context, this can materially improve accuracy. The LLM’s clarified output then flows into MT with glossary enforcement.

Pattern 3: Parallel Execution with Consensus

Run both MT and an LLM translation in parallel, then select or merge outputs via a lightweight comparison step, either rule-based or LLM-assisted. This is more expensive but yields the highest quality for premium content. Prefer the MT output when terminology matches the glossary; prefer the LLM output when fluency or naturalness is superior.

When you’re ready to test these patterns on your content and traffic profile, Ollang can orchestrate MT+LLM routing, QA, and cost controls end to end: See it in action.

Building Resilient Pipelines

Fallback Chains and Provider Failover

No translation API guarantees 100% uptime. Define a ranked fallback chain, primary provider → secondary provider → cached translation → source text with flag, and implement it at your gateway or orchestration layer:

PROVIDERS = ["deepl", "google", "amazon"]

def translate_with_fallback(text, source_lang, target_lang):
for provider in PROVIDERS:
try:
result = call_provider(provider, text, source_lang, target_lang)
if result.status == 200:
return result.translation, provider
except (TimeoutError, RateLimitError, ServiceUnavailableError):
log_failover(provider)
continue
return text, "source_passthrough" # Last resort

Synchronize glossary resources across providers so fallback translations remain terminologically consistent. If Provider A uses a glossary ID and Provider B uses a CSV upload, build an abstraction that maintains both in lockstep.

Retry Logic and Timeout Handling

Use exponential backoff with jitter for transient errors (e.g., 429, 503). Set aggressive per-request timeouts; failing fast and retrying on a different provider is often faster than waiting on a stuck request. For batch jobs, use idempotency keys or job IDs to prevent duplicate processing.

Caching Strategies

Cache at the segment level using a composite key: source text + target language + glossary version (and, if relevant, formality). Invalidate when glossaries or style settings change. A Redis or Memcached layer between your app and the translation API can deliver substantial savings for repetitive content patterns. Avoid caching for content that requires freshness (e.g., user-generated content).

Webhook and Async Job Management

Prefer webhook-based notifications over polling for batch workflows. Google’s batch API integrates with Pub/Sub; Amazon integrates with EventBridge. Design webhook handlers to be idempotent, batch completion notifications may arrive more than once.

Glossary, TM, and Terminology Control Across Providers

Glossary enforcement is the single most important feature for enterprise localization quality. Without it, MT engines will translate product names, invent synonyms for established terms, and produce inconsistent output across segments.

How providers implement glossaries:

- Google: Upload a glossary resource (CSV/TSV) to a project and location; reference it by resource name.

- DeepL: Use a dedicated glossaries endpoint for CRUD; reference glossaries by ID in requests.

- Microsoft: Combine terminology lists with Custom Translator for domain-specific models.

- Amazon: Upload CSV/TMX terminology files; reference by name; layer multiple terminologies per request.

- ModernMT: Enforce glossary rules and adapt in real time using your translation memories.

Maintain a single source of truth for terminology (TBX/CSV in version control or your TMS). Synchronize it to each provider’s format via CI/CD. When the LLM performs QA, include the glossary in the prompt so it can verify term adherence and flag violations.

Translation memory (TM) integration is equally critical. Pre-populate exact and fuzzy matches from your TM before calling MT. This reduces cost, improves consistency, and ensures human-approved translations take precedence.

Cost Modeling and Sizing

Pricing Structures Compared

Most translation APIs use character-based pricing. Effective cost varies by:

- Volume tiers and commitments

- Custom model training or adaptation features

- Region and enterprise support options

ProviderStandard Pricing ModelCustom/Advanced Add-onsFree/Trials
Google v3Per character (tiered)AutoML model training and usageLimited trials; check current terms
DeepLPer character (Pro/API plans)No full custom models; glossaries includedFree options with limits
MicrosoftPer character by tierCustom Translator training and hostingLimited free tiers; check current terms
AmazonPer characterParallel data adaptation; standard rates applyTime-limited AWS free tier
ModernMTPer character or subscriptionSelf-hosted licensing availableTrials available

Always confirm current pricing and limits on each provider’s site; they change frequently.

Example Sizing Approach

Consider a SaaS product localizing into 10 languages with this monthly source volume:

- UI strings: 200,000 characters (high repetition, cacheable)

- Help center: 2,000,000 characters (moderate repetition)

- Marketing pages: 500,000 characters (low repetition, quality-critical)

- User-generated content: 1,000,000 characters (low repetition)

Total source: 3,700,000 characters → 37,000,000 characters/month across 10 languages.

With caching on UI (e.g., 70% fewer repeats) and TM leverage on help center content (e.g., 30-40% fewer new words), actual MT volume might drop to roughly 25-28 million characters/month. At common market rates in the single- to low-tens of dollars per million characters, MT spend remains manageable. If you run LLM QA on, say, 10% of segments (marketing and flagged items), LLM costs for that subset can exceed MT costs by a multiple, so target LLM only where it moves quality metrics. The blended strategy keeps quality high and spend predictable.

Privacy, Compliance, and Regional Hosting

Enterprise buyers in regulated industries should verify:

  1. Data retention: Can you disable logging and ensure texts are deleted after processing? Hyperscalers offer options to limit data retention; DeepL’s Pro terms state texts are deleted after translation. Self-hosting (e.g., ModernMT) eliminates third-party data exposure.
  2. Data residency: Can you guarantee processing in specific geographies? Google and Microsoft offer region-scoped endpoints; Amazon Translate operates across many AWS regions; DeepL processes in the EU; ModernMT offers EU, US, and self-hosted deployments.
  3. Compliance certifications: Microsoft, Google, and Amazon offer broad compliance options (e.g., SOC 2, ISO 27001, HIPAA-eligible configurations). DeepL holds SOC 2/ISO 27001. Always verify current certifications directly, portfolios evolve.

For LLMs, apply the same scrutiny. If MT runs in the EU but the LLM endpoint is US-based, you may create a GDPR gap. Route both through regions that satisfy your policy.

Frequently Asked Questions

Can I use an LLM as my only translation engine and skip the MT API entirely?

You can, but it’s rarely optimal for production: LLMs lack built-in glossary enforcement, are non-deterministic, cost more per character, and have lower throughput. Pair MT for bulk translation with LLMs for targeted QA and edge cases to control cost and risk.

How do I keep glossaries synchronized across multiple translation API providers?

Maintain a single canonical glossary (TBX/CSV/TSV) in version control or your TMS. Add a CI/CD step that converts and uploads to each provider’s required format whenever the source file changes. Track glossary versions in your cache keys to avoid stale terms.

What’s the best way to handle ICU MessageFormat placeholders in translation API requests?

Extract placeholders before sending text, replace them with numbered tokens or XML-like tags that MT preserves, translate the simplified text, then reinsert and validate. Add automated checks to ensure placeholders are neither dropped nor translated.

How should I structure retries when a translation API returns rate-limit errors?

Use exponential backoff with jitter (e.g., start ~1s, cap retries at 3-5). If rate limits persist, fail over to a secondary provider. Ensure idempotency for batch jobs to prevent duplicates on retry.

Ready to see Ollang in action?

Talk to our team about your localization goals and see how the Ollang platform fits your workflow.

Book a Demo

Choosing Your Stack and Next Steps

The “best” translation API depends on your constraints:

- Microsoft: regulated industries and Azure-native environments

- Google: teams on GCP who want AutoML customization

- DeepL: fluency-first workflows with strong glossary needs

- Amazon: AWS-native architectures with straightforward terminology and batch needs

- ModernMT: organizations with rich TMs that want real-time adaptation without model training

The architecture matters more than any single engine. A well-designed LLM+MT pipeline, with proper glossary synchronization, caching, fallback chains, and targeted LLM QA, will outperform any provider used in isolation.

Ollang simplifies cross-provider glossary sync, fallback routing, and LLM QA so you can evaluate engine tradeoffs without rebuilding orchestration plumbing: Talk to our team about your use case.

Get a production-grade MT+LLM pipeline

Ollang’s API integration layer connects translation APIs and LLM-based quality review into a single managed workflow, handling glossary sync, routing, caching, and cost optimization so your engineering team can focus on the product, not the plumbing.

Book a Demo

Published on July 30, 2026