前言说明
本短视频解析 API 提供便捷的接口服务,支持通过 API 密钥验证 方式安全调用所有平台接口,无功能限制。无论是当前已开放的解析能力,还是后续平台升级新增的短视频解析接口,均可无缝使用。
核心功能
- 短视频去水印:快速解析并去除短视频水印,保留原画质内容。
- 常用图集解析:支持解析主流平台图集资源,提取高清图片素材。
服务优势
- 全接口开放:覆盖现有及未来新增的所有短视频解析接口,满足多样化需求。
- 安全验证机制:通过 API 密钥验证确保调用安全,保障数据隐私与接口稳定性。
解析支持
支持抖音、快手、小红书、微博、微视、今日头条、西瓜视频、哔哩哔哩、秒抽、美拍、皮皮虾、皮皮搞笑、全民小视频、火山小视频、好看视频、看点视频、全民K歌、看点视频、看点快报、度小视、QQ看点、陌陌、唱吧、YY、小咖秀、糖豆、最左、配音秀、酷狗音乐、酷我音乐、看看视频、梨视频、网易云音乐、大众点评、虎牙视频、懂车帝、剪映、趣头条、美图秀秀、刷宝、迅雷、京东、淘宝、天猫、拼多多、微信公众号、火锅视频、轻视频、百度视频、、微叭、微云、快看点、等等100多个短视频去水印和常用图集解析。
一、接口地址
接口地址为 https://www.yuntts.com/api/v1/tiktok
二、前置条件
通过:https://www.yuntts.com/user/api/ 生成自己的秘钥
三、请求方式
支持 GET 和 POST 请求。
四、请求头
Authorization: Bearer 你的 API 密钥
Content-Type: application/json
五、请求参数
{
"url": "https://v.douyin.com/F5o2FM6/"
}
六、响应示例
解析成功时,视频响应示例如下:
{
"code": 200,
"msg": "解析成功",
"data": {
"title": "#beyond #黄家驹 #大地 你知道呢首歌想表達嘅意思係乜嘢嗎 ?",
"author": "乜秋秋",
"uid": "QQ166cm",
"cover": "https://p3-pc-sign.douyinpic.com/tos-cn-p-0015/ebcbce39e0f24ff1944cdc503339d9bf_1646541783~tplv-dy-360p.jpeg?lk3s=138a59ce&x-expires=1748502000&x-signature=yHtFVga9KDcYwG1twLXVy%2BNJDAw%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=origin_cover&biz_tag=pcweb_cover&l=20250515152946EC609EDD948DEE04C163",
"time": "2025-05-15 15:29:46",
"url": "https://v26-default.365yg.com/d1b92b0e6620de51dfac1ff720ec60c7/6825c226/video/tos/cn/tos-cn-ve-15-alinc2/e6a536741a0b4a3797ada5b16c28468d/?a=6383&ch=26&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=920&bt=920&cs=0&ds=4&ft=rVWEerwwZR7Gs0Po0PDS6kwc3RZtGVpUhu9eFtRSVIr12nzXT&mime_type=video_mp4&qs=0&rc=NGQ2Ojw7NDc5MzxmN2Q4NkBpajUzNmU6ZmU2OzMzNGkzM0BiNDAyX2AuNjMxMC5hNWNgYSMwXmlicjRnamZgLS1kLWFzcw%3D%3D&btag=c0000e00008000&cquery=102u_100o_100w_100B_100x&dy_q=1747294186&l=20250515152946EC609EDD948DEE04C163"
}
}
解析成功时,图集响应示例如下:
{
"code": "200",
"msg": "解析成功",
"info": "本站所有接口仅限学习使用,请勿用于非法途径!",
"data": {
"title": "真的有人愿意用兄弟十年单身来换一个这样的女朋友吗#颜值 #氛围感 #图文来了",
"url": "",
"cover": "https://p3-pc-sign.douyinpic.com/tos-cn-i-0813/94d009bb801d4c7e844721dd612c2171~noop.jpeg?lk3s=138a59ce&x-expires=1748509200&x-signature=NOnQtCqUSLJm2Jj0ey9OGJBU6rQ%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&biz_tag=pcweb_cover&l=20250515170527747D5AC231FE53031941",
"images": [
"https://p3-pc-sign.douyinpic.com/tos-cn-i-0813/94d009bb801d4c7e844721dd612c2171~tplv-dy-aweme-images:q75.webp?lk3s=138a59ce&x-expires=1749891600&x-signature=8hONTsUlw16sGhgBWvrpfYuYav4%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=image&biz_tag=aweme_images&l=20250515170527747D5AC231FE53031941",
"https://p3-pc-sign.douyinpic.com/tos-cn-i-0813c001/1e53975c0b604a64a91b3cb279d8fd10~tplv-dy-aweme-images:q75.webp?lk3s=138a59ce&x-expires=1749891600&x-signature=NoAGnt3z1%2FVaSaplFQJSUhF%2BRkE%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=image&biz_tag=aweme_images&l=20250515170527747D5AC231FE53031941",
"https://p3-pc-sign.douyinpic.com/tos-cn-i-0813/b412e40b62d648e2b05cbc49943708aa~tplv-dy-aweme-images:q75.webp?lk3s=138a59ce&x-expires=1749891600&x-signature=vUchb4vFdX%2B4GzSYiu9RXXIuTUs%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=image&biz_tag=aweme_images&l=20250515170527747D5AC231FE53031941",
"https://p3-pc-sign.douyinpic.com/tos-cn-i-0813c001/1f7955bca3354071890721dbcefcc637~tplv-dy-aweme-images:q75.webp?lk3s=138a59ce&x-expires=1749891600&x-signature=jJNisc1CKM53kbzVmTRu2RcfOzc%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=image&biz_tag=aweme_images&l=20250515170527747D5AC231FE53031941",
"https://p9-pc-sign.douyinpic.com/tos-cn-i-0813c001/d9d90fef8507405681ada17b412a1bfa~tplv-dy-aweme-images:q75.webp?lk3s=138a59ce&x-expires=1749891600&x-signature=JHSRVallmcvRYPWj8GajFeuJGDs%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=image&biz_tag=aweme_images&l=20250515170527747D5AC231FE53031941"
],
"pics": [
"https://p3-pc-sign.douyinpic.com/tos-cn-i-0813/94d009bb801d4c7e844721dd612c2171~tplv-dy-aweme-images:q75.webp?lk3s=138a59ce&x-expires=1749891600&x-signature=8hONTsUlw16sGhgBWvrpfYuYav4%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=image&biz_tag=aweme_images&l=20250515170527747D5AC231FE53031941",
"https://p3-pc-sign.douyinpic.com/tos-cn-i-0813c001/1e53975c0b604a64a91b3cb279d8fd10~tplv-dy-aweme-images:q75.webp?lk3s=138a59ce&x-expires=1749891600&x-signature=NoAGnt3z1%2FVaSaplFQJSUhF%2BRkE%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=image&biz_tag=aweme_images&l=20250515170527747D5AC231FE53031941",
"https://p3-pc-sign.douyinpic.com/tos-cn-i-0813/b412e40b62d648e2b05cbc49943708aa~tplv-dy-aweme-images:q75.webp?lk3s=138a59ce&x-expires=1749891600&x-signature=vUchb4vFdX%2B4GzSYiu9RXXIuTUs%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=image&biz_tag=aweme_images&l=20250515170527747D5AC231FE53031941",
"https://p3-pc-sign.douyinpic.com/tos-cn-i-0813c001/1f7955bca3354071890721dbcefcc637~tplv-dy-aweme-images:q75.webp?lk3s=138a59ce&x-expires=1749891600&x-signature=jJNisc1CKM53kbzVmTRu2RcfOzc%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=image&biz_tag=aweme_images&l=20250515170527747D5AC231FE53031941",
"https://p9-pc-sign.douyinpic.com/tos-cn-i-0813c001/d9d90fef8507405681ada17b412a1bfa~tplv-dy-aweme-images:q75.webp?lk3s=138a59ce&x-expires=1749891600&x-signature=JHSRVallmcvRYPWj8GajFeuJGDs%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=image&biz_tag=aweme_images&l=20250515170527747D5AC231FE53031941"
],
"time": "2025-05-15 17:05:28",
"mp3": "",
"author": {
"uid": "28140762319",
"name": "万花筒.(限流中)"
}
}
}
七、参数说明
字段 | 类型 | 说明 |
---|---|---|
code | int | 状态码,“200”表示请求成功 |
msg | string | 状态信息,描述操作结果 |
title | string | 短视频标题或描述(含话题标签) |
url | string | 解析后的无水印视频播放地址 |
cover | string | 短视频封面图片地址 |
time | string | 视频发布/解析时间(格式:YYYY-MM-DD HH:mm:ss) |
mp3 | string | 音频下载地址(当前返回为空) |
pics | string | 图集 |
images | string | 图集 |
author | object | 发布者信息对象 |
├─ uid | string | 用户唯一标识符 |
└─ name | string | 用户昵称 |
八、错误处理
1. 缺少 API 密钥
{
"code": 0,
"msg": "缺少API密钥",
"data": []
}
2. API 密钥无效
{
"code": 0,
"msg": "API密钥无效",
"data": []
}
3. 解析次数不足
{
"code": 0,
"msg": "解析次数不足",
"data": []
}
九、参考代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="referrer" content="never">
<title>Video Parser</title>
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.3/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-5">
<h2 class="text-center">Video Parser</h2>
<div class="row mt-4">
<div class="col-md-6">
<div class="mb-3">
<label for="videoUrl" class="form-label">Video URL</label>
<textarea class="form-control" id="videoUrl" rows="10"></textarea>
</div>
<button type="button" class="btn btn-primary me-2" id="parseButton">解析视频</button>
<a id="downloadButton" class="btn btn-success" style="display: none;">下载视频</a>
</div>
<div class="col-md-6">
<table class="table table-striped" id="resultTable">
<thead>
<tr>
<th scope="col">项目</th>
<th scope="col">值</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">标题</th>
<td id="videoTitleCell"></td>
</tr>
<tr>
<th scope="row">作者</th>
<td id="authorNameCell"></td>
</tr>
<tr>
<th scope="row">图片地址</th>
<td id="coverUrlCell"></td>
</tr>
<tr>
<th scope="row">视频地址</th>
<td id="videoUrlCell"></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="row mt-4">
<div class="col-md-12">
<video id="videoPlayer" controls style="max-width: 100%; display: none;"></video>
</div>
</div>
</div>
<script>
const API_KEY = "68985a242e655fb2d0194dfb478f1f76";
const parseButton = document.getElementById('parseButton');
const resultTable = document.getElementById('resultTable');
const videoPlayer = document.getElementById('videoPlayer');
const downloadButton = document.getElementById('downloadButton');
const videoTitleCell = document.getElementById('videoTitleCell');
const authorNameCell = document.getElementById('authorNameCell');
const coverUrlCell = document.getElementById('coverUrlCell');
const videoUrlCell = document.getElementById('videoUrlCell');
parseButton.addEventListener('click', () => {
const videoUrl = document.getElementById('videoUrl').value;
const apiUrl = '/api/v1/tiktok';
const data = {
url: videoUrl
};
fetch(apiUrl, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
console.log('Success:', data);
if (data.code === 200) {
videoPlayer.style.display = 'block';
downloadButton.style.display = 'inline-block';
videoTitleCell.textContent = data.data.title;
authorNameCell.textContent = data.data.author.name;
coverUrlCell.textContent = data.data.cover;
videoUrlCell.textContent = data.data.url;
videoPlayer.src = data.data.url;
downloadButton.href = data.data.url;
}
})
.catch((error) => {
console.error('Error:', error);
});
console.log('Video URL:', videoUrl);
console.log('API Key:', API_KEY);
});
</script>
</body>
</html>
curl -X POST \
-H "Authorization: Bearer 4f4e3128b66856908abea9d440657cce" \
-H "Content-Type: application/json" \
-d '{"url": "https://v.douyin.com/F5o2FM6/"}' \
https://www.yuntts.com/api/v1/tiktok
import requests
# 配置信息
api_key = "4f4e3128b66856908abea9d440657cce"
api_url = 'https://www.yuntts.com/api/v1/tiktok'
video_url = 'https://v.douyin.com/F5o2FM6/'
# 准备请求数据和请求头
headers = {
'Authorization': Bearer api_key,
'Content-Type': 'application/json'
}
data = {
'url': video_url
}
# 发送 POST 请求
response = requests.post(api_url, headers=headers, json=data)
# 处理响应
if response.status_code == 200:
result = response.json()
print('请求成功:', result)
if result.get('code') == 200:
print('视频标题:', result['data']['title'])
print('视频链接:', result['data']['url'])
else:
print('请求失败,状态码:', response.status_code)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)