Documentation Index

Fetch the complete documentation index at: https://azure-cost-management-playbook.turbo360.com/llms.txt

Use this file to discover all available pages before exploring further.

AI Translator

Prev Next

What it does

Neural machine translation across 100+ languages and dialects:

  • Text translation — single or batch translation via REST API.

  • Document translation — translates entire documents (Word, PDF, HTML, etc.) while preserving layout and formatting.

  • Custom Translator — fine-tunes translation quality for domain-specific terminology (legal, medical, technical).

  • Transliteration — converts text between scripts without changing the language (e.g. Arabic to Latin characters).

  • Language detection — identifies the language of an input string.

When you'd use it

  • You need to serve content in multiple languages without maintaining separate human-translated copies.

  • You are processing multilingual data (support tickets, reviews, documents) and need everything normalised to one language for analysis.

  • You are building a real-time communication feature across language barriers.

Sample use case

A global SaaS company receives customer support tickets in 30+ languages. Azure AI Translator detects the language of each incoming ticket and translates it to English. The English text is then fed into a classification model to assign priority and team. Support agents see both the original and translated text; replies are translated back into the customer's language before sending.

Example reference architecture

Pricing & How Costs Work

Note: Microsoft has re-branded this service "Azure Translator in Foundry Tools" on the pricing page as part of the Azure AI Foundry umbrella. The underlying resource kind (TextTranslation) and API are unchanged.

Azure AI Translator (S1, pay-as-you-go, Central US) is priced per million characters submitted for most features, with a few exceptions billed on different units, as a flat fee, or not billed at all:

Feature

Pricing unit

Notes

Text Translation

$10 per million characters

Source text characters, multiplied by the number of target languages; output length does not affect billing

Document Translation

$15 per million characters

Source document characters across all submitted documents in a batch

Document Translation (Image)

$8 per thousand images

Each image includes up to 500 characters; an image containing more (e.g. 672 characters) is billed as multiple images (2, in that example)

Custom Translator (inference)

$40 per million characters

Uses your fine-tuned model; ~4x the standard text translation rate

Custom Translator (training)

$10 per million source+target characters

Capped at $300 per training run, no matter how large the training corpus; charged on every re-run

Custom Translator model hosting

$10 per hosted model, per region, per month

Flat fee charged for every model kept hosted, not pro-rated for partial months — accrues even with zero translation calls

Transliteration

Billed at the standard text translation rate

Character-counted (script conversion, e.g. Arabic → Latin); no separate/premium rate — shown as its own line item in Cost Management but priced the same as Text Translation

Dictionary Lookup / Examples

Billed at the standard text translation rate

Character-counted; earlier guidance suggesting a higher rate than standard translation is incorrect — Microsoft's pricing page lists it under "Standard Translation" with no separate price

Language Detection (Detect) / BreakSentence

No charge

Per Microsoft's official pricing model, these two operations are never billed — whether called standalone or bundled inside a translate request

