沉浸式 翻译 自定义 API 配置:用 OpenAI 兼容 接口 接入 Router One
沉浸式翻译是双语对照翻译浏览器扩展:它把译文放在网页原文旁边,旧版 PDF 和 EPUB 阅读器也使用同一个翻译服务。它内置的 OpenAI 服务可以不开通沉浸式翻译 Pro 会员,改用你自己的 API Key 和自定义 API 接口地址,Router One 就是这样接入的:每一批段落对应一次发往 /v1/chat/completions 的 POST,这个端点服务目录里的全部对话模型,所以一把 Key 就能用 Claude、Gemini、DeepSeek、GPT 或 Grok 模型来翻译,每一批的 tokens 和费用都能在控制台 → 日志里看到。翻译是高频调用,所以本指南讲:地址该怎么填(https://api.router.one/v1/chat/completions 在所有版本都能用)、怎么添加目录里的模型名称、一个页面会产生多少请求以及如何避开限流、哪些模型适合批量翻译,还有会丢弃译文的质量校验。按沉浸式翻译 1.33.3(Chrome 应用商店版本)和 1.30.2(Firefox 附加组件商店分发的版本)核对(2026-09-27)。
填写沉浸式 翻译的 自定义 API 接口 地址与 Key
打开沉浸式翻译 设置 → 翻译服务 → OpenAI,把服务从 Pro 切换为「自定义 API Key」。在 APIKEY 里粘贴你的 Router One Key。点「展开更多自定义选项」,填写「自定义 API 接口地址」。字段自带的说明写着「可填写 API Base URL 或完整接口地址」,而完整的 Chat Completions 地址是所有版本处理方式都一样的写法。然后打开「设置更多模型」,添加要用的目录 ID(见下文),再在「模型」里选中一个。点「点此测试服务」,翻译一个短页面,到控制台 → 日志按时间和模型找到对应的新记录,确认无误后再翻译整篇文档:
- Custom API interface address(自定义 API 接口地址)
- https://api.router.one/v1/chat/completions
# Immersive Translate → Settings → Translation Services → OpenAI # 沉浸式翻译 → 设置 → 翻译服务 → OpenAI Service(服务): Custom API Key(自定义 API Key), not Pro APIKEY: sk-your-router-one-key Custom API interface address(自定义 API 接口地址), works in every version: https://api.router.one/v1/chat/completions Set up more models(设置更多模型): -all,+anthropic/claude-haiku-4.5,+deepseek-v4-flash Model(模型): pick one of the IDs you added, then click Verify service(点此测试服务)
地址 怎么填:完整 地址、/v1 还是 只填主机名
沉浸式翻译会把你填的内容改写成实际的请求地址,而这条规则在不同版本间有变化。Chrome 应用商店分发的是 1.33.3(Edge 加载项商店目前是 1.33.1),1.33.3 几乎怎么填都能补全;Firefox 附加组件商店目前仍分发 1.30.2,对只填主机名的写法更严格。填完整地址,就不用管版本。以 /responses 结尾的地址会保留这个路径,而 Router One 的 /v1/responses 只服务 GPT 系列、DeepSeek ID 与 Grok 对话模型,所以请保持 /chat/completions。
| 你填写的 | 1.33.3(Chrome) | 1.30.2(Firefox 附加组件商店) | 结论 |
|---|---|---|---|
| https://api.router.one/v1/chat/completions | 原样使用 | 原样使用 | 推荐:所有版本通用 |
| https://api.router.one/v1 | 自动拼上 /chat/completions | 自动拼上 /chat/completions | 1.30.2 及以后可用 |
| https://api.router.one | 补全为 /v1/chat/completions | 变成 /chat/completions:HTTP 404,提示加上 /v1 | 不要这样填 |
用「设置 更多 模型」添加目录里的 模型 名称
OpenAI 服务内置的模型列表是 OpenAI 自己的名称,不带厂商前缀,比如 gpt-5.5、gpt-5.4-mini,所以要自己添加目录里的精确 ID。「设置更多模型」接受逗号分隔的列表:直接写名称就是添加(前面加 + 效果相同),-名称 隐藏一个内置名称,-all 隐藏全部内置名称,名称=显示名 可以给列表里已有的名称换一个好认的标签。例如 -all,+anthropic/claude-haiku-4.5,+deepseek-v4-flash,+google/gemini-3.1-flash-lite 只保留这三个。也可以在「输入自定义模型名称」里直接填一个 ID。ID 必须与 /models 完全一致,因为它会原样作为 model 字段发送,不认识的 ID 会被拒绝。当前单价在各模型详情页;翻译会让单价乘上大量 tokens,选之前先比较。
一个 页面会 发多少 请求,以及 怎么 避开限流
OpenAI 服务每次请求最多发送 4 个段落(「每次请求最大段落数」),按官方文档,默认每秒最多 10 个请求,所以一篇长文章会在控制台 → 日志里产生几十条请求,每条按各自的输入和输出 tokens 计费。译文默认在本地缓存 30 天,重新打开已经翻译过的页面,可能一个新请求都不会发。频率相关的设置在「展开更多自定义选项」里:「每秒最大请求数」「每分钟最大请求数」「每次请求最大文本长度」「每次请求最大段落数」。Router One 对每把 Key 和每个账户都有默认的请求数与 token 限额。突发请求超过其中之一时,会返回 429,错误码是 RATE_LIMIT_EXCEEDED 或 TOKEN_QUOTA_EXCEEDED,并用 X-RateLimit-Scope 响应头标明是哪一项限额,对应的段落就会翻译失败。调低「每秒最大请求数」(官方文档建议翻译电子书时调到每秒 5 个左右)或「每分钟最大请求数」即可。APIKEY 也可以填多个用英文逗号分隔的 Key,文档称之为负载均衡,但同一个 Router One 账户下的多把 Key 仍共享账户限额。如果日常用量确实需要更高,Key 和账户的限额可以申请调高:发邮件到 support@router.one,写明账户 ID、Key 的名称和预计峰值。
选一个 适合 批量 翻译的 模型,以及 质量 校验
翻译会把同一类请求发上成千上万次,所以小而快、不带推理的对话模型通常最划算。可以考虑 anthropic/claude-haiku-4.5、deepseek-v4-flash、deepseek-v4.1-flash、google/gemini-3.1-flash-lite、google/gemini-3.7-flash 和 openai/gpt-5.6-terra。避开每次请求都会思考的 ID:anthropic/claude-opus-5.5 始终开启自适应思考,以 -thinking 结尾的 ID 默认开启思考,这样每一批都会额外按输出单价计费思考 tokens。沉浸式翻译 1.33.3 自己会调整一部分 GPT 请求:对匹配 gpt-5.6 及其 Sol、Terra、Luna 变体,以及 gpt-5.1、gpt-5.2、gpt-5.4、gpt-5.5 的名称,它会把 reasoning_effort 设为 none 并去掉 temperature,而且这个匹配也会命中 openai/gpt-5.6-terra、azure/gpt-5.6-sol 这类带前缀的 ID。每次拿到结果后,扩展会比较输出与输入的 token 数;比例超出范围(默认 0.21 到 8)时,它会丢弃这份译文,改用其他翻译方案。设置 strictPrompt: true 可以跳过这项校验,文档只建议在自定义提示词不是单纯翻译时这样做。
高级 设置:temperature、超时、频率与 输出 上限
上面这些也都可以在 开发者设置 → Edit Full User Config 里用 JSON 设置,写在 translationServices.openai 下:temperature、requestTimeout(毫秒,AI 服务默认 101000)、limit(每秒请求数)、maxTextGroupLengthPerRequest、maxTextLengthPerRequest、用于附加请求字段的 bodyConfigs 和 headerConfigs、按模型覆盖的 modelsOverrides、strictPrompt 和 langOverrides。请求路径保存在 baseUrlApiPath 里,默认是 /chat/completions,这也是只填 base URL 能用的原因。有一个字段值得注意:当主机是 OpenAI 或 Azure 的,或者模型名称最后一段以 gpt-5、o1、o3、o4 开头时(openai/gpt-5.6-terra 也算),1.33.3 会把输出上限作为 max_completion_tokens 发送。Router One 的 Chat Completions 参考文档写的输出上限字段是 max_tokens,所以要限制输出长度,就在 bodyConfigs 里设置 max_tokens,之后扩展对所有模型都会用这个字段。编辑前先备份配置,JSON 写错时扩展会忽略整段配置:
{
"translationServices": {
"openai": {
"temperature": 0.2,
"requestTimeout": 60000,
"limit": 5,
"bodyConfigs": { "max_tokens": 2048 }
}
}
}沉浸式 翻译该填 哪个 模型 ID?
从 /models 页复制精确的模型 ID,保留大小写、连字符和版本后缀,不要用展示名称代替。打开该模型的详情页,核对支持的 API 端点、上下文窗口和工具调用等能力,再与沉浸式翻译当前选择的 provider 和功能对应。模型出现在目录里,不等于当前客户端能调用它的所有功能。建议为每个客户端或应用单独建 API Key,并设置 maxSpend 消费上限。
沉浸式 翻译用 的是哪种 API 协议?
OpenAI 兼容描述的是接口格式,不能据此推断 Chat Completions(/v1/chat/completions)、Responses(/v1/responses)和 Anthropic Messages(/v1/messages)可以互换。先核对工具当前版本、provider 配置和实际请求路径,再查模型详情与 API 兼容性事实页。一次普通对话成功,也不能证明服务端工具、历史状态或文件编辑功能都受支持。
在请求日志里 核对 沉浸式 翻译的 调用
先在沉浸式翻译发出一次简单文本请求,再到控制台 → 日志按时间、模型和 request_id 找到这条记录,核对 Token、花费、总耗时和状态码。成功后再分别验证流式输出、工具调用和多轮历史。失败时保留实际请求路径、完整错误消息及 request_id;没有对应日志时,先查客户端配置和网络,不能仅凭客户端报错认定是网关或上游故障。
常见 问题
「自定义 API 接口 地址」到底填 base URL 还是 完整 地址?
当前版本两种都行,而完整地址在所有版本都行。从 1.30.2 起,这个字段接受以 /v1 结尾的 base URL,扩展会自己拼上 /chat/completions;1.33.3 甚至能把只填的主机名补全。Firefox 附加组件商店的版本(1.30.2)会把只填的主机名拼成 /chat/completions,Router One 对此返回带提示的 404。直接填 https://api.router.one/v1/chat/completions,就不用管这些差别。翻译一开始就报错时,先检查这个字段,再核对模型 ID 与 /models 是否一致。
翻译 一个 网页,为什么 日志里 出现几 十条 请求?
因为扩展会把页面拆成段落、分小批发送,默认每次请求最多 4 个段落,而且随着你往下滚动还会继续翻译。每一批都是一个单独计费的请求,有各自的 tokens。这是正常现象;想知道一个页面花了多少,就在控制台 → 日志里按给扩展用的那把 Key 筛选,把那段时间的记录加起来。之前翻译过的页面默认会在 30 天内从本地缓存读取,不产生费用。
沉浸式 翻译报 429 怎么办?
让扩展慢下来。它默认每秒最多可以发 10 个请求,一篇长网页或一本电子书就可能超过 Key 或账户的默认限额。429 会带 RATE_LIMIT_EXCEEDED 或 TOKEN_QUOTA_EXCEEDED 错误码,以及标明是哪一项限额的 X-RateLimit-Scope 响应头。把「每秒最大请求数」调到 5 左右(官方文档对电子书的建议),或者设置「每分钟最大请求数」。同一账户下的多把 Key 不会提高账户限额;如果长期需要更高的用量,发邮件到 support@router.one 申请调高。
翻译用 哪个 模型更 划算?
通常是小而快、不开扩展思考的对话模型,因为翻译会发大量短请求。可以先从 anthropic/claude-haiku-4.5、deepseek-v4-flash 或 google/gemini-3.1-flash-lite 开始,用其中两三个翻译同一个页面,再对照控制台 → 日志里这些请求的费用比较译文质量。批量翻译别用 anthropic/claude-opus-5.5 和以 -thinking 结尾的 ID:它们每次请求都会思考,而思考按输出计费。当前每 token 单价见各模型详情页。
需要 开通沉浸式 翻译 会员吗?
这种配置不需要。扩展的 OpenAI 服务有两种用法:Pro,用沉浸式翻译自己的通道;自定义 API Key,用你自己的 Key;官方文档把它们列为二选一。选「自定义 API Key」后,请求发往你填写的地址,由 Router One 按请求计费。
内置 OpenAI 服务和「添加 自定义翻译 服务」选哪个?
两种都能用同样的值接入。内置 OpenAI 服务最快:切换到「自定义 API Key」,按上文填好即可。「添加自定义翻译服务」会新建一个单独的条目,有自己的名字,适合想让 Router One 和其他服务并存,或者用两个条目分别对应不同模型。填写「自定义翻译服务名称」(比如 Router One)、同样的「自定义 API 接口地址」、你的 Key 和模型名称,再点「点此测试服务」。自定义服务的地址规则与内置服务相同。
译文偶尔被 丢弃、换成了 别的 翻译?
这是扩展的质量校验。它比较输出与输入的 token 数,比例超出范围(默认 0.21 到 8)时,就把这份结果视为无效,改用其他翻译方案。提示词要求的不只是翻译、或者模型喜欢加说明时最容易出现。换一个只输出译文的模型;如果你的自定义提示词本来就不是单纯翻译,可以在 Edit Full User Config 里给 openai 服务设置 strictPrompt: true。
怎么 设置 temperature、超时或 输出 上限?
在 开发者设置 → Edit Full User Config 里,把它们加到 translationServices.openai 下,例如 temperature 设为 0.2、requestTimeout 设为 60000,再在 bodyConfigs 里写 max_tokens。Router One 的 Chat Completions 参考文档写的输出上限字段是 max_tokens,bodyConfigs 里有了 max_tokens 之后,扩展对所有模型都会用这个字段。改之前先备份:JSON 写错会让扩展忽略整段配置。
沉浸式 翻译能 通过 网关用 哪些 模型?
选用当前目录中同时支持沉浸式翻译所用端点和所需功能的模型。精确 ID、当前单价与能力以 /models 及模型详情为准;不要仅按 GPT、Claude 等系列名判断兼容性。客户端能列出模型,只说明它从自身配置或 GET /v1/models 读到了这个 ID,仍需验证实际调用。
能列出 模型,但调用报 400 或 404,怎么办?
先记录实际请求路径和错误消息,再核对精确模型 ID。400 可能是参数、工具类型或模型与端点不匹配;404 可能是请求路径或资源不存在,不能直接判定模型下线。若错误提示 must be called via,按它指明的端点调整客户端 provider,或换用支持当前端点的模型。不要在所有工具里统一增删 /v1 或 /chat/completions。
中国 大陆能 直连吗?
能。网关在大陆可直连、无需 VPN,配置与全球环境完全一致。
报 401/402/403/429 怎么 排查?
先到控制台 → 日志核对这条请求及错误消息。401 查 Key 是否传入和有效;402 查钱包余额与 maxSpend;403 查 Key 权限和访问限制;429 查请求频率、token 限额及上游限流,按错误来源处理。保留 request_id,再按错误码速查页逐项排查。