# jiexiapi **Repository Path**: chuangyeba/jiexiapi ## Basic Information - **Project Name**: jiexiapi - **Description**: 一个专注于短视频平台解析API的开源项目,提供多种解析工具和接口,助力开发者快速实现数据提取与处理功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-17 - **Last Updated**: 2026-05-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: 视频解析, 抖音视频解析, 短视频解析 ## README # TikTok 视频解析 API 开发者对接文档 ## 📋 目录 - [概述](#概述) - [接口信息](#接口信息) - [请求参数](#请求参数) - [响应格式](#响应格式) - [错误码说明](#错误码说明) - [计费说明](#计费说明) - [使用示例](#使用示例) - [注意事项](#注意事项) --- ## 概述 TikTok 视频解析 API 提供抖音视频的无水印解析服务,支持视频、图片集等多种内容类型的解析。通过本 API,开发者可以轻松获取视频的标题、封面、音频、作者等信息。 ### 功能特性 - 抖音视频无水印解析 - 支持视频和图片集(图文)解析 - 获取视频标题、封面、音频、作者等信息 - 内置缓存机制,提升响应速度 - 自动重试机制,保障服务稳定性 ### 支持平台 > **问:都能解析哪些平台?** > > **答:** 支持抖音、快手、小红书、微博、微视、今日头条、西瓜视频、哔哩哔哩、秒抽、美拍、皮皮虾、皮皮搞笑、全民小视频、火山小视频、好看视频、看点视频、全民K歌、看点快报、度小视、QQ看点、陌陌、唱吧、YY、小咖秀、糖豆、最左、配音秀、酷狗音乐、酷我音乐、看看视频、梨视频、网易云音乐、大众点评、虎牙视频、懂车帝、剪映、趣头条、美图秀秀、刷宝、迅雷、京东、淘宝、天猫、拼多多、微信公众号、微叭、微云、快看点等 **100多个** 短视频去水印和常用图集解析。 --- ## 接口信息 | 项目 | 说明 | |------|------| | **接口地址** | `https://www.yuntts.com/api/v1/tiktok` | | **调试地址** | `https://yuntts.apifox.cn/` | | **请求方式** | `POST` | | **数据格式** | `JSON` / `Form Data` | | **字符编码** | `UTF-8` | --- ## 请求参数 ### 必须参数 | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | `url` | string | 是 | 抖音分享链接或视频URL | | `Authorization` | string | 是 | Bearer Token(用户认证令牌) | ### 请求头 | 头部字段 | 值 | 必填 | |----------|-----|------| | `Content-Type` | `application/json` 或 `application/x-www-form-urlencoded` | 是 | | `Authorization` | `Bearer {your_token}` | 是 | ### 请求示例 #### JSON 格式 ```http POST /api/v1/tiktok HTTP/1.1 Host: www.yuntts.com Content-Type: application/json Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... { "url": "https://v.douyin.com/xxxxxx/" } ``` #### Form Data 格式 ```http POST /api/v1/tiktok HTTP/1.1 Host: www.yuntts.com Content-Type: application/x-www-form-urlencoded Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... url=https://v.douyin.com/xxxxxx/ ``` --- ## 响应格式 ### 成功响应 ```json { "status": "success", "message": "解析成功", "code": 200, "data": { "info": "请时常替换自己的秘钥,防止泄露!", "data": { "title": "视频标题", "url": "https://example.com/video.mp4", "cover": "https://example.com/cover.jpg", "time": "2024-01-01 12:00:00", "mp3": "https://example.com/audio.mp3", "type": "0", "author": { "uid": "123456", "name": "作者名称" }, "images": [], "pics": [] } } } ``` ### 响应字段说明 | 字段 | 类型 | 说明 | |------|------|------| | `title` | string | 视频标题 | | `url` | string | 无水印视频下载地址(type=0 时有效) | | `cover` | string | 视频封面图片地址 | | `time` | string | 视频发布时间 | | `mp3` | string | 视频音频下载地址 | | `type` | string | 内容类型:`"0"` 表示视频,`"1"` 表示图片集 | | `author.uid` | string | 作者用户ID | | `author.name` | string | 作者昵称 | | `images` | array | 图片集URL列表(type=1 时有效) | | `pics` | array | 图片集URL列表(备用字段) | --- ## 错误码说明 ### HTTP 状态码 | 状态码 | 说明 | 错误码 | 描述 | |--------|------|--------|------| | 200 | 请求成功 | - | 解析成功 | | 400 | 请求参数错误 | `invalid_parameter` | 未提供有效的URL参数 | | 400 | 请求参数错误 | `json_decode_failed` | 解析响应失败 | | 400 | 请求参数错误 | `invalid_response_structure` | 解析响应失败 | | 400 | 请求参数错误 | `api_error` | 第三方API返回错误 | | 400 | 请求参数错误 | `parse_failed` | 解析失败 | | 400 | 请求参数错误 | `empty_response` | 解析响应失败 | | 403 | 未授权 | `invalid_user` | 用户凭证异常 | | 403 | 权限不足 | `insufficient_balance` | 解析次数不足 | | 500 | 服务器错误 | `api_request_failed` | 请求第三方服务失败 | | 500 | 服务器错误 | `api_server_error` | 第三方服务返回错误 | ### 错误响应示例 ```json { "status": "error", "message": "解析次数不足", "code": 403, "data": null } ``` --- ## 计费说明 | 用户类型 | 计费规则 | |----------|----------| | **普通用户** | 每次解析扣除 1 次解析次数 | | **VIP 用户** | 免费,不扣除解析次数 | | **BOOSVIP 用户** | 免费,不扣除解析次数 | ### 余额不足处理 当普通用户解析次数不足时,接口将返回 `403` 状态码和 `insufficient_balance` 错误码,提示用户充值或升级会员。 --- ## 使用示例 ### PHP 示例 ```php $video_url ])); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer ' . $token, 'Content-Type: application/x-www-form-urlencoded' ]); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 30); // 执行请求 $response = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); $curl_error = curl_error($ch); // 关闭 cURL curl_close($ch); // 检查请求是否成功 if ($curl_error) { die('请求失败: ' . $curl_error); } // 解析响应 $data = json_decode($response, true); if ($http_code === 200 && isset($data['data']['data'])) { $video_info = $data['data']['data']; echo "视频标题: " . $video_info['title'] . "\n"; echo "视频地址: " . $video_info['url'] . "\n"; echo "封面图片: " . $video_info['cover'] . "\n"; echo "音频地址: " . $video_info['mp3'] . "\n"; echo "作者昵称: " . $video_info['author']['name'] . "\n"; echo "作者ID: " . $video_info['author']['uid'] . "\n"; if ($video_info['type'] === '1') { echo "图片集:\n"; foreach ($video_info['images'] as $index => $img_url) { echo " [" . ($index + 1) . "] " . $img_url . "\n"; } } } else { echo "解析失败: " . ($data['message'] ?? '未知错误') . "\n"; } ?> ``` ### Python 示例 ```python #!/usr/bin/env python3 """ TikTok 视频解析 - Python 示例 """ import requests import json import sys def parse_tiktok_video(api_url: str, token: str, video_url: str) -> dict: """ 解析抖音视频 Args: api_url: API 接口地址 token: Bearer Token video_url: 抖音分享链接或视频URL Returns: dict: 解析结果 """ headers = { 'Authorization': f'Bearer {token}', 'Content-Type': 'application/x-www-form-urlencoded' } data = { 'url': video_url } try: response = requests.post( api_url, headers=headers, data=data, timeout=30 ) # 检查HTTP状态码 if response.status_code == 200: result = response.json() return result else: error_data = response.json() raise Exception(f"HTTP {response.status_code}: {error_data.get('message', '未知错误')}") except requests.exceptions.RequestException as e: raise Exception(f"请求失败: {str(e)}") def print_video_info(result: dict): """打印视频信息""" if result.get('code') != 200: print(f"解析失败: {result.get('message', '未知错误')}") return data = result.get('data', {}).get('data', {}) print(f"视频标题: {data.get('title', 'N/A')}") print(f"视频地址: {data.get('url', 'N/A')}") print(f"封面图片: {data.get('cover', 'N/A')}") print(f"音频地址: {data.get('mp3', 'N/A')}") print(f"作者昵称: {data.get('author', {}).get('name', 'N/A')}") print(f"作者ID: {data.get('author', {}).get('uid', 'N/A')}") # 如果是图片集 if data.get('type') == '1': print("\n图片集:") for i, img_url in enumerate(data.get('images', [])): print(f" [{i+1}] {img_url}") def main(): """主函数""" # 配置参数 API_URL = 'https://www.yuntts.com/api/v1/tiktok' TOKEN = 'your_bearer_token_here' if len(sys.argv) > 1: video_url = sys.argv[1] else: video_url = input('请输入抖音分享链接: ') try: result = parse_tiktok_video(API_URL, TOKEN, video_url) print_video_info(result) except Exception as e: print(f"错误: {e}") sys.exit(1) if __name__ == '__main__': main() ``` --- ## 注意事项 1. **Token 安全**:请妥善保管您的 Bearer Token,避免泄露。 2. **URL 格式**:支持抖音分享短链接(如 `https://v.douyin.com/xxxxxx/`)和完整视频链接。 3. **缓存机制**:相同 URL 的解析结果会被缓存,缓存时间内再次请求将直接返回缓存结果,不扣除解析次数。 4. **重试机制**:API 内置自动重试机制,网络异常时最多重试 3 次。 5. **SSL 验证**:默认启用 SSL 证书验证,如遇证书问题可联系管理员配置。 6. **频率限制**:请合理控制请求频率,避免触发限流。 7. **内容类型**: - `type: "0"` 表示视频内容,使用 `url` 字段获取视频地址 - `type: "1"` 表示图片集内容,使用 `images` 或 `pics` 字段获取图片列表 8. **作者信息**:作者字段可能以对象形式 `{name, uid}` 或字符串形式返回,API 已自动兼容两种格式。 9. **计费说明**:普通用户每次解析扣除 1 次解析次数,VIP 和 BOOSVIP 用户免费。 --- ## 技术支持 如有问题,请联系技术支持或查阅相关文档。