Key pricing mechanics:

  • Free tier (F0): 2 million characters/month, shared across standard translation and custom translation training — sufficient for low-volume trials.

  • Standard (S1) tier: Per-million-character pricing as above; no automatic volume discount — sustained high volume requires opting into a Commitment Tier (see below).

  • Character counting rules (per Microsoft's official FAQ):

    • Whitespace, punctuation, and every Unicode code point are counted.

    • Markup/HTML and XML tags in the source text ARE counted as billable characters, even when using textType=html. This corrects a previous assumption in this document — textType=html only controls how markup is parsed/preserved during translation (and enables class="notranslate" exclusions); it does not exclude tags from the billed character count. Genuinely non-translatable boilerplate must be stripped by your own pipeline before submission if you want to avoid paying to translate it.

    • Identical text submitted repeatedly is billed every time — there is no automatic dedupe.

    • For document translation, characters are counted from the extracted text content, not the raw file size.

  • Document translation batches entire files asynchronously. Cost is proportional to the total extracted text character count across all files in the batch, not the number of files.

  • Custom model training is charged per training run (capped at $300/run); custom model hosting is a separate, ongoing monthly charge that continues for as long as the model is deployed, independent of whether it is ever called.

  • Commitment Tiers (reserved capacity): For sustained high volume, an S1 commitment tier discounts Standard Translation only (e.g. $2,055/month for 250M characters ≈ $8.22/M, down to ~$5.50/M at the 4B-character tier — roughly 18–45% cheaper than pay-as-you-go). A separate C2–C4 commitment tier discounts Custom Translation only. Per Microsoft's FAQ, getting a discount on both Standard and Custom Translation requires provisioning both an S1 tier resource and a C2–C4 resource — one instance type cannot discount both workloads. Connected-container and disconnected-container (air-gapped, annual up-front) pricing is also available for regulated/offline environments.

What Drives Costs

Cost driver

Why it matters

Total characters translated

The sole cost driver for text and document translation. High-volume pipelines (e.g. translating every support ticket) accumulate cost rapidly.

Number of target languages

Translating source text into 5 languages = 5× the character cost vs translating into 1 language.

Document size and volume

Large documents with verbose text (reports, contracts) cost more than short-form content.

Training corpus size

Larger Custom Translator training datasets cost more per training run.

Dictionary Lookup usage

Higher per-character rate than standard translation — should be used selectively.

Whitespace-heavy content

If source text has extensive whitespace or padding, those characters are still billed.

Cost optimisation levers:

  • Only translate into languages that are actively needed — avoid speculative multi-language pipelines.

  • Use textType=html when translating HTML content so markup tags are excluded from the character count.

  • Normalise or deduplicate source text before translation — identical strings translated repeatedly each incur the full cost.

  • For low-sensitivity content that appears frequently (boilerplate, UI labels), cache translation results rather than re-calling the API.

  • Evaluate whether language detection needs to be called explicitly — if the source language is known, skip the detection call.

Azure Cost Data — Meters & Meter Subcategories

Azure AI Translator appears under the Cognitive Services service family in Cost Management. Resource type: Microsoft.CognitiveServices/accounts with kind TextTranslation.

Meter name

Meter subcategory

What it counts

Standard Translation Characters

Standard S1

Characters processed by the standard text translation API

Document Translation Characters

Standard S1

Characters processed by the document translation API

Custom Translation Characters

Standard S1

Characters processed using a deployed custom translation model

Custom Translation Training Characters

Standard S1

Characters in the training corpus during a custom model training run

Transliteration Characters

Standard S1

Characters processed by the transliteration API

Dictionary Lookup Characters

Standard S1

Characters processed by the Dictionary Lookup and Dictionary Examples APIs

Meter subcategory notes:

  • All translation meters report Quantity in raw character counts (not millions). Divide by 1,000,000 to reconcile with the published per-million pricing.

  • Standard text translation and Custom Translator inference share the same per-million pricing but appear on separate meters, making it possible to see what fraction of translation cost is served by the custom model vs the standard model.

  • Document translation jobs can translate many files in parallel; the meter accumulates the aggregate character count across all files in all submitted batches during the billing period.

  • If you use the global endpoint (no region specified), the ResourceLocation field in billing exports may show as Global rather than a specific Azure region — this can complicate regional cost breakdowns.

  • Language detection calls bundled within a translation request do not generate a separate meter row; standalone language detection calls do.


Common Developer Mistakes That Drive Up Costs

  • Translating into more target languages than are actively used. Teams sometimes translate content into 10–15 languages speculatively ("in case we expand there") when only 3–4 are actually served to users. Each additional target language multiplies the character cost by the same amount as the first — translating 1,000 characters into 10 languages costs 10× a single-language translation.

  • Not using the textType=html parameter when translating HTML content. Without this parameter, HTML markup tags count as characters and inflate the billed character count. A page with significant markup can have 20–40% of its character count in tags that don't need to be translated.

  • Re-translating identical or near-identical content on every pipeline run. Translation pipelines that re-translate all source content on each run (rather than tracking what has changed) bill for previously translated content repeatedly. Product descriptions, UI strings, and documentation pages rarely change daily, but without change-tracking they are retranslated as if they have.

  • Translating content where the source language matches the target language. Without language detection pre-filtering, a pipeline may submit English content to be translated into English — a billable character count that produces identical output. This is common in pipelines that accept multilingual user content without first detecting the source language.

  • Not caching translations for frequently repeated strings. UI labels, button text, error messages, and notifications are typically translated once and then reused. Calling the Translation API for these strings on every page load or pipeline run accumulates cost for constant content.

  • Sending full documents through the API when only specific sections need translation. Document translation bills for all characters in the submitted document, including headers, footers, and boilerplate legal text that may not need translation.


What Could Make Your Bill Go Up or Down Next Month

Could go UP:

  • A new target language is added to the translation pipeline for a market expansion, immediately multiplying character cost for all content by (languages+1)/languages.

  • A backlog of previously untranslated historical content is processed in a one-time batch, generating a large spike in character consumption.

  • User-generated content volume increases (more support tickets, more product reviews, more forum posts) proportionally increasing translation volume.

  • A pipeline bug removes the language detection pre-filter, causing same-language content to be submitted for translation.

  • Document translation is added to a workflow that previously only handled short-form text, significantly increasing average character count per submission.

Could go DOWN:

  • The number of target languages is reduced to only those actively serving users, based on analytics showing near-zero traffic to some locales.

  • Translation caching is implemented for static UI strings and notifications — these are translated once and stored.

  • The textType=html parameter is adopted for HTML content pipelines, removing markup characters from the billable count.

  • Change-tracking is added to the translation pipeline so only modified content is re-translated on each run.

  • Language detection pre-filtering is added to skip translation for content already in the target language.


Most Common Optimisation Techniques

Technique

Mechanism

Typical saving

Reduce target language count to actively used locales

Audit analytics to identify languages with near-zero user traffic; remove from translation pipeline

Linear reduction per language removed — removing 5 of 15 languages saves 33% on translation volume

Use textType=html for HTML content

Excludes markup tags from the billable character count

15–40% reduction for markup-heavy content

Cache translations for static and low-change content

Store translated UI strings, notifications, and boilerplate; invalidate cache only on source change

Can eliminate 30–70% of translation calls for static content pipelines

Add language detection pre-filtering

Skip translation when source language matches target language

Eliminates cost for same-language submissions in multilingual input pipelines

Track content changes to avoid re-translating unchanged content

Store a content hash alongside the translation; only re-translate when the hash changes

Proportional to the stability of the content — high saving for documentation and product catalogue pipelines

Submit only the sections that require translation

Pre-process documents to extract translatable content and skip legal boilerplate, headers, and footers

Depends on content structure; 10–30% reduction on document-heavy workloads