创建模型
上传参考音频,创建自定义 TTS 音色模型。同步接口,创建后立即可用于语音合成。
上传参考音频,创建自定义 TTS 音色模型。创建成功后返回模型详情,可将 _id 作为语音合成接口的 reference_id 使用。
同步接口:本接口上传文件,常规 REST 请求请使用 multipart/form-data,由 HTTP 客户端自动设置 multipart Content-Type 的 boundary。train_mode 仅支持 fast,创建后立即可用。
Base URL
https://api.autorouter.top— Production
Authentication
BearerAuth: http (bearer)
使用 Bearer Token 认证。
格式: Authorization: Bearer sk-xxxxxx
Endpoints
POST /fishaudio/model
创建音色模型
上传参考音频并填写模型信息,响应返回新建模型的详情。
由于需要上传文件,请使用 multipart/form-data,不要手动设置 boundary。
Request Body
Content-Type: multipart/form-data
Example:
{
"type": "tts",
"title": "My Voice",
"description": "Cloned from a studio sample",
"visibility": "private",
"train_mode": "fast",
"voices": ["sample.wav"],
"texts": ["Hello, this is a studio sample."],
"tags": ["custom", "english"],
"enhance_audio_quality": true,
"generate_sample": false
}Properties:
| Name | Type | Required | Description |
|---|---|---|---|
type | string | Yes | 模型类型,固定为 tts(文本转语音) |
title | string | Yes | 模型标题或名称 |
train_mode | string | Yes | 训练模式,固定为 fast。TTS 模型创建后立即可用 |
voices | file | file[] | Yes | 用于调音的参考音频,1~20 个文件 |
description | string | null | No | 模型描述 |
cover_image | file | null | No | 封面图。公开模型必填 |
visibility | string | No | 可见性。默认 private |
texts | string | string[] | null | No | 与 voices 对应的转写文本;未传时会对音频做 ASR |
voice_design_signatures | string | string[] | null | No | 来自 Voice Design 候选的签名,与 voices 一一对应 |
tags | string | string[] | null | No | 模型标签 |
enhance_audio_quality | boolean | No | 是否增强音质。默认 true |
generate_sample | boolean | No | 是否生成默认试听文本。默认 false |
visibilitystring(可选)
模型可见性,默认 private。
private:仅创建者可见unlist:知道链接的人可访问public:公开展示。通过 API 传入public会被降级为private,公开发布请走网页发布流程
公开模型需要提供 cover_image。
voicesfile | file[](必选)
用于调音的参考音频文件,最少 1 个、最多 20 个。
- 单个文件:字段名
voices,上传一个音频文件 - 多个文件:重复提交
voices字段,每个文件一段参考音频
未提供 texts 时,服务端会对音频执行 ASR 生成转写。建议提供精确转写以提升克隆质量。
textsstring | string[] | null(可选)
与 voices 对应的转写文本,最多 20 条。顺序应与 voices 一致。
- 未指定时,服务端会对音频执行 ASR
- 指定时请填写音频中的准确文本,准确度会直接影响克隆质量
voice_design_signaturesstring | string[] | null(可选)
来自 /v1/voice-design 候选的签名,与 voices 数量、顺序一一对应。
当每一段上传音频都校验通过时,模型会被标记 source=voice_design;任一签名无效则请求被拒绝。
Responses
201: 创建成功
Content-Type: application/json
401: 无权限
Content-Type: application/json
503: 服务过载
Content-Type: application/json
请求示例
curl -X POST "https://api.autorouter.top/fishaudio/model" \
-H "Authorization: Bearer sk-xxxxxx" \
-F "type=tts" \
-F "title=My Voice" \
-F "description=Cloned from a studio sample" \
-F "visibility=private" \
-F "train_mode=fast" \
-F "voices=@/path/to/sample.wav" \
-F "texts=Hello, this is a studio sample." \
-F "tags=custom" \
-F "enhance_audio_quality=true"响应示例
{
"_id": "7f8a9b0c1d2e3f4a5b6c7d8e",
"type": "tts",
"title": "My Voice",
"description": "Cloned from a studio sample",
"cover_image": "",
"train_mode": "fast",
"state": "trained",
"tags": ["custom"],
"samples": [],
"created_at": "2026-09-20T01:00:00.000Z",
"updated_at": "2026-09-20T01:00:00.000Z",
"languages": ["en"],
"visibility": "private",
"lock_visibility": false,
"default_text": "",
"source": null,
"licensed": false,
"like_count": 0,
"mark_count": 0,
"shared_count": 0,
"task_count": 0,
"liked": false,
"marked": false,
"unliked": false,
"author": {
"_id": "64a1b2c3d4e5f67890123456",
"nickname": "creator",
"avatar": "https://example.com/avatar.png"
}
}响应字段说明:
| Name | Type | Description |
|---|---|---|
_id | string | 模型 ID,可用于语音合成的 reference_id |
type | string | 模型类型。tts 为文本转语音,svc 为歌声转换 |
title | string | 模型标题 |
description | string | 模型描述,默认为空字符串 |
cover_image | string | 封面图 URL,默认为空 |
train_mode | string | 训练模式。fast 创建后立即可用;full 为完整训练 |
state | string | 状态。枚举值:created、training、trained、failed |
tags | string[] | 标签列表 |
samples | object[] | 试听样本,默认空数组 |
created_at | string | 创建时间,ISO 8601 |
updated_at | string | 更新时间,ISO 8601 |
languages | string[] | 语种列表 |
visibility | string | 可见性。枚举值:public、unlist、private |
lock_visibility | boolean | 是否锁定可见性,默认 false |
dmca_taken_down | boolean | null | 是否因 DMCA 下架 |
takedown_category | string | null | 下架类别:dmca、policy |
default_text | string | 默认试听文本 |
source | string | null | 来源。全部 voice 校验通过时可能为 voice_design |
licensed | boolean | 是否为 Fish Audio 已授权音色 |
quality | object | null | 音频质量评估 |
like_count | integer | 点赞数 |
mark_count | integer | 收藏数 |
shared_count | integer | 分享数 |
task_count | integer | 使用次数 |
liked | boolean | 当前用户是否点赞 |
marked | boolean | 当前用户是否收藏 |
unliked | boolean | 当前用户是否点踩 |
author | object | 作者信息 |
authorobject(必选)
作者信息。
作者用户 ID。
作者昵称。
作者头像 URL。
samplesobject[](可选)
试听样本列表,默认空数组。
样本标题。
样本对应的文本。
生成该样本的任务 ID。
样本音频 URL。
错误处理
HTTP 401 / 403 鉴权错误
401 Unauthorized:API Key 无效或已过期403 Forbidden:API Key 无权访问此模型(检查 token 的模型白名单)
HTTP 402 余额不足
返回 insufficient user quota。请前往 AutoRouter 控制台充值。
HTTP 503 服务过载
服务端负载过高,无法处理请求。请稍后重试。