只展示经匿名公开样本验证的能力;平台策略变化时,以 API 错误码和状态页为准。
支持 GET / POST 两种请求方式,统一使用 appId + appKey 鉴权。
curl -X GET "https://YOUR_HOST/api/video?url=https://www.bilibili.com/video/BV..." -H "X-App-Id: YOUR_APP_ID" -H "X-App-Key: YOUR_APP_KEY"
POST 同样支持 POST 请求,参数放在 Body 中(JSON 格式)。
import requests
url = "https://YOUR_HOST/api/video"
response = requests.get(url, params={"url": "https://www.bilibili.com/video/BV..."}, headers={
"X-App-Id": "YOUR_APP_ID", "X-App-Key": "YOUR_APP_KEY"
})
data = response.json()
if data["code"] == 200:
video_url = data["data"]["video_url"]
print(f"无水印视频: {video_url}")
print(f"标题: {data['data']['title']}")
print(f"作者: {data['data']['author']}")
else:
print(f"错误: {data['message']}")
const params = new URLSearchParams({
url: 'https://www.bilibili.com/video/BV...'
});
const response = await fetch(
`/api/video?${params}`,
{ headers: { 'X-App-Id': 'YOUR_APP_ID', 'X-App-Key': 'YOUR_APP_KEY' } }
);
const data = await response.json();
if (data.code === 200) {
console.log('无水印视频:', data.data.video_url);
console.log('标题:', data.data.title);
console.log('作者:', data.data.author);
} else {
console.error('错误:', data.message);
}
<?php
$url = 'https://YOUR_HOST/api/video?' . http_build_query(['url' => 'https://www.bilibili.com/video/BV...']);
$context = stream_context_create(['http' => ['header' => "X-App-Id: YOUR_APP_ID\\r\\nX-App-Key: YOUR_APP_KEY"]]);
$response = file_get_contents($url, false, $context);
$data = json_decode($response, true);
if ($data['code'] === 200) {
echo '无水印视频: ' . $data['data']['video_url'] . "\n";
echo '标题: ' . $data['data']['title'] . "\n";
echo '作者: ' . $data['data']['author'] . "\n";
} else {
echo '错误: ' . $data['message'];
}
{
"code": 200,
"message": "success",
"data": {
"video_url": "https://upos-sz-...bilivideo.com/...",
"cover_url": "https://i0.hdslb.com/...jpg",
"title": "视频标题",
"author": "作者昵称",
"platform": "bilibili",
"duration": 15000
}
}
注意:CDN 直链有效期为 30 分钟 ~ 2 小时,请及时下载,不要长期缓存视频链接。
关于去水印 API 的常见疑问。