Skip to content

Supported AI Models

TranslateBot Django supports 100+ AI models through LiteLLM. This page covers the most popular options. Prices are per million tokens as of September 2026; check each provider's pricing page for current numbers.

For a deeper comparison with benchmark results, see Claude vs GPT-6 vs Gemini vs DeepL for Django Translation.

OpenAI

gpt-6-luna is TranslateBot's default when TRANSLATEBOT_MODEL isn't set. It's a reasoning model, and TranslateBot asks it to reason at low effort to keep output tokens down. That needs litellm 1.100.3 or newer. On Python 3.10, where litellm is capped below 1.98, litellm doesn't recognise gpt-6-luna as a reasoning model, so set TRANSLATEBOT_MODEL to another model such as gpt-4o-mini.

settings.py
import os

TRANSLATEBOT_API_KEY = os.getenv("OPENAI_API_KEY")
TRANSLATEBOT_MODEL = "gpt-6-luna"

Available Models

Model Input / output per 1M tokens Use it for
gpt-6-luna $0.10 / $0.50 The default; lowest cost
gpt-6-sol $2.00 / $10.00 High-quality production translations
gpt-6-astra $10.00 / $50.00 Rarely needed for translation
gpt-4o-mini $0.15 / $0.60 The previous default; still supported

Recommendation

Start with gpt-6-luna for low cost, or gpt-6-sol when quality matters more than price.

Anthropic Claude

Claude models produce natural-sounding translations and follow TRANSLATING.md instructions closely.

settings.py
import os

TRANSLATEBOT_API_KEY = os.getenv("ANTHROPIC_API_KEY")
TRANSLATEBOT_MODEL = "claude-sonnet-5"

Available Models

Model Input / output per 1M tokens Use it for
claude-haiku-4-5 $1.00 / $5.00 Fast, low-cost runs
claude-sonnet-5 $2.00 / $10.00 Best quality-to-cost ratio
claude-opus-5-5 $4.00 / $20.00 Highest quality, such as marketing copy

Recommendation

claude-sonnet-5 offers the best quality-to-cost ratio for most translation tasks.

Google Gemini

Gemini won the WMT25 translation benchmark, and Google offers a free tier with rate limits.

settings.py
import os

TRANSLATEBOT_API_KEY = os.getenv("GEMINI_API_KEY")
TRANSLATEBOT_MODEL = "gemini/gemini-3.5-flash-lite"

Available Models

Model Input / output per 1M tokens Use it for
gemini/gemini-3.5-flash-lite $0.30 / $2.50 Low cost; Google lists translation as a target use
gemini/gemini-3.8-flash $0.75 / $3.75 Higher quality; price doubles on January 1, 2027
gemini/gemini-3.1-pro-preview $2.00 / $12.00 Preview only

Gemini 2.5

Gemini 2.5 models are only available to projects that already used them. New projects should use the models above.

Azure OpenAI

Use Azure-hosted OpenAI models for enterprise deployments.

settings.py
import os

TRANSLATEBOT_API_KEY = os.getenv("AZURE_API_KEY")
TRANSLATEBOT_MODEL = "azure/<your-deployment-name>"

# Additional Azure configuration
os.environ["AZURE_API_BASE"] = "https://your-resource.openai.azure.com/"
os.environ["AZURE_API_VERSION"] = "2024-02-15-preview"

Other Providers

LiteLLM supports many additional providers:

  • AWS Bedrock: bedrock/anthropic.claude-sonnet-5
  • Cohere: command-r-plus
  • Mistral: mistral/mistral-large-latest
  • Ollama (local): ollama/llama3

See the LiteLLM Providers Documentation for the complete list.

Providers without an API key

TRANSLATEBOT_API_KEY is always required, even for a dry run. For providers that don't use one, such as a local Ollama server, set it to any placeholder value (e.g. TRANSLATEBOT_API_KEY = "unused").

Unrecognized model names

TranslateBot asks LiteLLM for the model's token limits to size its batches. If LiteLLM doesn't know the model, a warning is logged and small fallback batches are used. Translations still work, but take more API calls.

Choosing a Model

By Use Case

Use Case Recommended Model
General translation gpt-6-luna or gemini/gemini-3.5-flash-lite
High-quality production claude-sonnet-5 or gpt-6-sol
Marketing copy, launches claude-opus-5-5
No budget gemini/gemini-3.5-flash-lite on Gemini's free tier
European languages Any model works well

By Priority

Priority Recommended Model
Quality claude-opus-5-5 or claude-sonnet-5
Speed gpt-6-luna or claude-haiku-4-5
Cost gpt-6-luna
Balance claude-sonnet-5

Cost Estimates

A medium Django app with ~500 translatable strings (~10,000 words) takes roughly 15,000 input and 20,000 output tokens per language. Estimated cost per language:

Model Cost per language
gpt-6-luna ~$0.01
gpt-4o-mini ~$0.01
gemini/gemini-3.5-flash-lite ~$0.05
claude-haiku-4-5 ~$0.12
claude-sonnet-5 / gpt-6-sol ~$0.23
claude-opus-5-5 ~$0.46

Reasoning models

Models that reason before answering, such as claude-opus-5-5, bill that reasoning as output tokens, so they can cost more than these estimates. After the first run, TranslateBot only translates new or changed strings.

Testing Different Models

Use --llm-model to try a different model for a single run without changing your settings. Since --dry-run doesn't call the model, compare real output on a throwaway branch instead:

git switch -c try-gpt-6-sol
python manage.py translate --target-lang nl --overwrite --llm-model gpt-6-sol
git diff -- '*.po'

--overwrite re-translates every entry so you can compare the full output, which means you pay for the whole file.

Environment variables

TRANSLATEBOT_MODEL is only read from Django settings, not from the environment. If you want to switch models with an environment variable, read it in your settings yourself:

settings.py
TRANSLATEBOT_MODEL = os.getenv("TRANSLATEBOT_MODEL", "gpt-6-luna")

The API key must match the model's provider: switching from an OpenAI model to Claude also means TRANSLATEBOT_API_KEY must hold your Anthropic key. The TRANSLATEBOT_API_KEY environment variable is only used when the setting is missing or None.