Fish Audio 文档
API 文档音色管理

声音克隆

上传参考音频并创建新的个人音色。

声音克隆

POST /api/open/v1/voices
Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data

完整地址:

https://fishaudio.org/api/open/v1/voices

创建音色需要上传参考音频。Open API 当前固定使用 FishAudio 创建流程;请求中的 provider 字段会被忽略,不需要传。

请求字段

字段类型必填说明
namestring音色名称
audioFilesfile[]参考音频文件,可传多个
descriptionstring音色描述
referenceTextstring参考音频对应文本
visibilitystringprivatepublic,默认 private
languagesstringJSON 字符串数组,例如 '["zh","en"]'

支持的文件扩展名:aacflacm4amp3mp4mpegogaoggopuswavwebm。单个文件最大 10MB

不要手动设置 multipart 请求的 boundary。使用 curl -F、浏览器 FormData 或 SDK 时,让客户端自动生成 Content-Type

curl 示例

curl -X POST "https://fishaudio.org/api/open/v1/voices" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "name=我的克隆音色" \
  -F "description=用于中文旁白" \
  -F "visibility=private" \
  -F 'languages=["zh"]' \
  -F "audioFiles=@/path/to/sample-1.mp3;type=audio/mpeg" \
  -F "audioFiles=@/path/to/sample-2.wav;type=audio/wav"

响应

{
  "voiceId": "voice_abc123",
  "title": "我的克隆音色",
  "description": "用于中文旁白",
  "createdAt": "2026-07-09T00:00:00.000Z"
}

保存返回的 voiceId,后续生成语音时直接传入 TTS 请求。

错误行为

状态码场景
400缺少必填字段、文件格式不支持或文件过大
401API 密钥缺失或无效
403当前账户无权创建音色
429创建音色请求过于频繁
500音色创建失败或服务端处理失败

如果创建失败,响应中会带 requestId。排查时请保留这个值。

计费与积分

创建音色会写入 API 用量记录,具体额度和限制以当前账户开通的 Open API 权益为准。真正的 TTS 生成扣费发生在使用 voiceId 创建语音音频时。

本页内容