RESTful 接口说明 · 小程序对接域名 qsy.aiwyuw.cn
| 套餐 | 每日次数 | 限速 | 说明 |
|---|---|---|---|
| 普通用户 (regular) | 100 次/天 | 正常 | 注册即得,每日 0 点重置 |
| 高级会员 (premium) | 不限 | 不限速 | 按月订阅,微信 YYDSyyds660 联系购买,后台开通后生效 |
配额可在管理后台自定义调整。超出配额返回 429 错误。
所有 API 请求必须携带 API Key(网页解析需先登录,使用 Session 鉴权)。
Header: X-API-Key: wm_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 或 Query 参数: ?api_key=wm_xxxxxxxx
在用户中心获取 Key。演示 Key: demo_key_1234567890abcdef(普通用户 100 次/天)
GETPOST /api/v1/parse
核心接口,传入分享链接,返回无水印资源地址。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 视频/图片分享链接 |
| api_key | string | 是 | API 密钥(Header 或参数) |
GET /api/v1/parse?url=https://v.douyin.com/xxxxx/&api_key=demo_key_1234567890abcdef
所有平台统一返回以下三个核心字段:video(视频)、cover(视频封面)、caption(视频文案)。
{
"code": 200,
"message": "解析成功",
"data": {
"platform": "douyin",
"video": "https://...无水印视频地址",
"cover": "https://...视频封面",
"caption": "视频文案内容",
"author": "作者昵称",
"type": "video",
"images": [],
"music": "https://...背景音乐地址",
"title": "视频文案内容"
},
"time": 1719667200
}
GET /api/v1/detect
检测链接属于哪个平台,是否支持解析。
GET /api/v1/detect?url=https://www.bilibili.com/video/BV1xx
GET /api/v1/platforms
获取所有支持的平台列表。
GET /api/v1/key/info
查询当前 API Key 的套餐、今日用量和剩余次数。
GET /api/v1/key/info
X-API-Key: wm_xxxxxxxx
// 响应 data.usage 示例:
{
"plan": "regular",
"plan_label": "普通用户",
"daily_limit": 100,
"unlimited": false,
"today_used": 12,
"today_remain": 88
}
GET /api/v1/logs
查询当前 API Key 对应账号的解析历史(网页 + API 调用)。也可在 用户中心 查看。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | int | 否 | 页码,默认 1 |
| per_page | int | 否 | 每页条数,默认 20,最大 50 |
| status | string | 否 | 筛选:success / failed |
GET /api/v1/logs?page=1&per_page=20&status=success X-API-Key: wm_xxxxxxxx
适用于自有小程序或「0毛去水印」类产品,通过 HTTPS 调用本站 API 完成全平台去水印解析。
登录 微信公众平台,进入:
开发 → 开发管理 → 开发设置 → 服务器域名
将以下域名添加到小程序开发者后台(仅填写域名,不要带 https:// 或路径):
| 配置项 | 填写域名 | 用途 |
|---|---|---|
| request 合法域名 | qsy.aiwyuw.cn | 调用解析、检测等 API 接口 |
| downloadFile 合法域名 | qsy.aiwyuw.cn | 经本站代理下载视频/图片(使用 /api/media.php) |
wx.request 会被微信拦截。域名需已完成 ICP 备案并支持 HTTPS。
https://qsy.aiwyuw.cn/api/v1
所有接口均在此域名下访问,例如解析接口完整地址:
https://qsy.aiwyuw.cn/api/v1/parse
qsy.aiwyuw.cn 为合法域名wx.request 请求解析接口,展示无水印视频/图集以下为云函数或后端转发后的调用逻辑;Header 携带 X-API-Key:
// 小程序 pages/parse/parse.js
const API_BASE = 'https://qsy.aiwyuw.cn/api/v1';
const API_KEY = '你的API_Key'; // 建议放云函数环境变量
async function parseWatermark(shareUrl) {
return new Promise((resolve, reject) => {
wx.request({
url: `${API_BASE}/parse`,
method: 'GET',
header: {
'X-API-Key': API_KEY
},
data: {
url: shareUrl
},
success(res) {
if (res.data && res.data.code === 200) {
resolve(res.data.data);
} else {
reject(res.data?.message || '解析失败');
}
},
fail: reject
});
});
}
// 使用示例
parseWatermark('https://v.douyin.com/xxxxx/')
.then(data => {
console.log('视频', data.video);
console.log('封面', data.cover);
console.log('文案', data.caption);
})
.catch(err => wx.showToast({ title: String(err), icon: 'none' }));
API Key 放在云函数中更安全,小程序只调自己的云函数:
// 云函数 cloudfunctions/parse/index.js
const cloud = require('wx-server-sdk');
cloud.init();
const API_KEY = process.env.WATERMARK_API_KEY;
exports.main = async (event) => {
const url = event.url;
const https = require('https');
const qs = new URLSearchParams({ url }).toString();
const apiUrl = `https://qsy.aiwyuw.cn/api/v1/parse?${qs}`;
return new Promise((resolve, reject) => {
https.get(apiUrl, { headers: { 'X-API-Key': API_KEY } }, (res) => {
let body = '';
res.on('data', chunk => body += chunk);
res.on('end', () => resolve(JSON.parse(body)));
}).on('error', reject);
});
};
| 接口 | 方法 | 说明 |
|---|---|---|
/api/v1/parse | GET / POST | 解析去水印(核心) |
/api/v1/detect | GET | 检测链接平台 |
/api/v1/platforms | GET | 支持平台列表 |
/api/v1/key/info | GET | 查询 Key 用量 |
/api/v1/logs | GET | 解析记录 |
qsy.aiwyuw.cn,与开发者后台一致https,不支持 HTTP 或 IP 直连429,可升级高级会员或购买「0毛去水印」永久方案/api/media.php 注册媒体地址获取 token,再 GET /api/media.php?t=token 拉取(需配置 downloadFile 域名)GET /api/parse.php
首页在线解析使用此接口,需浏览器登录(Cookie Session),自动消耗账号配额。
$url = 'https://v.douyin.com/xxxxx/';
$apiKey = 'demo_key_1234567890abcdef';
$api = "https://qsy.aiwyuw.cn/api/v1/parse?url=" . urlencode($url) . "&api_key={$apiKey}";
$result = json_decode(file_get_contents($api), true);
print_r($result['data']);
const res = await fetch('https://qsy.aiwyuw.cn/api/v1/parse?url=' + encodeURIComponent(url), {
headers: { 'X-API-Key': 'YOUR_KEY' }
});
const data = await res.json();
console.log(data.data.video);
console.log(data.data.cover);
console.log(data.data.caption);
import requests
r = requests.get('https://qsy.aiwyuw.cn/api/v1/parse', params={
'url': 'https://v.douyin.com/xxxxx/',
'api_key': 'demo_key_1234567890abcdef'
})
print(r.json()['data'])
curl -H "X-API-Key: demo_key_1234567890abcdef" \ "https://qsy.aiwyuw.cn/api/v1/parse?url=https://v.douyin.com/xxxxx/"
| code | 说明 |
|---|---|
| 200 | 成功 |
| 400 | 参数错误 |
| 401 | API Key 无效 |
| 429 | 请求频率超限 |
| 500 | 解析失败 |