Public users share one server TTS key, so Xiaomi's per-key RPM/TPM limits
cause silent playback under concurrency. This adds an OPTIONAL path: a user
can store their own Xiaomi MiMo key in the browser and synthesize voice
client-side against Xiaomi's CORS-open endpoints. The key lives only in
localStorage and is never sent to or logged by our server; the shared server
key still serves everyone who does not opt in.
- components/TtsKeyModal.tsx: shared key modal (key-family + region picker),
reused by both the home and play pages
- app/play/page.tsx: silence nudge moved beside the mute toggle; modal opens
in place instead of redirecting to the home page
- app/page.tsx: home page consumes the shared modal + readStoredTtsConfig
- lib/clientTtsConfig.ts, lib/ttsPresets.ts: browser config + region presets
- app/api/{start,scene,insert-beat}: thread per-request voice; lib/types update
- docs/xiaomi-tts-key.md + README note
Verified with tsc --noEmit (exit 0).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
5.1 KiB
自带配音 Key 教程(小米 MiMo TTS)
InfiPlot 的角色配音由小米 MiMo-V2.5-TTS 模型实时合成。本页教你免费申请一个属于自己的 API Key, 填进 InfiPlot 后即可获得稳定的配音、更低的延迟——而且这个 Key 只存在你的浏览器里,绝不会经过我们的服务器。
本教程随仓库维护,链接长期有效。
为什么需要自带 Key?
InfiPlot 默认用一把公共的服务器 Key 给所有人配音。小米对语音模型按 RPM(每分钟请求数)/ TPM(每分钟 Token 数) 做了限额,而且这个额度并不高。当很多人同时游玩时,公共 Key 很容易撞到限额,结果就是——
- 剧情、画面都正常,唯独没有声音(静音);
- 或者配音偶尔断断续续、要等很久。
填入你自己的免费 Key 后,你用的是自己独立的额度,不再和其他人抢,于是:
- ✅ 配音稳定,不再随机静音;
- ✅ 延迟更低(可就近选区域,少一跳);
- ✅ 完全免费——MiMo-V2.5-TTS 目前限时 0x 计费,不消耗套餐额度。
这是一个可选增强。不填也能正常玩,只是高峰期更容易遇到静音。
一、免费申请 API Key
- 打开小米 MiMo 开放平台并注册 / 登录:https://platform.xiaomimimo.com
- 注册即可领取免费额度(Token Plan)。
- 进入控制台 → 套餐管理:https://platform.xiaomimimo.com/console/plan-manage
- 在该页面找到并复制你的专属 API Key。
- 套餐 Key 形如
tp-xxxxxxxx;按量 Key 形如sk-xxxxxxxx。两者相互独立、不能混用,任选一个有效的即可。 - 妥善保管,不要公开分享这把 Key。
- 套餐 Key 形如
MiMo-V2.5-TTS 系列当前为限时 0x 计费(不消耗套餐 Credits),所以配音这件事基本是免费的。具体以平台公告为准。
二、选择 Key 类型(套餐再选区域)
小米有两类 Key,对应不同的端点。在 InfiPlot 里先选类型——看 Key 前缀就能判断:tp- 是套餐、sk- 是按量,两者不能混用。
① 套餐 Token Plan(tp- 开头) —— 再选一个区域节点,对应小米不同地区的 Token Plan:
| 区域 | 说明 | 端点 |
|---|---|---|
| 新加坡 · Singapore | 亚太地区推荐 | https://token-plan-sgp.xiaomimimo.com/v1 |
| 中国大陆 · China | 中国大陆推荐 | https://token-plan-cn.xiaomimimo.com/v1 |
| 欧洲 · Amsterdam | 欧洲推荐 | https://token-plan-ams.xiaomimimo.com/v1 |
选离你最近、且与你套餐订阅区域一致的那个——延迟最低、最不容易出错。一般跟着你注册时的区域走即可。
② 按量付费 Pay-as-you-go(sk- 开头) —— 使用统一端点 https://api.xiaomimimo.com/v1,无需选择区域。
三、在 InfiPlot 里填写
- 回到 InfiPlot 首页,在选项区下方点击 「经常没声音?自带配音 Key(可选)」。
- 在弹窗里:
- 选择 Key 类型(套餐 / 按量);选「套餐」时再选区域,选「按量」则无需选区域;
- 粘贴你的 API Key;
- 点击 「保存并启用」。按钮会变成 「自带配音 Key · 已启用」,「语音配音」也会自动切到「开启」。
- 开始游玩——配音将由你的浏览器直连小米完成。
想停用时,再次打开弹窗点击 「停用并清除」 即可,本地保存的 Key 会被一并删除。
四、隐私说明
- 你的 API Key 只保存在你当前浏览器的
localStorage(键名infiplot:tts)里。 - 启用后,配音请求由你的浏览器直接发给小米对应的端点,携带你的 Key。
- 我们的服务器完全不参与这条链路,既看不到也不会记录你的 Key。
- 换设备 / 换浏览器 / 清缓存后需要重新填写,这是预期行为。
五、常见问题
Q:填了 Key 还是没声音?
- 确认「语音配音」是「开启」状态;
- 确认 Key 类型选对了:
tp-选「套餐」、sk-选「按量付费」,选错端点会一直失败; - 确认 Key 没填错、没多余空格,且仍有额度;
- 套餐 Key 可换一个区域试试(区域与订阅地不匹配也可能失败);
- 打开浏览器开发者工具的 Network 面板,看对
*.xiaomimimo.com的请求返回了什么错误。
Q:会产生费用吗?
- MiMo-V2.5-TTS 当前限时 0x 计费,正常游玩配音不消耗套餐额度。最终以小米平台的计费公告为准。
Q:tp- 和 sk- 用哪个?
- 看你手里是哪种 Key 就选哪种类型——
tp-选「套餐 Token Plan」、sk-选「按量付费」。两者不能混用,选错端点会鉴权失败。
Q:我的 Key 安全吗?
- 安全。它只存在你本地浏览器、只发给小米官方端点,不经过 InfiPlot 服务器。但请勿把 Key 贴到公开场合或分享给他人。
有问题欢迎在 GitHub Issues 反馈。