# Put every model behind Immersive Translate's custom API

> Markdown mirror of https://router.one/integrations/immersive-translate for AI assistants and crawlers. Router One is an OpenAI-compatible LLM API gateway.
> Last updated: 2026-08-16

Immersive Translate is one of the most popular bilingual translation extensions — web pages, PDFs, ebooks, and subtitles, translated inline as you read. Translation is a steady token burn: every page you open spends a little more, so the model's per-token rate matters more here than almost anywhere else. The extension's custom OpenAI-compatible setup takes one endpoint and one key: point it at Router One and pick any chat model in the catalog — pay-as-you-go, as low as 10% of official list prices on select models, with a per-request cost trace that shows what your reading actually costs.

## Configure Immersive Translate to use the Router One base URL

In Immersive Translate, open Settings → Translation Services → OpenAI, switch the key type to Custom API Key, then expand the advanced options and fill in the custom endpoint — note it takes the full /chat/completions path, not just the base URL — plus a model ID from the /models page:

`immersive-translate-settings`

```bash
# Immersive Translate → Settings → Translation Services → OpenAI
# 沉浸式翻译 → 设置 → 翻译服务 → OpenAI
API Key type（API Key 类型）:  Custom API Key（自定义 API Key）
APIKEY:  sk-your-router-one-key
Custom endpoint（自定义 API 接口地址，须含 /chat/completions）:
  https://api.router.one/v1/chat/completions
Custom model（自定义模型）:  <model-id-from-/models>
```

## Which model ID should Immersive Translate send?

Copy the exact model ID from the /models page — IDs are case-sensitive, and the page lists each model's context window, capabilities, and current per-token rates. Create a dedicated API key per tool with its own maxSpend cap, so one runaway tool can't affect other workloads.

## Verify the Immersive Translate call in your request trace

After your first request, open Dashboard → Logs to see its full trace: model, tokens, cost, latency, and status code. From here every Immersive Translate call has a ledger and a trail instead of being a black box.

## FAQ

### Why does Immersive Translate reject my base URL?

The custom endpoint field expects the full path including /chat/completions — https://api.router.one/v1/chat/completions — not the bare /v1 base URL most SDKs take. If translations fail immediately, check that suffix first, then verify the model ID matches /models exactly.

### Which models can Immersive Translate use through the gateway?

Any chat-capable model in the catalog — GPT, Claude, Gemini, Grok, DeepSeek, GLM, and Kimi families. The /models page is the source of truth for model IDs and per-token rates.

### Does this work from Mainland China?

Yes. The gateway is reachable from Mainland China without a VPN, and the configuration is identical to the global setup.

### How do I debug a 401/403/429?

Open Dashboard → Logs first to see whether requests reached the gateway and with what status, then walk the error-codes reference to check env vars, key status, and limits.

## See also

- All integration guides: https://router.one/integrations
- Debug 401/403/429 in Immersive Translate: https://router.one/llm-api-error-codes
- Cline setup: https://router.one/integrations/cline
- Aider setup: https://router.one/integrations/aider
- What the gateway layer does: https://router.one/llm-api-gateway
- OpenAI-compatible API: https://router.one/openai-compatible-api
- API docs: https://router.one/docs
- Canonical page: https://router.one/integrations/immersive-translate
- Models and per-model token rates: https://router.one/models (markdown: https://router.one/models.md)
- Pricing: https://router.one/pricing
- API docs (markdown): https://router.one/docs.md
- Company facts: https://router.one/facts/company.md
