文档中心

统一 RESTful 规范 · 全部接口共用一套密钥与账单

训练专属音色模型

● 服务正常 按量计费 POST 语音合成 文档 doc/128

上传 30 秒左右的人声音频,训练出专属音色模型。拿到 modelId 后调「文字转语音」即可用这个声音朗读任意文本。

调用权限
正常
请求频率
5 次/秒
免费额度
5
参考价格
1.5 元/次原价 1 元/次
POSThttps://api.vidtidy.cn/api/v1/voice-clone

鉴权:请求头 X-API-KEY: sk_live_…(也支持 key 查询参数)。

请求参数

名称必填类型说明
name必填 string模型名称,自己起,用于区分
audioUrl必填 string人声音频直链,建议 30 秒,最长 5 分钟
description选填 string音频对应的参考文本(选填,填了通常更准)

返回参数

名称类型说明
modelIdstring语音模型 id,请务必自行保存
modelNamestring模型名称
coststring本次扣费金额(元,4 位小数)
balancestring扣费后账户余额(元)

返回示例

{
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "modelId": "94c1a586-405f-467c",
    "modelName": "我的音色"
  },
  "cost": "1.5000"
}
说明:modelId 只返回一次,平台不替你保存,请立刻写进自己的数据库。同一音色可无限次用于文字转语音。

计费口径

项目说明
计费方式按次计费,每成功调用一次扣一次
我方单价1.5 元/次
上游原价1 元/次(我方含接入、重试、对账与技术支持的加价部分)
预扣与退款按秒/按字类接口在提交时预扣,上游返回业务失败码时 全额自动退回,无需申请
免费接口任务查询类接口永远免费,高频轮询不会产生费用
最低余额余额不足以支付本次预扣时会直接返回 402,不会先调用上游再报错

错误码

code含义处理建议
200成功—
-1业务异常见 msg。链接不支持 / 文件不可下载 / 时长超限最常见
401密钥无效检查请求头,或到控制台确认密钥未停用
402余额不足充值后重试,本次不扣费
429频率超限按 5 次/秒 退避
500服务异常上游故障,已自动退款
cURL
curl -X POST "https://api.vidtidy.cn/api/v1/voice-clone" \
  -H "X-API-KEY: sk_live_你的密钥" \
  -d "name=示例值" \
  -d "audioUrl=示例值" \
  -d "description=示例值"
Python
import requests

r = requests.post(
    "https://api.vidtidy.cn/api/v1/voice-clone",
    headers={"X-API-KEY": "sk_live_你的密钥"},
    data={"name": "示例值", "audioUrl": "示例值", "description": "示例值"},
    timeout=120,
)
print(r.json())
Node.js
const body = new URLSearchParams({
  "name": "示例值",
  "audioUrl": "示例值",
  "description": "示例值",
});

const res = await fetch("https://api.vidtidy.cn/api/v1/voice-clone", {
  method: "POST",
  headers: { "X-API-KEY": "sk_live_你的密钥" },
  body,
});
console.log(await res.json());
PHP
 true,
  CURLOPT_HTTPHEADER => ["X-API-KEY: sk_live_你的密钥"],
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => http_build_query(["name" => "示例值", "audioUrl" => "示例值", "description" => "示例值"]),
]);
$out = curl_exec($ch);
curl_close($ch);
echo $out;