视频解析去水印
https://api.71ywl.com/api/index.php?qy=video
接口描述
支持全网短视频解析,去除短视频水印
请求参数
| 参数名 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
| ckey | string | 是 | SJKHJDBBDGGE | 后台KEY |
| url | string | 是 | https://v.douyin.com/cu-BqFjRDtM/ | 分享链接 |
请求示例
https://api.71ywl.com/api/index.php?qy=video?url=https://v.douyin.com/cu-BqFjRDtM/
响应示例
{
"code": 200,
"msg": "1解析成功",
"data": {
"type": "video",
"title": "【4k60帧】强哥烧烤 #熊出没合集 #动画片 #睡前小故事 #抖音看动画片 #熊出没夏日连连看",
"desc": "【4k60帧】强哥烧烤 #熊出没合集 #动画片 #睡前小故事 #抖音看动画片 #熊出没夏日连连看",
"author": {
"name": "动画小屋",
"id": 7.588369439625381e+18,
"avatar": "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/tos-cn-i-0813c001_o8iiDiAiA4cTLZaAEjNIiHP72AIBAqQKuGPuA.jpeg?from=327834062"
},
"cover": "https://p3-pc-sign.douyinpic.com/image-cut-tos-priv/8a6f5a447cbbb8d8dee3c57e303e2c43~tplv-dy-resize-origshort-autoq-75:330.jpeg?biz_tag=pcweb_cover&from=327834062&lk3s=138a59ce&s=PackSourceEnum_AWEME_DETAIL&sc=cover&se=false&x-expires=2091034800&x-signature=XlvinMa1thwuhHW0inkUA%2FzjJt8%3D",
"url": "https://v26-luna.douyinvod.com/b367c2a125e3fcf734b14064bd966400/69d6d7fa/video/tos/cn/tos-cn-ve-15/og2g8NlPAYHAc1N0ewxBAuHbviEUISipyGt0fB/?a=6383&br=2361&bt=2361&btag=80000e00038000&cd=0%7C0%7C0%7C3&ch=26&cquery=100x_100z_100o_100w_100B&cr=3&cs=0&cv=1&dr=0&ds=4&dy_q=1775676272&feature_id=0ea98fd3bdc3c6c14a3d0804cc272721&ft=LjhJEL998xsnu40mo0P5XEhX.xiXOkVskVJERskvvCPD-Ipz&is_ssr=1&l=2026040903243239B322381BD3455FE255&lr=all&mime_type=video_mp4&qs=0&rc=Z2k0aDtnODRlOWRkPGQ5ZUBpamd4aW85cjpyOTMzNGkzM0A0MWNeNWJeXmIxMGEtYV5gYSNscC1gMmRzNGVhLS1kLWFzcw%3D%3D",
"duration": 602760,
"video_backup": null,
"images": [],
"live_photo": [],
"music": {
"title": "动画小屋创作的原声",
"author": "动画小屋",
"url": "https://sf5-hl-ali-cdn-tos.douyinstatic.com/obj/ies-music/7612073642205268774.mp3",
"cover": "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/tos-cn-i-0813c001_o8iiDiAiA4cTLZaAEjNIiHP72AIBAqQKuGPuA.jpeg?from=327834062"
},
"video_id": "v0d00fg10000d6ho77vog65lcf0usdog"
}
}
返回参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | number | 状态码,200表示成功 |
| msg | string | 提示信息,例如“1解析成功!” |
| data | object | 视频数据对象 |
| data.title | string | 视频标题 |
| data.cover | string | 视频封面URL |
| data.auther | string | 作者昵称(原字段拼写) |
| data.avatar | string | 作者头像URL |
| data.description | string | 视频描述 |
| data.url | string | 视频播放地址 |
| data.user | object | 用户信息对象 |
| data.user.name | string | 用户昵称 |
| data.user.avatar | string | 用户头像URL |
响应码
| 状态码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 203 | 秘钥错误或不存在 |
| 204 | 服务器错误 |
| 211 | 接口不存在 |
| 212 | 当前接口已下架 |
| 213 | 当前接口正处于审核期 |
| 214 | API本地文件不存在,请联系管理员检查 |
| 215 | 管理员设置当前接口必须携带ckey请求! |
| 216 | 付费接口请携带ckey请求! |
| 217 | ckey不存在! |
| 218 | 当前ckey无权限调用此接口,请将此接口添加到ckey调用能力中后重试! |
| 219 | 访问频率超过限制!请稍后重试! |
| 220 | 本地API逻辑错误!请联系管理员检查! |
| 221 | 状态码与管理员配置的状态码不一致,请联系管理员! |
| 222 | 禁止访问!请联系管理员 (已被加入黑名单) |
| 223 | 积分不足!请充值后重试 |
| 224 | 余额不足!请充值后重试 |
| 225 | 您已设置仅白名单ip访问!请将当前ip添加到白名单中 |
代码示例
curl
curl -X GET "https://api.71ywl.com/api/index.php?qy=video?url=https://v.douyin.com/cu-BqFjRDtM/" \
-H "Content-Type: application/none" \ -d '{}'
php
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.71ywl.com/api/index.php?qy=video?url=https://v.douyin.com/cu-BqFjRDtM/");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/none"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{}');
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
python
import requests
url = "https://api.71ywl.com/api/index.php?qy=video?url=https://v.douyin.com/cu-BqFjRDtM/"
headers = {
"Content-Type": "application/none"
}
data = """{}"""
response = requests.get(url, headers=headers, data=data)
print(response.text)
javascript
URL url = new URL("https://api.71ywl.com/api/index.php?qy=video?url=https://v.douyin.com/cu-BqFjRDtM/");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/none");
try (OutputStream os = conn.getOutputStream()) {
byte[] input = "{}".getBytes("utf-8");
os.write(input, 0, input.length);
}
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
StringBuilder response = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
response.append(line);
}
System.out.println(response.toString());