上游贡献 · #676

为 /v1/audio/speech 加入零样本声音克隆

只接受 base64,不接受 URL——这是安全取舍,理由见说明。

状态
已合并
提交
合并
改动
+273 / −1
分组
音色与说话人

声音克隆需要一段参考音频。当时另一份实现是接受一个 URL 然后由服务端去下载——我在评审里指出这构成 SSRF:服务端会照着任意地址发请求,包括云环境的元数据地址和内网。

所以这一版只接受 base64 内联的音频,并且设了体积上限。代价是调用方要自己把文件读进来、请求体更大;换来的是服务端不会因为一个字段而变成对内网的代理。

参考文本设成必填,也是同一类考虑:省掉它不会报错,只会生成质量明显变差的音频——一个不报错的坏结果比报错更难查。