文档中心

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

AI 消除(去字幕/去水印)

● 服务正常 按量计费 POST 视频大模型 文档 doc/114

AI 无痕消除视频字幕、水印、台标,不是简单裁剪或模糊,画面其余部分保持不变。最大支持 10 分钟视频。

调用权限
正常
请求频率
20 次/秒
免费额度
3
参考价格
0.0075 元/秒原价 0.005 元/秒
POSThttps://api.vidtidy.cn/api/v1/eraser

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

请求参数

名称必填类型说明
fileUrl必填 string视频直链,需 URL Encode
duration选填 number视频时长(秒),不传则自动探测
callbackUrl选填 string处理完成回调地址(可选)

返回参数

名称类型说明
datastring任务 id
coststring本次扣费金额(元,4 位小数)
balancestring扣费后账户余额(元)

返回示例

{
  "code": 200,
  "msg": "SUCCESS",
  "data": "task_9a1b77",
  "cost": "0.2250",
  "balance": "48.3025"
}
说明:异步接口。fileUrl 必须是可直接下载的视频直链,平台页面链接请先调「视频去水印下载」拿到直链。

计费口径

项目说明
计费方式按媒体时长计费,向上取整到秒
我方单价0.0075 元/秒
上游原价0.005 元/秒(我方含接入、重试、对账与技术支持的加价部分)
预扣与退款按秒/按字类接口在提交时预扣,上游返回业务失败码时 全额自动退回,无需申请
免费接口任务查询类接口永远免费,高频轮询不会产生费用
最低余额余额不足以支付本次预扣时会直接返回 402,不会先调用上游再报错
时长怎么算:优先用请求里的 duration;不传则服务端用 ffprobe 探测;探测失败按 180 秒兜底预扣。探测到的实际时长若超过你传入的值,按实际值结算。

错误码

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

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

const res = await fetch("https://api.vidtidy.cn/api/v1/eraser", {
  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(["fileUrl" => "示例值", "duration" => "示例值", "callbackUrl" => "示例值"]),
]);
$out = curl_exec($ch);
curl_close($ch);
echo $out;