仪表盘

…

账号

名称邮箱状态token套餐余额操作

生成历史 保存在本浏览器里,最多 100 条

计费口径

本面板的「语音合成」走网页会话(POST /api/web/tts),消耗账号的订阅套餐 credits;POST /api/tts 走官方 API key,消耗 API 积分。两者是独立的钱包,余额在仪表盘看。

token 怎么来

最稳的办法:仪表盘「更新 token」里有个书签按钮,拖到书签栏;用你平时的浏览器登录 fish.audio,在它页面上点一下书签,token 就自动发过来。本地面板、服务器面板各生成各的书签。

自动续期:token 是不透明的会话串,没有过期时间,程序每 10 分钟向上游验证一次,失效了就按账号的「续期」方式重新登录:GitHub / Google 登录不经过 reCAPTCHA,能在后台无头完成(每个账号有自己的浏览器配置目录 browser-profile/账号名,第一次要你在「弹窗登录」里用它登一次);邮箱密码自动填表要过 reCAPTCHA,基本会被拦。设置了 PUSH_URL / PUSH_KEY 时拿到 token 会推送到服务器。

手动:fish.audio 页面按 F12 → Application → Local Storage → 复制 token 的值,到「更新 token」粘贴。

脚本调用


    

文本里可用网页同款标签:[停顿] [笑着说] [叹气] <whisper>悄悄话</whisper> <strong>重读</strong>。不带 X-Account 时在可用账号间轮询。

也兼容 OpenAI 的 POST /v1/audio/speech(model 填 drama-3 等,voice 填声音 ID 或名字),可以直接作为 OpenAI 类型渠道接进 new-api,密钥就是 ACCESS_KEY。

环境变量

HOST / PORT监听地址,默认 127.0.0.1:8765(Docker 里 HOST=0.0.0.0)
ACCESS_KEY设了之后所有 /api/* 都要带 Authorization: Bearer <key>,公网部署必设
PUSH_URL / PUSH_KEY本地实例把登录拿到的 token 推送到这个服务器(填它的地址和 ACCESS_KEY)
FISH_API_KEYAPI key 模式(/api/tts)用
TOKEN_VERIFY_INTERVAL_SECONDS多久向上游验证一次 token 还有效,默认 600
LOGIN_HEADLESS1=自动登录用无头浏览器(更易被 reCAPTCHA 拒);交互登录始终有头
ACCOUNTS_FILE账号库路径,默认 accounts.json(本地含明文密码,注意保管)

添加账号

邮箱和 token 至少填一个。密码只存在本机 accounts.json,用于自动登录续期。

更新 token:

省事的办法:把下面这个按钮拖到浏览器的书签栏。以后用你平时的浏览器登录 fish.audio,在它的页面上点一下这个书签,会打开本面板并自动把 token 存进去——不经过自动化浏览器,不会被 reCAPTCHA 拦。

📌 发 token 给 Fish TTS

或者手动:fish.audio 页面按 F12 → Application → Local Storage → 复制 token 的值粘到这里。

访问密钥

这台服务设置了 ACCESS_KEY,输入后保存在本浏览器。