Using BeatAPI in Immersive Translate
Using BeatAPI in Immersive Translate
Immersive Translate renders bilingual web pages, PDFs, and video subtitles. It accepts any OpenAI-compatible endpoint as a custom translation service, so BeatAPI can drive it directly.
Prerequisites
- The extension installed — from the Chrome Web Store, Edge Add-ons, Firefox Add-ons, or the official site.
- A BeatAPI API key — create one in Dashboard → API Keys.
Step 1: Open the settings
Click the Immersive Translate icon in the browser toolbar, then Settings at the bottom left of the popup. Choose Translation Services in the left menu.
Step 2: Add BeatAPI as a custom service
Click + Add Custom Translation Service at the top of the list, then fill in:
This field wants the complete endpoint, not a base URL — https://api.beatapi.io/v1/chat/completions, path included. This is the one integration on this site where a bare https://api.beatapi.io/v1 is wrong.
Save, then return to the extension popup and select BeatAPI in the Translation Service dropdown.
Step 3: Translate
- A page — click the extension icon and choose translate, or press
Alt+A. - A PDF — open an online PDF in the browser and press
Alt+A. Local files need to be opened in a web viewer first. - Subtitles — play a video on a supported platform; bilingual subtitles appear automatically.
- A selection — select text and use the word-translation panel,
Alt+Wby default.
Choosing a model
Translation is the highest-volume, most repetitive workload most people run. A whole page is many small requests, so model choice moves the bill more here than anywhere else.
The full catalogue is on the Text API pages and the pricing page.
Avoid the DeepSeek models for scheduled or heavy weekday-daytime browsing unless you have checked the rate: that family doubles during weekday peak hours in Beijing time. deepseek-v4-flash-0731 outside the window is among the cheapest options available; inside it, it is not. The pricing page footnotes give the exact hours.
FAQ
Nothing translates after configuring
- Confirm BeatAPI is selected in the Translation Service dropdown, not just saved in settings.
- The endpoint must be the full path
https://api.beatapi.io/v1/chat/completions. - Confirm the key is active in Dashboard → API Keys.
- Model IDs are case-sensitive.
Translation is slow or times out
Lower Max requests per second to 3. A page fans out into many concurrent calls, and the request rate — not the model — is usually what stalls. Then switch to a faster tier such as glm-5.3-flash or gemini-3.7-flash.
429 rate_limit_exceeded
Same cause as above, one step further. Lower the per-second setting first; the account’s per-minute allowance rises with lifetime top-ups and is shown on the dashboard.
The translation quality is poor
Move up a tier — claude-sonnet-5 for prose, gpt-5.6-terra for technical text — and set the AI Expert style to match the material. For recurring terminology, configure the extension’s terminology list; that fixes consistency in a way a bigger model will not.
402 insufficient_credits
The balance is exhausted. Add credits from the dashboard.
Watching what this costs
Give the extension its own BeatAPI key. Browsing generates a long tail of small calls, and a separate key keeps that separable from application traffic in by_api_key on GET /v1/usage and on the dashboard.
Support
Open a support ticket from the dashboard and include the request_id from the failing response.

