Skip to content

浏览器文件变声 ​

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 都会关闭临时会话。