curl --request POST \
--url https://api.evolink.ai/v1/audios/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "voice-enrollment",
"audio_url": "https://your-cdn.com/samples/my-voice.wav",
"preferred_name": "myvoice"
}
'{
"created": 1775123456,
"id": "task-unified-1775123456-abcd1234",
"model": "voice-enrollment",
"object": "audio.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 60,
"audio_type": "voice_clone"
},
"type": "audio",
"usage": {
"credits_reserved": 0.001
}
}Voice Enrollment 创建自定义音色
- 给 Qwen Audio 3.1 TTS Flash 创建自定义音色,模型名
voice-enrollment。同一个模型两种用法:传audio_url是声音复刻,传voice_prompt+preview_text是声音设计;两个都传或都不传返回400 - 两种用法创建的音色都只能用于
qwen-audio-3.1-tts-flash,并且只有创建它的账号能用。旧版qwen-voice-design创建的音色不能用于该 TTS;迁移时请用本接口重新创建音色 - 声音设计会额外返回一段试听音频(固定 24 kHz WAV);声音复刻只返回音色名称
- 异步处理模式,使用返回的任务ID 进行查询。复刻约 15–30 秒完成,设计要等试听文本整段合成完,30 字约 12 秒、200 字约 49 秒
- 按次计费,复刻与设计同价;任务失败全额退还。试听音频链接有效期 24 小时,请尽快保存
- 只能复刻你本人的声音,或已获得明确授权的声音
使用流程:
- 调用本接口,传
audio_url(复刻)或voice_prompt+preview_text(设计),以及preferred_name - 轮询任务结果,获取
result_data.voice(音色名称) - 调用 Qwen Audio 3.1 TTS Flash,把音色名称传给
voice参数
任务结果(status 为 completed 时):
| 字段 | 声音复刻 | 声音设计 |
|---|---|---|
result_data.voice | qwen-audio-3.1-tts-flash-{preferred_name}-{32 位标识} | qwen-audio-3.1-tts-flash-vd-{preferred_name}-{32 位标识}(多一段 vd-) |
result_data.voice_type | voice_clone | voice_design |
result_data.target_model | qwen-audio-3.1-tts-flash | qwen-audio-3.1-tts-flash |
results / result_data.preview_audio_url | 不返回 | 试听音频链接(有效期 24 小时),另有 sample_rate: 24000、response_format: "wav" |
设计的试听音频偶尔拿不到时,任务照常完成(音色已建好并计费),结果里改为 preview_audio_unavailable: true 和 preview_audio_warning。
音色有效期:
- 复刻和设计创建的自定义音色默认有效期为
6 小时,从创建任务完成时起算;使用音色合成不会延长有效期 - 到期后调用 TTS 返回
404(voice_expired),请重新调用本接口创建音色,再使用新音色合成
音色名额: 上游账号下 Qwen-Audio-TTS 系列的自定义音色总数有上限(官方为 1000 个,复刻与设计共用)。名额用尽时创建会失败并全额退还。
文本长度按字符数计算: 中文、英文、标点都按 1 个字符计。
curl --request POST \
--url https://api.evolink.ai/v1/audios/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "voice-enrollment",
"audio_url": "https://your-cdn.com/samples/my-voice.wav",
"preferred_name": "myvoice"
}
'{
"created": 1775123456,
"id": "task-unified-1775123456-abcd1234",
"model": "voice-enrollment",
"object": "audio.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 60,
"audio_type": "voice_clone"
},
"type": "audio",
"usage": {
"credits_reserved": 0.001
}
}授权
##所有接口均需要使用Bearer Token进行认证##
获取 API Key:
访问 API Key 管理页面 获取您的 API Key
使用时在请求头中添加:
Authorization: Bearer YOUR_API_KEY
请求体
- 声音复刻(audio_url)
- 声音设计(voice_prompt)
用一段真人录音创建音色。传了 audio_url 即为声音复刻,此时请省略设计用的 voice_prompt、preview_text、sample_rate、response_format。非空设计文本、非零采样率或非空格式返回 400;sample_rate: 0/null、response_format: ""/null 按未传处理。
模型名称
voice-enrollment "voice-enrollment"
待复刻的录音文件地址。传了本字段即为声音复刻,不能与 voice_prompt 同时传
地址要求:
- HTTP 或 HTTPS,无需鉴权即可公开访问
- 不能是本地或内网地址,否则返回
400(invalid_media_url) - 长度不超过
2048字符 - FTP 等非 HTTP(S) 协议返回
400(invalid_media_url) - 只支持链接,不支持 Base64;传 Base64 data URI 返回
400(invalid_parameter)
音频要求(不满足时任务可能失败):
- 格式:WAV、MP3 或 M4A
- 时长:不超过 60 秒;有效人声过短也会失败(实测 2 秒的录音失败)
- 文件大小:不超过
10 MB - 采样率:
16 kHz及以上 - 必须包含清晰的人声;无声、音乐等非人声音频会被拒绝
录音建议:
- 时长 10 ~ 20 秒,其中至少有 5 秒连续、清晰的朗读,停顿不超过 2 秒
- 单声道;双声道录音只取第一个声道
- 无背景音乐、噪音和其他人声;正常说话,不要唱歌
音频无法下载或不符合要求时任务失败,积分全额退还
只能复刻你本人的声音,或已获得明确授权的声音
2048[^\u0009-\u000D\u0020\u0085\u00A0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]"https://your-cdn.com/samples/my-voice.wav"
音色名称前缀
约束:
- 仅英文字母和数字,1 ~ 10 位(不支持下划线及其他符号)
- 大写字母会被转成小写
- 不要求唯一
生成的完整音色名:复刻为 qwen-audio-3.1-tts-flash-{preferred_name}-{32 位标识},设计为 qwen-audio-3.1-tts-flash-vd-{preferred_name}-{32 位标识}
如传入 myvoice,复刻出的音色名类似:qwen-audio-3.1-tts-flash-myvoice-5996beec833d41f4982158347ba97fae
10^[a-zA-Z0-9]+$"myvoice"
复刻时是录音中所说的语言,帮助模型更准确地提取音色;设计时是音色的语言倾向,建议与 preview_text 语种一致
不传时默认 zh
zh, en, ja, ko, de, fr, it, ru, pt, es "zh"
音色将由哪个 TTS 模型驱动。目前只有一个取值,不传即为该值;传别的值返回 400
| 值 | 说明 |
|---|---|
qwen-audio-3.1-tts-flash | Qwen Audio 3.1 TTS Flash 非流式(默认,唯一取值) |
qwen-audio-3.1-tts-flash "qwen-audio-3.1-tts-flash"
任务完成后的HTTPS回调地址
回调时机:
- 任务完成(completed)或失败(failed)时触发
- 在计费确认完成后发送
安全限制:
- 仅支持HTTPS协议
- 禁止回调到内网IP地址(127.0.0.1、10.x.x.x、172.16-31.x.x、192.168.x.x等)
- URL长度不超过
2048字符
回调机制:
- 超时时间:
10秒 - 失败后最多重试
3次(会分别在失败的1秒/2秒/4秒后进行重试) - 回调响应体格式与任务查询接口返回的格式一致
- 回调地址若返回2xx状态码视为成功,其他状态码会触发重试
"https://your-domain.com/webhooks/voice-completed"
响应
创建音色的任务已受理
任务创建时间戳
1775123456
任务ID
"task-unified-1775123456-abcd1234"
实际使用的模型名称
"voice-enrollment"
任务的具体类型
audio.generation.task 任务进度百分比 (0-100)
0 <= x <= 1000
任务状态
pending, processing, completed, failed "pending"
音频任务详细信息
Show child attributes
Show child attributes
任务的输出类型
audio "audio"
使用量和计费信息
Show child attributes
Show child attributes