Immersive Translate + CaMeL Hub: Custom OpenAI API Setup Guide

Immersive Translate is the bilingual web-page, PDF, and subtitle translator that runs as a browser extension (Chrome, Edge, Firefox, Safari) plus desktop and mobile apps. Its built-in AI engines are convenient but locked to whatever the vendor bundles; switching the translation service to a custom OpenAI-compatible API and pointing it at CaMeL Hub instead gives you one key that can call GPT, Claude, Gemini, and DeepSeek models, billed pay-as-you-go against your own CaMeL Hub balance, and lets you swap the model per page whenever speed, cost, or phrasing quality matters more.

Immersive Translate β†—

  1. Create a CaMeL Hub API key

    Sign in to the CaMeL Hub console and open the Tokens page, then create a new token (or reuse an existing one). Copy the key β€” that's the only credential Immersive Translate needs; it never touches your console password.
  2. Open the OpenAI-compatible custom translation option

    In the extension's settings (toolbar icon menu, or the full options page), go to Translation Services and select the OpenAI-style engine, then switch it to bring-your-own-key / custom API mode. That's the entry point that lets you override the key, endpoint, and model instead of using Immersive Translate's own bundled OpenAI plan.
  3. Paste the API key

    Paste the token from step 1 into the field labeled API Key. Copy it exactly as shown in the console β€” no extra prefix, whitespace, or line break.
  4. Expand the advanced / custom settings

    Click to expand the section usually labeled something like "More custom settings" β€” the endpoint and model fields are collapsed by default and easy to miss.
  5. Set the API endpoint

    In the field named API URL / API Endpoint, enter CaMeL Hub's OpenAI-compatible chat endpoint. Immersive Translate's custom-API mode expects the full chat-completions path, not just the bare host, so append /chat/completions yourself:
    https://api.camel-hub.com/v1/chat/completions
  6. Set the model

    In the Model field, type the exact model id you want CaMeL Hub to route the request to. For webpage translation, fast non-reasoning models translate quicker and cheaper than reasoning models; deepseek-v4-flash is a solid low-cost default, and gpt-5.4-mini or gemini-3.5-flash also work well.
    deepseek-v4-flash
  7. Save and translate a test page

    Save the settings, then trigger a translation on any page (selection or full-page translate). If a bilingual result shows up, you're done. If nothing happens, re-check the endpoint string from step 5 and the key from step 3 first β€” that covers almost every failure.
  8. Skip reasoning models for bulk translation

    Avoid OpenAI's o-series-style models and the heavier gpt-5.x reasoning variants for this use case β€” they're slower per page, cost more per token, and can leak chain-of-thought text or step numbering into the translated output. Prefer non-reasoning models such as deepseek-v4-flash, gpt-5.4-mini, gemini-3.5-flash, or claude-haiku-4-5.

Frequently asked questions

Immersive Translate isn't showing a model dropdown β€” do I need to fetch a list first?

No. Custom API mode doesn't call a models-list endpoint, so there's nothing to fetch or wait on. Just type the model id directly into the Model field, e.g. deepseek-v4-flash or gpt-5.4-mini β€” any model id visible in your CaMeL Hub console works.

The key verification / connection test fails with an error

Almost always one of three things: the endpoint is missing the /chat/completions suffix, the key was pasted with a trailing slash or stray space, or the token was revoked or disabled in the console. Re-copy the key fresh from the Tokens page and double-check the full endpoint string against step 5.

Which model should I pick for webpage translation?

Fast, non-reasoning models work best: deepseek-v4-flash as a cheap default, gpt-5.4-mini or gemini-3.5-flash for stronger phrasing, claude-haiku-4-5 if you prefer Claude's tone. Skip reasoning-heavy models β€” they add latency and cost without improving translation quality for this task.

Does this draw from my CaMeL Hub balance or subscription, and can I track spend?

Yes β€” every translated page is billed on your token like any other API call, at that model's per-token rate. Usage and cost for this token show up in the console's usage log the same as calls from any other client.