/audio/queue,也不属于文本转语音或语音克隆。
选择一个语音转换模型,请求价格报价,将转换任务加入队列,然后轮询直到 Venice 返回转换后的音频。
已加入队列的转换会立即计费。如果队列响应丢失,请使用相同的
queue_id 轮询 /audio/voice-changer/retrieve。请勿将同一段录音再次加入队列。选择模型
GET /models?type=music 返回的模型中,model_spec.voice_changer 为 true 的即为语音转换模型。目前没有 ?type=voice-changer 过滤器。下面的示例使用 elevenlabs-voice-changer。
不受支持的字段会返回 HTTP
400 响应。超过 max_source_audio_duration_seconds 的录音会在扣费前以 HTTP 422 被拒绝。
转换流程
1. 获取价格报价
语音转换按源录音时长计费,向上取整到最近的整分钟。请对您预计发送的时长进行报价;实际扣费金额将根据 Venice 在录音入队时测得的时长计算。2. 将转换任务加入队列
请从以下两种方式中恰好选择一种提供源录音:作为 multipart 的file 上传,或在 JSON 请求体中作为 audio_url。同时提供或都不提供都会被拒绝。
当您传入 URL 时,Venice 会自行获取并校验字节内容,并只将这些字节转发给供应商。URL 本身不会被继续传递。
remove_background_noise—— 在转换前去除背景噪声seed—— ≥ 0 的整数,用于获得可复现的结果
model 和 queue_id;retrieve 和 complete 端点都需要它们。如果需要将实际扣费时长与预估进行对账,请将 duration_seconds 与您的报价进行对比。
3. 轮询并下载
使用队列响应中的值调用/audio/voice-changer/retrieve:
Content-Type:
处理中的响应形如:
x-venice-audio-format、x-venice-audio-duration、x-venice-inference-time、x-venice-model-id 和 x-venice-model-name。
如果供应商未能完成转换,费用会自动退款,错误响应体中会包含 credits_refunded。再次轮询会复用相同结果,而不会重复退款。
若希望在返回音频的同一次调用中删除存储的媒体,请在 retrieve 中将 delete_media_on_completion 设置为 true。此后将无法再次检索该音频。
完整示例
以下 Python 示例会对一次转换进行报价、上传源文件、每五秒轮询一次,并将结果保存为 MP3。quote 端点无需鉴权,但 queue、retrieve 和 complete 请求都需要鉴权。