Use your own key

你自己的 Key

The extension works with no setup at all. This page covers three optional things: a better translation than the free engines give (the first three choices in the popup's Engine list: Auto (recommended), Whole-track (YouTube), Smart sentences (Google)) with an API key of your own, having the translation read out loud, and summarizing a video into chapters. Read-aloud on your browser's own voices needs no key; for the other two you bring a key or a local model, the extension uses it, and nobody sits in between.

扩展本身开箱即用,什么都不用配。这一页讲三件可选的事:用你自己的 API Key 把译文译得比免费引擎(弹窗「翻译引擎」下拉里的前三项:「自动(推荐)」「整轨翻译(YouTube)」「智能整句(Google)」)更好、让它把译文念出来、把视频总结成章节。用浏览器自带音色朗读不需要 Key;另外两件你自备 Key 或本机模型,扩展直接用它,中间没有任何人经手。

Three things before you start

开始之前,先说三件事

Only want the two lines of subtitles? You are already done — install it, open a video with captions, and they are there. Everything on this page is optional, and nothing below is needed for that.

只想要那两行字幕?那你已经装完就能用了——打开一个有字幕的视频,字幕就在上面。这一页讲的全是可选的,下面没有一件是看双语字幕必须做的。

1. What it costs

1. 花多少钱

You pay the provider directly for what you use — the extension takes no cut and has no server. Subtitles are short, so a video costs very little, but it is not free by default: check the provider's own pricing page before you rely on it. All three providers below have a free tier — though signup rules and card requirements vary by region — and their limits change often enough that we link to the source instead of copying numbers here.

你按用量直接付给服务商——扩展不抽成、也没有服务器。字幕文本很短,一个视频的花费很小,但默认并不是免费的:依赖它之前先看服务商自己的定价页。下面三家都有免费额度——但注册规则和是否要绑卡因地区而异——而额度和限速变动频繁,所以这里只给出处、不抄数字。

2. Network and region

2. 网络与区域

An API only works if your browser can reach it. Chinese endpoints can be slow or flaky from outside mainland China; Google's Gemini API is not available in every region. If a key tests fine one minute and fails the next, this is usually why — the extension retries a dropped connection once and then tells you.

接口能不能用,取决于你的浏览器能不能连上它。国内的接口从境外访问可能慢或不稳;Google Gemini 的接口在部分地区不可用。如果 Key 填好、连接成功之后过一会儿又失败,通常就是这个原因——扩展会对掉线自动重试一次,再失败才提示你。

3. Is my key safe?

3. Key 安全吗

The key is stored in this browser on this computer only (chrome.storage.local). It is never synced to your Google account and never sent anywhere except the provider you picked, as the authorization header of the translation request. When a key is saved the field shows saved ····1234 with Replace and Delete beside it; Delete removes it from this computer, and “Reset all settings” clears it too. Treat a key like a wallet anyway: don't paste it into random websites, and revoke it in the provider's console if you ever suspect it leaked.

Key 只保存在这台电脑的这个浏览器里(chrome.storage.local)。它不会同步到你的 Google 账号,也不会发往除你所选服务商之外的任何地方——只作为翻译请求的认证头。存了 Key 之后那一行会显示「已保存 ····1234」,旁边是「更换」「删除」;删除就是把它从这台电脑上抹掉,「重置全部设置」也会一并清掉。不过还是把 Key 当钱包看:别往来路不明的网站里粘,一旦怀疑泄露就去服务商后台吊销。

The whole thing in three steps

整个流程就三步

The popup opens from the extension's icon in the browser toolbar — if it isn't there, click the puzzle-piece icon and pin Dual Subtitles.

弹窗从浏览器工具栏里扩展的图标打开——没看到图标就点拼图图标,把 Dual Subtitles 钉上去。

  1. Open the extension popup → set Engine to Your own key (LLM / DeepL) → click Configure….
  2. 打开扩展弹窗 → 把「翻译引擎」切到「自带 Key(LLM / DeepL)」 → 点「配置…」
  3. Pick a provider in the list on the left — fourteen of them, so the one this page starts with, Model Studio, is eighth; scroll. Paste your API key, leave the model on the recommended one. Want a different one? Hit List models with my key (List available models on a provider that needs none) and choose from what your key can actually reach — the list comes from the provider, so it says what that key reaches right now.
  4. 在左边列表里选一个服务商——一共十四家,这一页最先讲的「百炼」排在第八,往下翻。粘贴你的 API Key,模型保持推荐值即可。想换别的?点「用我的 Key 拉取模型」(免 Key 的服务商上叫「拉取可用模型」),从你这把 Key 真正能用的模型里挑——列表是服务商当场给的,反映这把 Key 现在够得着什么。
  5. Click Save and test. Chrome asks once for permission to reach that provider's domain — allow it, and you should see “Connected”.
  6. 「保存并测通」。Chrome 会问一次是否允许访问该服务商的域名——同意后应该看到「连接成功」。
Why the permission prompt?为什么会弹权限? The extension ships with no access to any AI provider. It asks for one domain, only when you choose that provider — so an unused provider can never be contacted. 扩展默认对所有 AI 服务商都没有访问权限。只有你选中某一家时,它才申请那一个域名——没用到的服务商永远联系不上。

Alibaba Cloud Model Studio (Qwen / DeepSeek)Alibaba 百炼 (Qwen / DeepSeek)

Tested已实测

Best pick inside mainland China, and the fastest of the three in our measurements. One key gives you both the Qwen models and DeepSeek models hosted there.

中国大陆首选,也是我们实测里最快的一家。一把 Key 同时能用平台上的通义千问系列和 DeepSeek 系列模型。

  1. Sign in to the Alibaba Cloud Model Studio (Bailian) console with your Alibaba Cloud account, and activate the model service if it asks you to.
  2. 用阿里云账号登录百炼控制台,如果提示需要开通模型服务,先开通。
  3. In the console sidebar open System tools → API-KEY and create a key. (The link above goes straight there; console layouts do get reshuffled, so trust the link over the menu names.)
  4. 在控制台左侧栏打开「系统工具 → API-KEY」,创建一把 Key。(上面的链接直达该页;控制台偶尔改版,菜单名不对就以链接为准。)
  5. Copy the key — it starts with sk-. Paste it into the extension and press Save and test.
  6. 复制这把 Key(以 sk- 开头),粘贴进扩展,点「保存并测通」。
  • Recommended model: qwen-flash — the default, and by far the quickest we measured. deepseek-v4-flash also works well if you prefer DeepSeek's wording.
  • 推荐模型:qwen-flash——默认值,也是我们实测最快的。想要 DeepSeek 的语感,就在拉取的列表里选 deepseek-v4-flash(没拉列表也可以直接手填),一样能用。
  • Registered outside mainland China? Model Studio runs a separate international platform, and a key from one side is refused by the other. Pick International in the Site row before you press Save and test — the console and pricing links follow your choice.
  • 账号不在中国大陆注册的:百炼另有一套独立的国际站,两边的 Key 不通用。按「保存并测通」之前先在「站点」那一行选「国际」——控制台和资费链接会跟着你的选择走。
  • Keep the default endpoint. A workspace-scoped key (one that starts sk-ws-) works fine on the standard endpoint, so you do not need the workspace-specific host — and the standard one proved more reliable in testing.
  • 接口地址保持默认。工作空间级的 Key(以 sk-ws- 开头)在标准接口上照样能用,不需要填工作空间专属域名——而且实测标准接口更稳。
  • Avoid “thinking” models for subtitles: they spend most of their time reasoning. The extension already turns that off for this provider where the API allows it.
  • 字幕别用推理(thinking)类模型,它们大部分时间花在思考上。这一家的接口支持关闭思考,扩展已经自动帮你关了。

Google Gemini

Tested已实测

An easy key to obtain — a couple of clicks in Google AI Studio, no separate billing setup to get started.

Key 很容易拿——在 Google AI Studio 点两下就有,开始用不需要另外配置付费。

  1. Open Google AI Studio and go to the API Keys page.
  2. 打开 Google AI Studio,进入 API Keys 页面。
  3. Click Create API key and copy the value.
  4. Create API key,复制生成的值。
  5. Paste it into the extension and press Save and test.
  6. 粘贴进扩展,点「保存并测通」。
  • Recommended model: gemini-flash-latest — the default. Do not pin a specific version: we found gemini-2.0-flash already answering “quota exceeded” on free keys, which looks exactly like a broken extension.
  • 推荐模型:gemini-flash-latest——默认值。别把版本号钉死:我们实测 gemini-2.0-flash 在免费 Key 上已经直接返回「额度用尽」,看起来就像插件坏了。
  • Not available in every country. If the test fails with a network error while other sites work, this is the likely reason.
  • 并非所有国家/地区都能访问。如果别的网站都正常、只有测通报网络错误,大概就是这个原因。

DeepL

Tested已实测

Not a chat model — a dedicated translator. Wording is conservative and consistent, which many people prefer for subtitles. It also gets the per-line alignment right, because its API accepts the surrounding sentence as context.

它不是聊天模型,而是专业翻译引擎。用词稳、前后一致,很多人就喜欢这种字幕。它也能做到逐行对齐,因为它的接口支持把整句作为上下文传进去。

  1. Sign up for a DeepL API plan — the Free one is enough. Note this is the API product, not the website translator or the desktop app.
  2. 注册 DeepL API 方案,Free 版就够。注意要的是 API 产品,不是网页翻译或桌面客户端。
  3. In your DeepL account page, open the section for API keys and copy the authentication key.
  4. 在 DeepL 账户页面里找到 API 密钥那一节,复制认证密钥。
  5. Paste it into the extension and press Save and test. There is no model to choose for DeepL.
  6. 粘贴进扩展,点「保存并测通」。DeepL 不需要选模型。
  • The single most common mistake: a DeepL Pro subscription (website / apps) is a different product from a DeepL API account, and the key you see in a Pro account does not work here. A 401/403 almost always means this.
  • 最常见的错就这一条:DeepL Pro(网页版/客户端订阅)和 DeepL API 是两种不同的产品,Pro 账户里看到的密钥在这里用不了。报 401/403 基本都是这个原因。
  • A key ending in :fx is a Free-plan key. The extension reads that suffix and talks to the right endpoint automatically — you never pick one.
  • :fx 结尾的是 Free 版 Key。扩展会读这个后缀自动选对应的接口地址——你不用管。
  • Signing up needs a card. The API Free plan still asks for a VISA/Mastercard issued in a region DeepL supports — cards issued in mainland China are generally not accepted, which is why many users here end up on an LLM instead. DeepL's own pricing page has the current allowance.
  • 注册要绑卡。API Free 方案仍然需要一张 DeepL 支持地区发行的 VISA/Mastercard——中国大陆发行的卡普遍不被接受,所以国内用户往往最后选大模型那条路。额度以 DeepL 自己的定价页为准。
  • DeepL covers every language this extension offers. If that ever changes, you get a clear message asking you to change the language or the engine, and nothing is sent.
  • DeepL 覆盖本扩展提供的全部译文语言。万一哪天不再覆盖,扩展会直接提示你换语言或换引擎,请求不会发出去。

The other providers

其他服务商

Endpoint checked, no key on hand接口已核,无 Key 实测

Every endpoint below was probed and answered — the host and path are right. What we could not check without a key is the model name and whether the provider lets a browser extension call it directly. So don't guess a model: press List models with my key (List available models on a provider that needs none) in the settings page and pick from what your own account returns.

下面每一家的接口我们都探过、都有响应——域名和路径是对的。没有 Key,我们验证不了的是两件事:模型名,以及服务商允不允许浏览器扩展直连。所以别猜模型名:在设置页点「用我的 Key 拉取模型」(免 Key 的服务商上叫「拉取可用模型」),从你自己账号返回的列表里选。

Provider服务商 Get a key拿 Key Notes备注
OpenAI API keys · pricing资费 Model line moves fast — fetch the list rather than typing a name.模型更新很快——用「用我的 Key 拉取模型」而不是手打名字。
DeepSeek API keys · pricing资费 DeepSeek's own platform. Also reachable through Alibaba Cloud Model Studio above.DeepSeek 官方平台。上面的百炼也能用到它的模型。
Anthropic Claude API keys · pricing资费 Its OpenAI-compatible endpoint is live, but Anthropic blocks browser-originated calls by default. The extension sends the documented opt-in header; whether that is enough from an extension is unverified.它的 OpenAI 兼容接口确认存在,但 Anthropic 默认拦截浏览器发起的调用。扩展已带上官方文档里的放行请求头,但从扩展里是否够用未经验证。
xAI Grok Console · pricing资费 OpenAI-compatible API.OpenAI 兼容接口。
Kimi (Moonshot) API keys · pricing资费 The console moved to kimi.com; the API host is still the moonshot.cn one filled in here. Registered on the international site instead? Pick International in the Site row — the two are separate platforms and a key from one is refused by the other.控制台已迁到 kimi.com,但接口主机仍是这里预填的 moonshot.cn。如果你的账号注册在国际站,请在「站点」那一行选「国际」——两边是各自独立的平台,Key 不通用。
Zhipu GLM智谱 GLM API keys · pricing资费 Mainland China endpoint by default. Registered on the international site? Pick International in the Site row — separate platforms, and a key from one is refused by the other.默认走国内接口。账号注册在国际站的,请在「站点」那一行选「国际」——两边各自独立,Key 不通用。
Doubao (Volcengine Ark)豆包(火山方舟) Ark console控制台 · pricing资费 Takes an endpoint id (ep-…) in the model field, not a public model name.模型栏要填接入点 ID(ep-…),不是公开模型名。
SiliconFlow 硅基流动 API keys · pricing资费 Hosts many open models; names are long — fetch the list. Registered on the international site? Pick International in the Site row — separate platforms, and a key from one is refused by the other.托管很多开源模型,名字都很长——用「用我的 Key 拉取模型」。账号注册在国际站的,请在「站点」那一行选「国际」——两边各自独立,Key 不通用。
OpenRouter Keys · pricing资费 One key, many vendors. Model names look like vendor/model — its catalogue is public, so the model list loads reliably.一把 Key 通多家。模型名形如 vendor/model——它的模型目录是公开的,所以「拉取模型」很稳。

Using a model on your own machine

用你自己电脑上的模型

A model running on your own computer costs nothing per video and sends nothing anywhere. The trade is speed and quality: a 7B model (seven billion parameters — the usual way of saying how big a model is) on a reasonably recent laptop usually translates a line in under a second once it is warm, and reads about as well as a cheap cloud model — how fast it really is depends on your computer. Anything smaller than 7B tends to mix languages mid-sentence, which is worse than not translating at all.

跑在自己电脑上的模型,看多少视频都不花钱,字幕也不会离开这台机器。代价是速度和质量:一个 7B 模型(70 亿参数,「7B」是说模型多大的惯用写法)在还算新的笔记本上热起来之后,通常一句话不到一秒,读起来大致相当于一个便宜的云端模型——具体多快,看你的电脑。比 7B 更小的,常常一句话里中英文混着出,那还不如不翻。

The model does not run by itself: you need a program that downloads models and runs them. Two free ones are easy to set up — Ollama, a small command-line tool, and LM Studio, the same idea with a window. Whichever you pick, the one thing that catches everybody is the same, and it is in step 2.

模型自己不会跑,要有一个负责下载和运行它的程序。免费又不难装的有两个:Ollama(一个命令行小工具)和 LM Studio(同样的东西,带窗口)。不管你选哪个,卡住所有人的都是同一件事,就在第 2 步。

Ollama

Ollama

1. Install it, then choose a model and pull it. Download Ollama from ollama.com and install it. It comes with no model of its own: models are pulled separately, a few gigabytes each, and the part after the colon in a name is the size class — 7b means seven billion parameters. Three things decide which one to pull:

1. 装上它,再挑一个模型拉下来。ollama.com 下载安装。它本身不带模型:模型要另外拉,一个几 GB;名字里冒号后面是大小档位,7b 就是 70 亿参数。拉哪个,看三件事:

  • Size. 7B is the floor for subtitles — smaller ones mix languages, as above. Bigger reads better but is slower and needs more memory: count on the machine having a few gigabytes more memory than the model file, so a 4.7 GB model wants 8 GB and an 8 GB model wants 16 GB.
  • 大小。字幕翻译 7B 起步——更小的会混语言,上面说过。更大的译得更好,但更慢、更吃内存:内存要比模型文件多出几 GB 才够,4.7 GB 的模型要 8 GB 内存,8 GB 的模型要 16 GB。
  • Your languages. Every model's page on ollama.com lists what it speaks.
  • 会不会你的语言。ollama.com 上每个模型的页面都写了它支持哪些语言。
  • Not a thinking model. Names like qwen3 or deepseek-r1 think before they answer, and a subtitle line cannot wait for that — the same reason as the cloud note above.
  • 别选会先思考的。名字里带 qwen3deepseek-r1 这类的会先想再答,一句字幕等不起——和上面云端那条是同一个理由。
Model模型 Download下载 Memory内存 Languages语言 In one line一句话
qwen2.5:7b 4.7 GB 8 GB 29, incl. Chinese, English, Japanese, Korean29 种,含中、英、日、韩 The one this guide was tested with, on a 16 GB Mac. Start here.这一页就是用它在一台 16 GB 的 Mac 上实测的。从它开始。
gemma3:12b 8.1 GB 16 GB 140+140 多种 Better outside the big languages, if the machine has the memory.大语种之外的语言更好,前提是机器有这么多内存。
gemma3:4b 3.3 GB 8 GB 140+140 多种 For small machines. Below the 7B floor, so watch one video before trusting it.给小机器。低于 7B 这条线,先看一段视频再信它。

Then, in a terminal (the sizes and language counts above are ollama.com's figures at the time of writing — the model's own page is the current word):

然后在终端里跑(上面的大小和语言数是写这页时 ollama.com 上的数字,以模型自己的页面为准):

ollama pull qwen2.5:7b

ollama list shows what is installed. Switching later is just pulling another one and picking it in step 3.

装了哪些,ollama list 会列出来。以后换模型,就是再拉一个,然后在第 3 步里选它。

2. Start it so the browser is allowed to talk to it. This is the step everybody misses. Ollama refuses requests from a browser extension unless you tell it not to, and the failure looks like the extension is broken rather than like a permission problem. Quit Ollama if it is already running, then start it like this (Mac and Linux — Windows is the next paragraph):

2. 启动它,并且允许浏览器连它。这一步是所有人都会漏掉的。默认情况下 Ollama 会拒绝来自浏览器扩展的请求,而且失败的样子看着像是扩展坏了,不像是权限问题。如果它已经在跑,先退出,然后这样启动(Mac 和 Linux;Windows 看下一段):

OLLAMA_ORIGINS="chrome-extension://*" ollama serve

On Windows, set OLLAMA_ORIGINS to chrome-extension://* in the system environment variables and restart Ollama.

Windows 上把系统环境变量 OLLAMA_ORIGINS 设成 chrome-extension://*,然后重启 Ollama。

On a Mac that line lasts only until the terminal closes. To have the menu-bar app allow the extension every time it starts, run this once, then quit and reopen Ollama — it is how Ollama's own FAQ sets its variables:

Mac 上那行命令只管这一次,终端一关就没了。想让菜单栏里的 Ollama 每次启动都放行扩展,跑一次下面这行,再退出重开 Ollama——这是 Ollama 官方 FAQ 设环境变量的做法:

launchctl setenv OLLAMA_ORIGINS "chrome-extension://*"

3. Point the extension at it. In the settings page's Translation service pane — the page that Configure… in the popup opens — pick Ollama (local) from the provider list. There is nothing to type: this entry is wired to http://localhost:11434/v1, Ollama's own port, and it has no key field because Ollama does not use one. If yours listens somewhere else, use Custom (OpenAI-compatible) at the bottom of the list instead — that one has an address field.

3. 把扩展指过去。在设置页的「翻译服务」面里(就是弹窗里点「配置…」打开的那一页),从服务商清单里选 Ollama(本机)没有东西要填:这一项直接连 http://localhost:11434/v1,也就是 Ollama 自己的端口;它也没有 Key 那一栏,Ollama 本来就不用 Key。如果你的 Ollama 换了端口,就用清单最下面那一项自定义(OpenAI 兼容)——那一项有地址栏。

Press List models with my key (List available models on a provider that needs none) and the models you have pulled appear — the list comes from your own machine, so it says what is actually installed. Pick one, then press Save and test. A green line means it answered.

用我的 Key 拉取模型(免 Key 的服务商上叫「拉取可用模型」),你已经拉下来的模型就会列出来——这份清单来自你自己的机器,所以它说的就是你真正装了什么。选一个,然后点保存并测通。出现绿色那行就是通了。

If step 2 was skipped, this is where it shows: the test says it cannot reach the address, and names the two reasons — the server is not running, or it has not been told to allow the extension.

要是第 2 步漏了,就会在这里现形:测通会说连不上这个地址,并且把两个原因都说出来——服务没在跑,或者它还没允许扩展访问。

Running it somewhere else? The preset's address is fixed on purpose. If your Ollama listens on another port, or you reach a model server over a tunnel, use Custom (OpenAI-compatible) instead and type the address there — everything else on this page applies unchanged.

跑在别的地方?这个预设的地址是固定的。如果你的 Ollama 换了端口,或者你要通过隧道连一台别的机器,就改用「自定义(OpenAI 兼容)」,把地址填进去——这一页其余的内容照旧适用。

LM Studio

LM Studio

Same three steps, different switch. Download a model in LM Studio's own interface (the advice on size and languages above applies unchanged), open the Local Server tab, and turn on CORS before you start the server — that switch is this program's version of the line above, and without it the browser is refused in exactly the same way. In the extension, pick Custom (OpenAI-compatible) from the provider list — not Ollama — and give it the address http://localhost:1234/v1; the key stays empty.

同样三步,只是开关换了个地方。在 LM Studio 自己的界面里下载模型(上面关于大小和语言的建议照样适用),打开 Local Server 页,启动服务器之前先把 CORS 打开——这个开关就是上面那行命令的等价物,不开的话浏览器会以一模一样的方式被拒。在扩展里,从服务商清单里选「自定义(OpenAI 兼容)」——不是 Ollama——地址填 http://localhost:1234/v1,Key 同样留空。

Any other OpenAI-compatible server

其他任何 OpenAI 兼容的服务

That is what Custom (OpenAI-compatible) is for: a model server on another port, a machine on your network, a tunnel to your desktop, or a provider this page does not list. Four things decide whether it works.

「自定义(OpenAI 兼容)」就是干这个的:换了端口的本地服务、局域网里的另一台机器、连回家的隧道,或者这一页没列的某家服务。能不能通,取决于四件事。

What to fill in填什么 What is accepted怎么填才对
Address地址 A base URL (https://example.com/v1) or the full endpoint (https://example.com/v1/chat/completions) — both are accepted, and the base URL is the safer one to give. http:// is allowed for loopback addresses only (localhost, 127.0.0.1); anything else has to be https://.填 Base URL(https://example.com/v1)或完整接口地址(https://example.com/v1/chat/completions)都行,填 Base URL 更保险。http:// 只允许本机回环地址localhost127.0.0.1),其他一律要 https://
API KeyAPI Key Optional here, and only here. Leave it empty for a server that does not authenticate (Ollama, LM Studio) — empty means no Authorization header is sent at all, which is what those servers want. Fill it in for anything that does check.只有这一栏可以留空。不做鉴权的服务(Ollama、LM Studio)就留空——留空等于一个 Authorization 头都不发,这正是它们想要的。要鉴权的服务就照填。
Model模型 Press List models with my key (List available models on a provider that needs none) first. If the server answers, you pick from what it really has. If the list stays empty, the server may not offer /v1/models — type the model name by hand and the rest still works.先点用我的 Key 拉取模型(免 Key 的服务商上叫「拉取可用模型」)。服务器答得上来,你就从它真有的东西里选;列表一直空着,多半是这台服务不提供 /v1/models——手打模型名,其余照样能用。
Permission权限 A named provider's domain ships with the extension. An address you type comes in two kinds: localhost / 127.0.0.1 are declared too, so the browser asks once when you press Save and test; any other https address is not, the browser shows no prompt, and whether it connects is up to that server's CORS rules. Either way a server of your own must allow the extension (the OLLAMA_ORIGINS line above, or the CORS switch). A refusal there looks exactly like "cannot connect".列表里那些服务商的域名是随扩展一起声明的;你自己填的地址分两种:localhost / 127.0.0.1 也在声明里,第一次点保存并测通时浏览器会问一次;其他 https 地址不在,浏览器不会弹权限窗,能不能通由那台服务器的 CORS 规则决定。不管哪种,自己跑的服务都还得允许扩展访问(上面那行 OLLAMA_ORIGINS,或者 CORS 开关)。这一关被拒的样子,和「连不上」一模一样。

When it does not work

不通的时候

What you see你看到的 What it usually is多半是什么
Cannot connect, and the model list stays empty连不上,模型列表也是空的 Step 2. The server is running, but it is turning the browser away. On a Mac, check that it was started with the line above — or that the launchctl line was run and the app reopened — rather than plainly from the menu-bar icon; on Windows, that the variable is set and Ollama was restarted afterwards.第 2 步。服务在跑,但它把浏览器挡回去了。Mac 上确认是用上面那行命令起的——或者跑过 launchctl 那行并重开过——而不是直接点菜单栏图标;Windows 上确认环境变量设了、之后重启过 Ollama。
The first line takes several seconds, then it speeds up第一句要等好几秒,之后就快了 Normal. The model is being loaded into memory. It stays warm while you keep watching.正常。模型正在装进内存。只要你一直在看,它就一直是热的。
Chinese and English mixed inside one line一句话里中英文混着 The model is too small. 3B often does this; 7B rarely does.模型太小了。3B 经常这样,7B 很少。
It works, then stops when the laptop sleeps本来好好的,合上盖子之后就不行了 The server stopped with the machine. Start it again with the same line (after the launchctl line, reopening Ollama is enough).服务跟着机器一起停了。用同一行命令再起一次就行(跑过 launchctl 那行的,重开 Ollama 就行)。

The same local model can also write the summaries — the summary panel accepts whatever the Translation service pane is set to, including this.

同一个本地模型也可以拿来写总结——总结面板用的就是「翻译服务」面里配的那家,本地模型也算。

Reading the translation out loud

让它把译文念出来

Read-aloud starts on your browser's own voices: nothing to sign up for, no key, and with the voices installed on your machine nothing leaves it (the browser's online voices, the ones named Google, send the line to Google to be spoken). Turn it on in the popup and it speaks each translated line as it appears. If you want better voices than your operating system ships, the Read aloud pane of the settings page (the gear in the popup's header, then Read aloud) takes a key from one of the providers below — it is a separate key from the translation one, even when the company is the same.

朗读默认用你浏览器自带的音色:不用注册、不用 Key;用本机装好的音色时什么都不离开这台电脑(浏览器的在线音色——名字带 Google 的那几个——会把这句发给 Google 来念)。在弹窗里打开开关,每句译文出现时就会念出来。想要比系统音色更好的,就在设置页的「朗读」面板里(弹窗页眉上的齿轮,再点「朗读」)填一把下面某家的 Key——它和翻译那把 Key 是分开的,哪怕是同一家公司。

Tick Read the translation aloud in the video and two sliders appear under it: Read-aloud volume, and Original audio — how far the video's own sound drops under the voice. The settings page has room for that one's full name, Original audio while speaking.

勾上「在视频里朗读译文」,下面才会出现两个滑杆:「朗读音量」,和「原声音量」——朗读时视频原声压到多低。设置页上写得下它的全名:「朗读时的原声音量」。

Provider服务商 KeyKey Worth knowing要注意的
Your browser's own voices (free)浏览器内置音色(免费) none不需要 Free, offline, already installed. The voice list is whatever your operating system has. A long line slows the video a little here too, just as with a cloud voice; the one difference is that the browser's online voices (the ones named Google) start a beat later.免费、离线、已经装好了。音色列表就是你系统里有的那些;句子太长时同样会把视频稍微放慢,和云端音色一样。唯一的差别:浏览器的在线音色(名字带 Google 的那几个)起播会慢半拍。
OpenAI TTS Keys · pricing资费 Thirteen voices, all of them cross-language, so one choice follows you whatever you are reading.13 个音色,全都跨语言,选一个就能跟着你换任何译文语言走。
Google Cloud TTS Keys · pricing资费 Enable Cloud Text-to-Speech API on the project first, or the key answers 403. Covers 43 of the 50 translation languages; the rest say so honestly.要先在项目里启用 Cloud Text-to-Speech API,否则 Key 会回 403。50 种译文语言里支持 43 种,其余的会直接告诉你不支持。
Alibaba Model Studio (Qwen-TTS)阿里云百炼 Qwen-TTS Keys · pricing资费 The only one with Chinese regional voices — Beijing, Shanghai, Sichuan, Cantonese and more. Eleven languages, not fifty. Registered on the international site? Pick it in the Site row first — the keys are not interchangeable.唯一有中文方言音色的一家——北京、上海、四川、粤语等等。只支持 11 种语言,不是 50 种。账号注册在国际站的,先在「站点」那一行选——两边的 Key 不通用。
ElevenLabs Keys · pricing资费 A large voice library, and your own cloned voices show up in the list too. Press Fetch this language's full list with your key to load them.音色库很大,你自己克隆的声音也会出现在列表里,点「用你的 Key 拉取这个语言的完整音色清单」就能加载。
Azure Speech Portal · pricing资费 Also needs the region — the one shown next to the key in the portal, such as eastus. The key alone will not work, and the pane says so. Xiaoxiao and the other Chinese multilingual voices live here. An Azure China (21Vianet) account picks its platform in the Site row.还要填「服务区域」——就是门户里 Key 旁边写的那个,比如 eastus。只有 Key 是用不了的,设置页会直说。晓晓等中文多语言音色在这一家。由世纪互联运营的 Azure 中国账号,在「站点」那一行选平台。
Custom (OpenAI-compatible)自定义(OpenAI 兼容) optional可留空 Point it at any server speaking the OpenAI /v1/audio/speech shape — a local Kokoro or openai-edge-tts gives you free read-aloud next to a local translation model. Type the address (plain http:// works for this machine only), leave the key empty if the server wants none, and type the voice name yourself — local servers rarely publish a list.指向任何说 OpenAI /v1/audio/speech 这套接口的服务——本机跑 Kokoro、openai-edge-tts 这类,就能在本地翻译模型旁边配上免费朗读。地址自己填(http:// 只有本机能用),服务器不要 Key 就留空,音色名也自己打——本地服务一般没有音色目录。

The popup has no preview: open the settings page's Read aloud pane (the gear in the popup's header), where Preview next to the voice speaks a sentence in your translation language before you commit to anything.

弹窗里没有试听:从弹窗页眉的齿轮进设置页的「朗读」面,音色旁边的「试听」会用你当前的译文语言念一句话给你听,不用先开着看视频才知道好不好。

If a provider's docs list more than one speech model, the same pane shows a Model row, and you can type a name yourself. When they ship a new model, type its name in and you can use it; you don't wait for an extension update.

服务商官方若写了不止一个语音模型,同一面板里会多一行「模型」,名字也可以自己填。他们新出了模型,把名字填进去就可以用,不用等扩展更新。

Summarizing a video into chapters

把一支视频总结成章节

Click the small arrow on the extension's own subtitle button in the player's control bar (the one that is blue while the overlay is on — not YouTube's CC button) to open its menu, and pick Summary. The whole subtitle track becomes a one-line TL;DR plus chapters with timestamps, written in your translation language; click a timestamp to jump there. You need a service of yours: any own-key provider in the Translation service pane, or a local model — Ollama from the provider list, or LM Studio through the custom endpoint. The free engines only translate. They don't summarize.

点播放器控制栏里扩展自己那颗字幕按钮(开着时是蓝色的那颗,不是 YouTube 的 CC)上的小箭头打开菜单,选「总结」。整条字幕轨会变成一句摘要,加上带时间戳的章节,用你的译文语言来写;点时间戳就跳到那段。这需要你自己的服务:翻译面板里自带 Key 的任何一家,或本机模型——列表里选「Ollama(本机)」,LM Studio 走自定义接口。免费引擎只翻译,不总结。

With no service of your own set up, the panel opens on that instead: it says summaries need a service of yours and offers Set up a translation service, and there is no Summarize button until there is one.

还没配自己的服务时,面板开出来就是这句:它会说总结需要你自己的翻译服务,并给一颗「去配置翻译服务」;在那之前,「开始总结」这颗按钮根本不会出现。

Before you press Summarize, the panel names the provider and how many parts the track is split into. Until you press it, the track stays in the browser; you can cancel mid-way. Long videos are summarized in parts and then merged. If a part fails, it is written into the result rather than papered over.

按「开始总结」之前,面板会先写清用哪家、整轨分几段。你不按这个按钮,字幕不会离开浏览器;跑一半也可以随时取消。长视频会分段总结再拼起来,哪一段失败了就照实写在结果里,不会糊弄过去。

When it doesn't work

出问题了怎么办

The extension tries to name the actual problem instead of just failing. Here is what each message means.

扩展会尽量说出到底哪里出了问题,而不是只报个失败。下面是每种提示的含义。

Nothing appeared at all? That is the other kind, and this table will not have it: no message means nothing got as far as failing. Open the settings page's About pane and work through the three checks under Something not working. The table below is for the other case — the key is set up and the extension is telling you what came back.

字幕根本没出来?那是另一回事,这张表里查不到:没有提示,说明它还没走到失败那一步。去设置页的「关于」面,照「遇到问题」下面那三步过一遍。下面这张表管的是另一种——Key 已经配好了,扩展在告诉你对面回了什么。

Message提示 What to do怎么办
Key was rejected (401)Key 被拒绝(401) Re-copy the whole key — a trailing space or a missing character is the usual cause — and check it is still active. A 403 is a different thing: the key works, but that account is not allowed to make this call — an identity check still pending, an API not switched on, or a region. The extension now says which of the two it got, and prints what the provider itself said underneath.重新完整复制一遍 Key(多一个空格、少一个字符是最常见原因),再确认它还有效。403 是另一回事:Key 本身能用,是这个账号不被允许这样调用——多半是余额不足、实名还没做、某个接口没开通,或者地区限制。扩展现在会说清它遇到的是哪一种,并把服务商自己说的那句话显示在下面。
The endpoint refused the request — the model name or base URL may be wrong接口拒绝了请求:模型名或接口地址可能不对 Use “List models with my key” and pick from the list. For a custom endpoint, both a base URL and a full endpoint URL are accepted.点「用我的 Key 拉取模型」从列表里选。自定义接口地址时,填 Base URL 或完整接口地址都可以。
Only chain-of-thought, no translation只输出了思考过程,没给译文 You picked a reasoning model. Switch to an ordinary one — a name with “flash”, “turbo” or “lite” in it, not “thinking”, “reasoner” or “r1”.你选到了推理模型。换成普通模型——名字里带 flash、turbo、lite 这类字样的,而不是带 thinking、reasoner、r1 的。
Rate-limited / out of quota被限流/额度用完 Rate-limited: the extension slows down and retries by itself; already-translated lines keep working. Out of quota or unpaid balance (a 402): retrying will not help — top up, or switch engine; the popup says which of the two it is.被限流:扩展会自动放慢并重试,已翻译的句子还在。额度用完或欠费(402):重试没有用——充值,或换引擎;弹窗会说清是哪一种。
Cannot reach that endpoint连不上这个接口 Network or regional restriction. Try again, try another provider, or use the free engine.网络或区域限制。稍后重试、换一家,或先用免费引擎。
Without permission to reach that API host the extension cannot connect没有授权访问这个接口域名,无法连接 The permission prompt was dismissed. Press Save and test again and allow it.权限弹窗被关掉了。再点一次「保存并测通」并允许。
That address answered with a web page, not the API那个地址回的是一个网页,不是接口 Usually a sign-in wall or a network that intercepts requests. Check the address (an API base URL, not a web page), or try another network.多半是登录页或网络在中间拦截。检查地址(要填接口地址,不是网页),或者换个网络。
The model did not answer line by line as asked模型没按要求逐行返回 The extension already retried with smaller pieces. Pick another model — an ordinary chat model, not a reasoning one — and try again.扩展已经自动拆小重试过了。换个模型——普通对话模型,不要推理模型——再试。
Could not play (read-aloud preview)播不出来(朗读试听) The voice provider returned no audio. Check that key, press Save and test on the Read aloud pane, and read the line it prints.语音服务商没有返回音频。检查那把 Key,在「朗读」面点「保存并测通」,看它打出的那一行。
Heads up: this video only has AI-dubbed auto captions提示:此视频只有 AI 配音的自动字幕 Not a fault. The video has no caption track in its original language, so the lines follow the dubbed audio and may not match what you hear. Nothing to set; another video will be fine.不是故障。视频没有原声语言的字幕轨,字幕跟的是配音音轨,可能和你听到的对不上。不用设置,换个视频就正常。

Still stuck? Copy the diagnostic info first (settings → About → Copy diagnostic info: version, engine state, what the current tab is doing — no key, no subtitle text) and paste it into your message; it saves a round of questions.

还是不行?先复制诊断信息(设置页 → 关于 → 「复制诊断信息」:版本、引擎状态、当前标签页在做什么,不含 Key 和字幕正文),贴进你的消息里,能省一轮来回。