主题
浏览器文件变声
Convbased.convertFile() 上传一段音频,创建文件变声任务,等待任务结束,并关闭临时会话。成功时返回转换音频的临时下载地址。
调用
ts
import { Convbased } from "@convbased/sdk";
const source = fileInput.files?.[0];
if (!source) throw new Error("Select an audio file");
const result = await Convbased.convertFile({
auth,
modelId: "model_xxx",
file: source,
preferences: { pitch: 2, f0_method: "rmvpe" },
onProgress: (progress) => {
console.log(`${Math.round(progress * 100)}%`);
},
});
console.log(result.url, result.key);参数
| 参数 | 要求 |
|---|---|
auth | 必填;SDK 令牌需包含 file_inference scope,并可用于所选模型 |
modelId | 必填;本次任务使用的模型 ID |
file | 必填;File 或 Blob |
preferences | 可选;变声参数,只对本次任务生效 |
onProgress | 可选;进度回调,收到 [0, 1] 范围内的进度值 |
timeoutMs | 可选;最长等待时间,默认 300000 毫秒 |
signal | 可选;用于中止,触发后 SDK 停止等待并请求停止任务 |
preferences 可用的字段见 FileInferencePreferences 类型。
文件限制
服务端根据文件名后缀判断格式,支持 mp3、wav、ogg、flac、m4a 和 aac,单文件最大 100 MB。优先传入 File,以保留真实文件名和后缀。
直接传入没有文件名的 Blob 时,SDK 使用 audio.wav 作为上传文件名。这不会把音频转码为 WAV;音频实际不是 WAV 格式时,应创建带正确文件名的 File。
完成与中止
成功结果为 { url, key? }。url 是会过期的临时地址,不要当作长期链接保存。任务失败、超时或中止时函数抛出错误;无论成功还是失败,SDK 都会关闭临时会话。