Fish Audio S2.1 Pro API
Fish Audio S2.1 Pro 语音合成:83 个语种共用一个模型,语音克隆前 20 个免费,输出 mp3 / wav / pcm / opus。两个计费档是同一个模型 —— 标准档 $0.03、经济档 $0.005,每千 UTF-8 字节。
先看计价:按字节,不是按字符
这个模型按输入文本的 UTF-8 字节数计价,而站内其它语音模型都是按字符。一个拉丁字母是 1 字节,一个汉字是 3 字节,一个 emoji 是 4 字节。也就是说同样一千个字,中文的价钱是英文的三倍。从别的语音模型切过来时,中文用量要按字节重新估,不能沿用字数。
| 文本 | 字节 | fish-s2.1-pro | fish-s2.1-pro-free |
|---|---|---|---|
| 英文 1,000 字符 | 1,000 | $0.030 | $0.005 |
| 中文 1,000 字 | 3,000 | $0.090 | $0.015 |
| 中英各 500 | 2,000 | $0.060 | $0.010 |
失败不扣费。前 20 个克隆音色免费。
两个档位怎么选
fish-s2.1-pro
$0.03 / 千字节。有人在等这段音频时用它。我们实测 2000 字节约 17 秒。上游按付费档的数据协议处理请求。
fish-s2.1-pro-free
$0.005 / 千字节,同一个模型、同样音质。适合验证音色、跑原型、批量处理不急的活儿。三个代价见下。
免费档的三个代价
- 慢。同样 2000 字节的文本,实测免费档 41 秒、标准档 17 秒。
- 没有 SLA。上游不承诺首字延迟和可用性,慢了或挂了都没有追责依据。
- 请求可能被上游用于改进模型。付费档有数据协议挡着这件事,免费档没有 —— 不希望被留存的文本别放这一档。
另外,上游的免费窗口有公布的截止日期,并且已经被推迟过四次。把这个价格当成临时的。
代码示例
# ─── 合成一段语音 ───────────────────────────────────────
curl -X POST https://api.apimodels.app/v1/audio/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "fish-s2.1-pro",
"text": "Hello from apimodels.",
"format": "mp3"
}'
# { "code": 200, "data": { "taskId": "clxxx", "state": "pending" } }
# ─── 用克隆出来的音色说话 ────────────────────────────────
curl -X POST https://api.apimodels.app/v1/audio/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "fish-s2.1-pro",
"text": "Now I speak in the cloned voice.",
"reference_id": "YOUR_VOICE_ID",
"format": "wav",
"prosody": { "speed": 1.2 }
}'
# ─── 取结果 ─────────────────────────────────────────────
curl "https://api.apimodels.app/v1/audio/generations?task_id=TASK_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
# { "code": 200, "data": { "state": "completed", "resultUrls": ["https://r2.apimodels.app/..."] } }请求参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| model | 是 | string | fish-s2.1-pro / fish-s2.1-pro-free |
| text | 是 | string | 要合成的文本,单次上限 10 万 UTF-8 字节 |
| reference_id | 否 | string | 音色 id(克隆得到的,或来自 Fish 音色库)。也接受 voice_id 这个写法。音色库的 id 和试听地址可用 GET /v1/voices/catalog?provider=fish 查询(公开,无需 Key),或在 apimodels.app/voices 浏览。 |
| format | 否 | string | mp3(默认)/ wav / pcm / opus |
| prosody | 否 | object | { speed, volume }。speed 取 0.5-2.0。也接受扁平的 speed 字段。 |
| mp3_bitrate | 否 | number | 64 / 128 / 192,仅 mp3 有效 |
| sample_rate | 否 | number | 采样率,如 44100 |
| latency | 否 | string | balanced(默认,首字更快)/ normal(更稳) |
| chunk_length | 否 | number | 100-300,默认 200。小块开口更早,大块长文更省。 |
| callback_url | 否 | string | 任务完成后的回调 URL |
挑一个音色
不传 reference_id 时用 Fish 的缺省音色,非英语听起来可能偏平。可以从 Fish 公共音色库里挑一个,把返回的 voice_id 当 reference_id 传:
GET https://api.apimodels.app/v1/audio/voices/fish/library?source=licensed&language=en&q=calm&page=1 Authorization: Bearer YOUR_API_KEY
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| source | 否 | string | licensed(缺省,Fish 官方授权音色)/ community(平台上全部公开音色) |
| language | 否 | string | 语言代码,如 en / zh / ar / ja |
| q | 否 | string | 按名称搜索 |
| page / page_size | 否 | number | 翻页,每页最多 50 |
每条返回 voice_id、name、languages、preview_url(试听)、licensed、uses。授权音色数量较少(部分语言暂时没有,比如阿拉伯语);社区音色由 Fish 用户上传,其中有模仿真人的,商用前请自行确认权利。也可以克隆自己的音色。
不带 API Key 也能查:GET https://api.apimodels.app/v1/voices/catalog?provider=fish&source=licensed&language=ja 返回同样的 id、试听地址和语言(目录每天更新,参数见 音色 API),也可以直接在 音色库页面 里浏览、试听。
Fish 官方授权音色的价格
Fish 官方授权音色(音色库返回 licensed: true,或用 source=licensed 查到的)按 2 倍计价,而且经济档不能用 —— 传给 fish-s2.1-pro-free 会返回 400。社区音色和你自己克隆的音色照常计价。
| 每千 UTF-8 字节 | 社区音色 / 克隆 / 缺省音色 | Fish 授权音色 |
|---|---|---|
| fish-s2.1-pro | $0.03 | $0.06 |
| fish-s2.1-pro-free | $0.005 | 不可用 |
说明
- 语音克隆前 20 个免费,超过 20 个在存的音色后每个槽位 $1(删掉一个会腾出槽位):传十秒以上的干净样本,约 5 到 20 秒拿到音色 id。
- 83 个语种共用一个模型 id,不按语种分端点,非英语也不加价。
- 异步任务:先建单拿 taskId,再轮询 GET ?task_id= 取结果。
- 结果文件保留 30 天后自动删除,请及时下载或转存。
- 失败不扣费。
试一试:Playground
常见问题
Fish Audio 怎么计费?
按输入文本的 UTF-8 字节数计,不是按字符。拉丁字母 1 字节、汉字 3 字节,所以标准档英文 1000 字符是 $0.03,中文 1000 字是 3000 字节、$0.09。免费档是它的六分之一。语音克隆不收费,失败不扣费。
Fish Audio 的语音克隆能免费建几个?
20 个。超过 20 个在存的音色之后,每多开一个槽位 $1,删掉一个又会把槽位腾出来 —— 收的是「长期占着很多音色」的钱,不是克隆这个动作本身。传十秒以上的干净样本,约 5 到 20 秒拿到音色 id,之后合成时当 reference_id 传进去即可。之后合成出来的语音按字节另外计费。
Fish Audio 标准档和免费档有什么区别?
两档是同一个模型,音质完全相同。免费档便宜六倍但是尽力而为:同样 2000 字节的文本实测 41 秒对 17 秒,没有延迟和可用性承诺,上游可能用免费档请求改进模型,而且免费窗口有公布的截止日期。验证和原型用免费档,有人在等就用标准档。