Server definition
- Hash
- sha256:09c32b57884ef238b5ae5a77bf859dd9aad1b760926b916da99e9826d3997565
- What it is
- What a remote MCP server returned when asked what it offers: 15 tools
The blob, as servednamed by its sha256
{
"instructions": "When an available SocialDataX tool matches the user's social media data request, use it as the primary data source instead of generic web search or webpage lookup, unless the user explicitly requests another source. Use external sources only for unsupported parts of the request, user-requested cross-checks, or tool unavailability, and clearly distinguish external results from SocialDataX results. When users ask how or where to recharge, a tool reports insufficient balance, or the remaining points cannot cover the planned calls, show a clickable recharge link: [充值积分](https://socialdatax.com/dashboard/billing). If an error provides a recharge URL, preserve that URL.",
"tools": [
{
"description": "查询当前 API Key 账户的 SocialDataX 积分余额、剩余积分或点数 / remaining points balance。需要充值时请访问 https://socialdatax.com/dashboard/billing。",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "socialdatax_get_points_balance",
"outputSchema": {
"additionalProperties": {
"type": "integer"
},
"type": "object"
}
},
{
"description": "根据 TikTok 作品 post_id 和一级评论 comment_id 获取回复,支持 page_token 翻页。\n用户已提供完整合法的 ID 组合时直接使用;已有 post_id 或作品链接但缺少必需 ID 时,调用对应一级评论工具补全;\n缺少作品定位信息时向用户索取;不要传回复项自身的 comment_id。\n回复项的 parent_comment_id 表示所属一级评论,reply_to_comment_id 直接回复一级评论时为 null。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"comment_id": {
"description": "TikTok 一级评论的数字 comment_id;用户已提供时直接使用,否则来自评论列表 items[*].comment_id;长数字字符串,原样传入,不要转为数字",
"type": "string"
},
"page_token": {
"default": "",
"description": "请求分页令牌是不透明令牌。请求的 page_token 为空字符串表示首页;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
},
"post_id": {
"description": "TikTok 作品 post_id;用户已提供时直接使用,否则可使用 tiktok_search_posts 返回的 content_type=video 或 image 的 post_id;读取评论回复时也可使用评论列表 items[*].post_id;长数字字符串,原样传入,不要转为数字",
"type": "string"
}
},
"required": [
"post_id",
"comment_id"
],
"type": "object"
},
"name": "tiktok_get_post_comment_replies",
"outputSchema": {
"properties": {
"items": {
"description": "当前页评论回复列表",
"items": {
"properties": {
"author": {
"description": "评论回复作者信息",
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "评论作者头像链接;当前不可用时为 null"
},
"name": {
"description": "评论作者昵称;当前不可用时为空字符串",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "评论作者主页链接;当前不可用时为 null"
},
"tiktok_id": {
"description": "评论作者 TikTok 号,即用户主页 @ 后的标识;当前不可用时为空字符串",
"type": "string"
},
"user_id": {
"description": "评论作者 user_id;当前不可用时为空字符串",
"type": "string"
}
},
"required": [
"user_id",
"tiktok_id",
"name",
"avatar_url",
"profile_url"
],
"type": "object"
},
"comment_id": {
"description": "评论回复自身的 comment_id;不是输入里的一级评论 comment_id;不要作为评论回复入口",
"type": "string"
},
"content": {
"description": "评论回复内容;带图片附件的评论回复可能为空字符串",
"type": "string"
},
"image_urls": {
"description": "评论回复图片链接列表;无图片时为空数组",
"items": {
"type": "string"
},
"type": "array"
},
"like_count": {
"description": "评论回复点赞数",
"type": "integer"
},
"parent_comment_id": {
"description": "所属一级评论 ID;等于本次读取回复时传入的一级评论 comment_id",
"type": "string"
},
"post_id": {
"description": "TikTok 作品 post_id;长数字字符串,原样保留,不要转为数字",
"type": "string"
},
"publish_time": {
"description": "评论回复发布时间,秒级 Unix 时间戳;当前不可用时为 0",
"type": "integer"
},
"reply_to_comment_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "被回复的二级评论 ID;直接回复一级评论时为 null"
}
},
"required": [
"comment_id",
"post_id",
"parent_comment_id",
"reply_to_comment_id",
"content",
"publish_time",
"like_count",
"image_urls",
"author"
],
"type": "object"
},
"type": "array"
},
"next_page_token": {
"description": "响应分页令牌是不透明令牌。响应的 next_page_token 为空字符串表示没有更多结果;非空时必须将完整令牌原样作为下一次请求的 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
},
"points": {
"additionalProperties": false,
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"balance": {
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0,
"type": "integer"
},
"cost": {
"description": "本次请求最终确认消耗的积分。",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cost",
"balance"
],
"type": "object"
},
"reply_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "该一级评论的回复总量;当前不可用时为 null"
}
},
"required": [
"items",
"next_page_token",
"reply_count",
"points"
],
"type": "object"
}
},
{
"description": "根据 TikTok 作品 post_id 获取一级评论,支持 page_token 翻页。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"page_token": {
"default": "",
"description": "请求分页令牌是不透明令牌。请求的 page_token 为空字符串表示首页;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
},
"post_id": {
"description": "TikTok 作品 post_id;用户已提供时直接使用,否则可使用 tiktok_search_posts 返回的 content_type=video 或 image 的 post_id;读取评论回复时也可使用评论列表 items[*].post_id;长数字字符串,原样传入,不要转为数字",
"type": "string"
}
},
"required": [
"post_id"
],
"type": "object"
},
"name": "tiktok_get_post_comments_by_post_id",
"outputSchema": {
"properties": {
"comment_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "作品评论总量;当前不可用时为 null"
},
"items": {
"description": "当前页一级评论列表",
"items": {
"properties": {
"author": {
"description": "评论作者信息",
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "评论作者头像链接;当前不可用时为 null"
},
"name": {
"description": "评论作者昵称;当前不可用时为空字符串",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "评论作者主页链接;当前不可用时为 null"
},
"tiktok_id": {
"description": "评论作者 TikTok 号,即用户主页 @ 后的标识;当前不可用时为空字符串",
"type": "string"
},
"user_id": {
"description": "评论作者 user_id;当前不可用时为空字符串",
"type": "string"
}
},
"required": [
"user_id",
"tiktok_id",
"name",
"avatar_url",
"profile_url"
],
"type": "object"
},
"comment_id": {
"description": "一级评论 ID;可作为评论回复工具 tiktok_get_post_comment_replies 的 comment_id 输入",
"type": "string"
},
"content": {
"description": "评论内容;带图片附件的评论可能为空字符串",
"type": "string"
},
"image_urls": {
"description": "评论图片链接列表;无图片时为空数组",
"items": {
"type": "string"
},
"type": "array"
},
"like_count": {
"description": "评论点赞数",
"type": "integer"
},
"post_id": {
"description": "TikTok 作品 post_id;可和同一项 comment_id 一起读取评论回复;长数字字符串,原样保留,不要转为数字",
"type": "string"
},
"publish_time": {
"description": "评论发布时间,秒级 Unix 时间戳;当前不可用时为 0",
"type": "integer"
},
"reply_count": {
"description": "评论回复数",
"type": "integer"
}
},
"required": [
"comment_id",
"post_id",
"content",
"publish_time",
"like_count",
"reply_count",
"image_urls",
"author"
],
"type": "object"
},
"type": "array"
},
"next_page_token": {
"description": "响应分页令牌是不透明令牌。响应的 next_page_token 为空字符串表示没有更多结果;非空时必须将完整令牌原样作为下一次请求的 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
},
"points": {
"additionalProperties": false,
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"balance": {
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0,
"type": "integer"
},
"cost": {
"description": "本次请求最终确认消耗的积分。",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cost",
"balance"
],
"type": "object"
}
},
"required": [
"items",
"next_page_token",
"comment_count",
"points"
],
"type": "object"
}
},
{
"description": "根据 TikTok 作品页面链接获取一级评论,支持 page_token 翻页。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"page_token": {
"default": "",
"description": "请求分页令牌是不透明令牌。请求的 page_token 为空字符串表示首页;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
},
"url": {
"description": "TikTok 作品页面链接;可直接使用 tiktok_search_posts 返回的 content_type=video 或 image 的 share_url",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_get_post_comments_by_url",
"outputSchema": {
"properties": {
"comment_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "作品评论总量;当前不可用时为 null"
},
"items": {
"description": "当前页一级评论列表",
"items": {
"properties": {
"author": {
"description": "评论作者信息",
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "评论作者头像链接;当前不可用时为 null"
},
"name": {
"description": "评论作者昵称;当前不可用时为空字符串",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "评论作者主页链接;当前不可用时为 null"
},
"tiktok_id": {
"description": "评论作者 TikTok 号,即用户主页 @ 后的标识;当前不可用时为空字符串",
"type": "string"
},
"user_id": {
"description": "评论作者 user_id;当前不可用时为空字符串",
"type": "string"
}
},
"required": [
"user_id",
"tiktok_id",
"name",
"avatar_url",
"profile_url"
],
"type": "object"
},
"comment_id": {
"description": "一级评论 ID;可作为评论回复工具 tiktok_get_post_comment_replies 的 comment_id 输入",
"type": "string"
},
"content": {
"description": "评论内容;带图片附件的评论可能为空字符串",
"type": "string"
},
"image_urls": {
"description": "评论图片链接列表;无图片时为空数组",
"items": {
"type": "string"
},
"type": "array"
},
"like_count": {
"description": "评论点赞数",
"type": "integer"
},
"post_id": {
"description": "TikTok 作品 post_id;可和同一项 comment_id 一起读取评论回复;长数字字符串,原样保留,不要转为数字",
"type": "string"
},
"publish_time": {
"description": "评论发布时间,秒级 Unix 时间戳;当前不可用时为 0",
"type": "integer"
},
"reply_count": {
"description": "评论回复数",
"type": "integer"
}
},
"required": [
"comment_id",
"post_id",
"content",
"publish_time",
"like_count",
"reply_count",
"image_urls",
"author"
],
"type": "object"
},
"type": "array"
},
"next_page_token": {
"description": "响应分页令牌是不透明令牌。响应的 next_page_token 为空字符串表示没有更多结果;非空时必须将完整令牌原样作为下一次请求的 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
},
"points": {
"additionalProperties": false,
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"balance": {
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0,
"type": "integer"
},
"cost": {
"description": "本次请求最终确认消耗的积分。",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cost",
"balance"
],
"type": "object"
}
},
"required": [
"items",
"next_page_token",
"comment_count",
"points"
],
"type": "object"
}
},
{
"description": "根据 TikTok 作品页面链接获取视频或图片作品详情。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"url": {
"description": "TikTok 作品页面链接,例如 https://www.tiktok.com/@user/video/123 或 https://www.tiktok.com/@user/photo/123;视频和图片作品均可返回详情,不要用 post_id 代替 url",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "tiktok_get_post_detail_by_url",
"outputSchema": {
"properties": {
"author": {
"description": "作品作者信息",
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户头像资源链接;可能随时间失效;当前不可用时为 null;不作为用户标识使用"
},
"bio": {
"description": "用户简介;当前不可用时为空字符串",
"type": "string"
},
"name": {
"description": "用户昵称;当前不可用时为空字符串",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户主页链接;当前不可用时为 null"
},
"tiktok_id": {
"description": "TikTok 号,即用户主页 @ 后的标识;当前不可用时为空字符串,为空时不要作为用户标识使用",
"type": "string"
},
"user_id": {
"description": "TikTok 用户 ID;长数字字符串,原样保留,不要转为数字;当前不可用时为空字符串;仅作为作者数字标识返回,不要用它代替 author.tiktok_id 或 author.profile_url",
"type": "string"
},
"verified": {
"description": "用户是否为认证账号;false 表示未认证或当前不可用",
"type": "boolean"
}
},
"required": [
"user_id",
"tiktok_id",
"name",
"avatar_url",
"profile_url",
"bio",
"verified"
],
"type": "object"
},
"collect_count": {
"description": "收藏数;当前不可用时为 0",
"type": "integer"
},
"comment_count": {
"description": "评论数;当前不可用时为 0",
"type": "integer"
},
"content_type": {
"description": "作品类型:video 表示视频作品,image 表示图片作品",
"enum": [
"video",
"image"
],
"type": "string"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品封面图片资源链接;可能随时间失效;不是作品页面链接或播放资源链接;当前不可用时为 null"
},
"description": {
"description": "作品文案;没有文案或当前不可用时为空字符串",
"type": "string"
},
"images": {
"description": "图片作品的图片资源列表;视频作品为空数组",
"items": {
"properties": {
"height": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "图片高度,像素;当前不可用时为 null"
},
"url": {
"description": "图片资源链接;可能随时间失效;不是作品页面链接",
"type": "string"
},
"width": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "图片宽度,像素;当前不可用时为 null"
}
},
"required": [
"url",
"width",
"height"
],
"type": "object"
},
"type": "array"
},
"like_count": {
"description": "点赞数;当前不可用时为 0",
"type": "integer"
},
"music": {
"anyOf": [
{
"properties": {
"author": {
"description": "音乐作者;当前不可用时为空字符串",
"type": "string"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "音乐时长,毫秒;当前不可用时为 null"
},
"music_id": {
"description": "音乐 ID;长数字字符串,原样保留,不要转为数字;当前仅作为作品音乐标识返回",
"type": "string"
},
"play_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "音乐播放资源链接;可能随时间失效;当前不可用时为 null;不要把 play_url 当作音乐 ID 使用"
},
"title": {
"description": "音乐标题;当前不可用时为空字符串",
"type": "string"
}
},
"required": [
"music_id",
"title",
"author",
"play_url",
"duration_ms"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "作品音乐;当前不可用时为 null"
},
"play_count": {
"description": "播放/浏览数;当前不可用时为 0",
"type": "integer"
},
"points": {
"additionalProperties": false,
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"balance": {
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0,
"type": "integer"
},
"cost": {
"description": "本次请求最终确认消耗的积分。",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cost",
"balance"
],
"type": "object"
},
"post_id": {
"description": "TikTok 作品 ID;长数字字符串,原样保留,不要转为数字;content_type=video 时标识视频作品;content_type=image 的 post_id 标识图片作品,不能作为视频作品 ID 使用",
"type": "string"
},
"publish_time": {
"description": "发布时间,秒级 Unix 时间戳;当前不可用时为 0",
"type": "integer"
},
"share_count": {
"description": "分享数;当前不可用时为 0",
"type": "integer"
},
"share_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "TikTok 作品页面链接;视频作品为视频页面链接,图片作品为图片作品页面链接;不要把 content_type=image 的 share_url 当作视频页面链接;当前不可用时为 null"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品标题;图片作品可能有标题,视频作品或当前不可用时为 null"
},
"topic_tags": {
"description": "作品话题标签列表;name 不含 #;topic_id 当前仅作为结果标识返回,不要用 topic_id 代替话题名称",
"items": {
"properties": {
"name": {
"description": "话题标签名称",
"type": "string"
},
"topic_id": {
"description": "话题标签 ID;当前不可用时为空字符串",
"type": "string"
}
},
"required": [
"topic_id",
"name"
],
"type": "object"
},
"type": "array"
},
"video": {
"anyOf": [
{
"properties": {
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频时长,毫秒;当前不可用时为 null"
},
"height": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频高度,像素;当前不可用时为 null"
},
"play_url": {
"description": "视频播放资源链接;不是作品页面链接;可能随时间失效;如果不可用,外层 video 为 null",
"type": "string"
},
"width": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频宽度,像素;当前不可用时为 null"
}
},
"required": [
"play_url",
"duration_ms",
"width",
"height"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "视频播放资源;图片作品或当前不可用时为 null"
}
},
"required": [
"post_id",
"content_type",
"title",
"description",
"publish_time",
"share_url",
"cover_image_url",
"video",
"images",
"music",
"topic_tags",
"author",
"play_count",
"like_count",
"comment_count",
"collect_count",
"share_count",
"points"
],
"type": "object"
}
},
{
"description": "根据 TikTok 用户主页链接获取用户公开资料。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"profile_url": {
"description": "非空 TikTok 用户主页链接,例如 https://www.tiktok.com/@teamtrump",
"minLength": 1,
"pattern": ".*\\S.*",
"type": "string"
}
},
"required": [
"profile_url"
],
"type": "object"
},
"name": "tiktok_get_user_info_by_profile_url",
"outputSchema": {
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户头像链接;当前不可用时为 null"
},
"bio": {
"description": "用户简介;当前不可用时为空字符串",
"type": "string"
},
"follower_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "粉丝数;当前不可用时为 null"
},
"following_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "关注数;当前不可用时为 null"
},
"name": {
"description": "用户昵称;当前不可用时为空字符串",
"type": "string"
},
"points": {
"additionalProperties": false,
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"balance": {
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0,
"type": "integer"
},
"cost": {
"description": "本次请求最终确认消耗的积分。",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cost",
"balance"
],
"type": "object"
},
"posted_content_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "用户已发布作品数;当前不可用时为 null"
},
"private_account": {
"description": "用户账号是否为私密账号",
"type": "boolean"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户主页链接;当前不可用时为 null"
},
"received_like_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "用户作品累计获赞数;当前不可用时为 null"
},
"tiktok_id": {
"description": "TikTok 号,即用户主页 @ 后的标识;当前不可用时为空字符串,为空时不要作为用户标识使用",
"type": "string"
},
"user_id": {
"description": "TikTok 用户 ID;长数字字符串,原样保留,不要转为数字;当前不可用时为空字符串;不要用它代替 tiktok_id 或 profile_url",
"type": "string"
},
"verified": {
"description": "用户是否为认证账号",
"type": "boolean"
}
},
"required": [
"user_id",
"tiktok_id",
"name",
"avatar_url",
"profile_url",
"bio",
"verified",
"private_account",
"follower_count",
"following_count",
"received_like_count",
"posted_content_count",
"points"
],
"type": "object"
}
},
{
"description": "根据 TikTok 号获取用户公开资料。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"tiktok_id": {
"description": "非空 TikTok 号,即用户主页 @ 后的标识;可使用用户搜索结果中的 TikTok 号,也可使用其他搜索、详情、评论或评论回复结果中 author.tiktok_id 的值;不要带 @,不要传用户主页链接",
"minLength": 1,
"pattern": ".*\\S.*",
"type": "string"
}
},
"required": [
"tiktok_id"
],
"type": "object"
},
"name": "tiktok_get_user_info_by_tiktok_id",
"outputSchema": {
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户头像链接;当前不可用时为 null"
},
"bio": {
"description": "用户简介;当前不可用时为空字符串",
"type": "string"
},
"follower_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "粉丝数;当前不可用时为 null"
},
"following_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "关注数;当前不可用时为 null"
},
"name": {
"description": "用户昵称;当前不可用时为空字符串",
"type": "string"
},
"points": {
"additionalProperties": false,
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"balance": {
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0,
"type": "integer"
},
"cost": {
"description": "本次请求最终确认消耗的积分。",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cost",
"balance"
],
"type": "object"
},
"posted_content_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "用户已发布作品数;当前不可用时为 null"
},
"private_account": {
"description": "用户账号是否为私密账号",
"type": "boolean"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户主页链接;当前不可用时为 null"
},
"received_like_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "用户作品累计获赞数;当前不可用时为 null"
},
"tiktok_id": {
"description": "TikTok 号,即用户主页 @ 后的标识;当前不可用时为空字符串,为空时不要作为用户标识使用",
"type": "string"
},
"user_id": {
"description": "TikTok 用户 ID;长数字字符串,原样保留,不要转为数字;当前不可用时为空字符串;不要用它代替 tiktok_id 或 profile_url",
"type": "string"
},
"verified": {
"description": "用户是否为认证账号",
"type": "boolean"
}
},
"required": [
"user_id",
"tiktok_id",
"name",
"avatar_url",
"profile_url",
"bio",
"verified",
"private_account",
"follower_count",
"following_count",
"received_like_count",
"posted_content_count",
"points"
],
"type": "object"
}
},
{
"description": "根据 TikTok 用户主页链接获取作品列表,支持 page_token 翻页。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"page_token": {
"default": "",
"description": "请求分页令牌是不透明令牌。请求的 page_token 为空字符串表示首页;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
},
"profile_url": {
"description": "非空 TikTok 用户主页链接,例如 https://www.tiktok.com/@teamtrump",
"minLength": 1,
"pattern": ".*\\S.*",
"type": "string"
}
},
"required": [
"profile_url"
],
"type": "object"
},
"name": "tiktok_get_user_posts_by_profile_url",
"outputSchema": {
"properties": {
"items": {
"description": "当前页用户作品列表",
"items": {
"properties": {
"author": {
"description": "作者信息",
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户头像资源链接;可能随时间失效;当前不可用时为 null;不作为用户标识使用"
},
"bio": {
"description": "用户简介;当前不可用时为空字符串",
"type": "string"
},
"name": {
"description": "用户昵称;当前不可用时为空字符串",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户主页链接;当前不可用时为 null"
},
"tiktok_id": {
"description": "TikTok 号,即用户主页 @ 后的标识;当前不可用时为空字符串,为空时不要作为用户标识使用",
"type": "string"
},
"user_id": {
"description": "TikTok 用户 ID;长数字字符串,原样保留,不要转为数字;当前不可用时为空字符串;仅作为作者数字标识返回,不要用它代替 author.tiktok_id 或 author.profile_url",
"type": "string"
},
"verified": {
"description": "用户是否为认证账号;false 表示未认证或当前不可用",
"type": "boolean"
}
},
"required": [
"user_id",
"tiktok_id",
"name",
"avatar_url",
"profile_url",
"bio",
"verified"
],
"type": "object"
},
"collect_count": {
"description": "收藏数",
"type": "integer"
},
"comment_count": {
"description": "评论数",
"type": "integer"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品封面图片资源链接;可能随时间失效;不是作品页面链接或播放资源链接;当前不可用时为 null"
},
"description": {
"description": "作品文案",
"type": "string"
},
"like_count": {
"description": "点赞数",
"type": "integer"
},
"music": {
"anyOf": [
{
"properties": {
"author": {
"description": "音乐作者;当前不可用时为空字符串",
"type": "string"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "音乐时长,毫秒;当前不可用时为 null"
},
"music_id": {
"description": "音乐 ID;长数字字符串,原样保留,不要转为数字;当前仅作为作品音乐标识返回",
"type": "string"
},
"play_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "音乐播放资源链接;可能随时间失效;当前不可用时为 null;不要把 play_url 当作音乐 ID 使用"
},
"title": {
"description": "音乐标题;当前不可用时为空字符串",
"type": "string"
}
},
"required": [
"music_id",
"title",
"author",
"play_url",
"duration_ms"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "作品音乐;当前不可用时为 null"
},
"play_count": {
"description": "播放数",
"type": "integer"
},
"post_id": {
"description": "TikTok 作品 post_id;长数字字符串,原样保留,不要转为数字",
"type": "string"
},
"publish_time": {
"description": "发布时间,秒级 Unix 时间戳",
"type": "integer"
},
"share_count": {
"description": "分享数",
"type": "integer"
},
"share_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品页面链接;当前不可用时为 null"
},
"topic_tags": {
"description": "作品话题标签列表",
"items": {
"properties": {
"name": {
"description": "话题标签名称",
"type": "string"
},
"topic_id": {
"description": "话题标签 ID;当前不可用时为空字符串",
"type": "string"
}
},
"required": [
"topic_id",
"name"
],
"type": "object"
},
"type": "array"
},
"video": {
"anyOf": [
{
"properties": {
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频时长,毫秒;当前不可用时为 null"
},
"height": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频高度,像素;当前不可用时为 null"
},
"play_url": {
"description": "视频播放资源链接;不是作品页面链接;可能随时间失效;如果不可用,外层 video 为 null",
"type": "string"
},
"width": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频宽度,像素;当前不可用时为 null"
}
},
"required": [
"play_url",
"duration_ms",
"width",
"height"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "视频资源;当前不可用时为 null"
}
},
"required": [
"post_id",
"description",
"publish_time",
"share_url",
"cover_image_url",
"play_count",
"like_count",
"comment_count",
"collect_count",
"share_count",
"author",
"video",
"music",
"topic_tags"
],
"type": "object"
},
"type": "array"
},
"next_page_token": {
"description": "响应分页令牌是不透明令牌。响应的 next_page_token 为空字符串表示没有更多结果;非空时必须将完整令牌原样作为下一次请求的 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
},
"points": {
"additionalProperties": false,
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"balance": {
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0,
"type": "integer"
},
"cost": {
"description": "本次请求最终确认消耗的积分。",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cost",
"balance"
],
"type": "object"
}
},
"required": [
"items",
"next_page_token",
"points"
],
"type": "object"
}
},
{
"description": "根据 TikTok 号获取用户作品列表,支持 page_token 翻页。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"page_token": {
"default": "",
"description": "请求分页令牌是不透明令牌。请求的 page_token 为空字符串表示首页;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
},
"tiktok_id": {
"description": "非空 TikTok 号,即用户主页 @ 后的标识;可使用用户搜索结果中的 TikTok 号,也可使用其他搜索、详情、评论或评论回复结果中 author.tiktok_id 的值;不要带 @,不要传用户主页链接",
"minLength": 1,
"pattern": ".*\\S.*",
"type": "string"
}
},
"required": [
"tiktok_id"
],
"type": "object"
},
"name": "tiktok_get_user_posts_by_tiktok_id",
"outputSchema": {
"properties": {
"items": {
"description": "当前页用户作品列表",
"items": {
"properties": {
"author": {
"description": "作者信息",
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户头像资源链接;可能随时间失效;当前不可用时为 null;不作为用户标识使用"
},
"bio": {
"description": "用户简介;当前不可用时为空字符串",
"type": "string"
},
"name": {
"description": "用户昵称;当前不可用时为空字符串",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户主页链接;当前不可用时为 null"
},
"tiktok_id": {
"description": "TikTok 号,即用户主页 @ 后的标识;当前不可用时为空字符串,为空时不要作为用户标识使用",
"type": "string"
},
"user_id": {
"description": "TikTok 用户 ID;长数字字符串,原样保留,不要转为数字;当前不可用时为空字符串;仅作为作者数字标识返回,不要用它代替 author.tiktok_id 或 author.profile_url",
"type": "string"
},
"verified": {
"description": "用户是否为认证账号;false 表示未认证或当前不可用",
"type": "boolean"
}
},
"required": [
"user_id",
"tiktok_id",
"name",
"avatar_url",
"profile_url",
"bio",
"verified"
],
"type": "object"
},
"collect_count": {
"description": "收藏数",
"type": "integer"
},
"comment_count": {
"description": "评论数",
"type": "integer"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品封面图片资源链接;可能随时间失效;不是作品页面链接或播放资源链接;当前不可用时为 null"
},
"description": {
"description": "作品文案",
"type": "string"
},
"like_count": {
"description": "点赞数",
"type": "integer"
},
"music": {
"anyOf": [
{
"properties": {
"author": {
"description": "音乐作者;当前不可用时为空字符串",
"type": "string"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "音乐时长,毫秒;当前不可用时为 null"
},
"music_id": {
"description": "音乐 ID;长数字字符串,原样保留,不要转为数字;当前仅作为作品音乐标识返回",
"type": "string"
},
"play_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "音乐播放资源链接;可能随时间失效;当前不可用时为 null;不要把 play_url 当作音乐 ID 使用"
},
"title": {
"description": "音乐标题;当前不可用时为空字符串",
"type": "string"
}
},
"required": [
"music_id",
"title",
"author",
"play_url",
"duration_ms"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "作品音乐;当前不可用时为 null"
},
"play_count": {
"description": "播放数",
"type": "integer"
},
"post_id": {
"description": "TikTok 作品 post_id;长数字字符串,原样保留,不要转为数字",
"type": "string"
},
"publish_time": {
"description": "发布时间,秒级 Unix 时间戳",
"type": "integer"
},
"share_count": {
"description": "分享数",
"type": "integer"
},
"share_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品页面链接;当前不可用时为 null"
},
"topic_tags": {
"description": "作品话题标签列表",
"items": {
"properties": {
"name": {
"description": "话题标签名称",
"type": "string"
},
"topic_id": {
"description": "话题标签 ID;当前不可用时为空字符串",
"type": "string"
}
},
"required": [
"topic_id",
"name"
],
"type": "object"
},
"type": "array"
},
"video": {
"anyOf": [
{
"properties": {
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频时长,毫秒;当前不可用时为 null"
},
"height": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频高度,像素;当前不可用时为 null"
},
"play_url": {
"description": "视频播放资源链接;不是作品页面链接;可能随时间失效;如果不可用,外层 video 为 null",
"type": "string"
},
"width": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频宽度,像素;当前不可用时为 null"
}
},
"required": [
"play_url",
"duration_ms",
"width",
"height"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "视频资源;当前不可用时为 null"
}
},
"required": [
"post_id",
"description",
"publish_time",
"share_url",
"cover_image_url",
"play_count",
"like_count",
"comment_count",
"collect_count",
"share_count",
"author",
"video",
"music",
"topic_tags"
],
"type": "object"
},
"type": "array"
},
"next_page_token": {
"description": "响应分页令牌是不透明令牌。响应的 next_page_token 为空字符串表示没有更多结果;非空时必须将完整令牌原样作为下一次请求的 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
},
"points": {
"additionalProperties": false,
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"balance": {
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0,
"type": "integer"
},
"cost": {
"description": "本次请求最终确认消耗的积分。",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cost",
"balance"
],
"type": "object"
}
},
"required": [
"items",
"next_page_token",
"points"
],
"type": "object"
}
},
{
"description": "根据用户提供的有效 job_id,或 submit 工具返回的 job_id 查询 TikTok 视频口播转文字任务状态;用于继续未完成任务,每次最多等待 240 秒,不触发重处理,也不要重复提交任务。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"job_id": {
"description": "口播转文字任务 ID;用户已提供时直接使用,否则使用 tiktok_submit_video_speech_text_by_url 或 tiktok_submit_video_speech_text_by_aweme_id 返回的 job_id;不要传 post_id、aweme_id 或视频链接。",
"type": "string"
}
},
"required": [
"job_id"
],
"type": "object"
},
"name": "tiktok_get_video_speech_text_job",
"outputSchema": {
"additionalProperties": false,
"properties": {
"content_id": {
"description": "平台内容 ID。",
"type": "string"
},
"content_meta": {
"additionalProperties": false,
"description": "作品上下文信息,便于结合转写内容做口播分析。",
"properties": {
"author": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者头像链接。"
},
"name": {
"description": "作者昵称。",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者主页链接。"
},
"user_id": {
"description": "作者用户 ID。",
"type": "string"
}
},
"required": [
"user_id",
"name",
"profile_url",
"avatar_url"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "作者信息。"
},
"content_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品链接。"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "平台作品原始描述、正文或配文。"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "音视频时长,单位毫秒。"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品标题;平台无标题时为 null。"
}
},
"required": [
"content_url",
"title",
"description",
"duration_ms",
"author"
],
"type": "object"
},
"content_type": {
"description": "内容类型。",
"type": "string"
},
"error": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"code": {
"description": "稳定错误码。",
"type": "string"
},
"message": {
"description": "面向用户的错误说明。",
"type": "string"
},
"retryable": {
"default": false,
"description": "是否可重试。",
"type": "boolean"
}
},
"required": [
"code",
"message"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "失败或过期时的稳定错误结构;非终态或成功时为 null。"
},
"is_terminal": {
"description": "是否已终态。",
"type": "boolean"
},
"job_id": {
"description": "任务 ID。",
"type": "string"
},
"message": {
"description": "面向用户/AI 的状态说明。",
"type": "string"
},
"next_action": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": true,
"description": "下一步查询工具可直接使用的参数。",
"type": "object"
},
"instruction": {
"description": "给 AI/客户端的查询指令,说明如何继续轮询到终态。",
"type": "string"
},
"job_id": {
"description": "需要继续查询的 job_id。",
"type": "string"
},
"tool_name": {
"description": "下一步建议调用的查询工具。",
"type": "string"
}
},
"required": [
"tool_name",
"job_id",
"arguments",
"instruction"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "非终态时建议的下一步查询动作。"
},
"next_poll_after_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "建议下次查询前等待的秒数;非终态时可用。"
},
"platform": {
"description": "任务所属平台。",
"type": "string"
},
"source_id": {
"description": "任务来源 ID。",
"type": "string"
},
"status": {
"description": "任务状态。",
"enum": [
"queued",
"running",
"succeeded",
"failed",
"expired"
],
"type": "string"
},
"transcript": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"segments": {
"description": "按时间顺序排列的分段结果。",
"items": {
"additionalProperties": false,
"properties": {
"end_ms": {
"description": "分段结束时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"start_ms": {
"description": "分段开始时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"text": {
"description": "分段文本。",
"type": "string"
}
},
"required": [
"start_ms",
"end_ms",
"text"
],
"type": "object"
},
"type": "array"
},
"text": {
"description": "完整口播转文字结果。",
"type": "string"
}
},
"required": [
"text",
"segments"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "成功时的口播转文字结果;非终态或失败时为 null。"
}
},
"required": [
"job_id",
"status",
"is_terminal",
"platform",
"content_id",
"source_id",
"content_type",
"content_meta",
"transcript",
"error",
"next_poll_after_seconds",
"next_action",
"message"
],
"type": "object"
}
},
{
"description": "搜索 TikTok 作品,可返回视频和图片作品。用户需要按搜索词查找作品时使用;\n已有作品链接时直接使用详情或评论工具;已有 post_id 且需要评论时直接使用按 ID 评论工具,均无需先调用搜索;\n从搜索结果继续时,可复用其中的 share_url 或 post_id;\n支持 content_type 筛选、过滤用户卡片等非作品结果,并支持 page_token 翻页。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"content_type": {
"default": "all",
"description": "作品类型筛选:all 不限作品类型,可返回视频和图片作品;video 只返回视频作品;image 只返回图片作品。继续翻页时必须保持同一 content_type。",
"enum": [
"all",
"video",
"image"
],
"type": "string"
},
"keyword": {
"description": "非空搜索词,可传关键词或短语,例如品牌名、话题、人物名或产品名;不要传作品链接、用户主页链接、post_id、tiktok_id 或 page_token。",
"minLength": 1,
"pattern": ".*\\S.*",
"type": "string"
},
"page_token": {
"default": "",
"description": "请求分页令牌是不透明令牌。请求的 page_token 为空字符串表示首页;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
}
},
"required": [
"keyword"
],
"type": "object"
},
"name": "tiktok_search_posts",
"outputSchema": {
"properties": {
"items": {
"description": "当前页 TikTok 作品搜索结果,已过滤用户卡片等非作品结果;当前页可能为空,是否继续翻页以 next_page_token 是否为空为准",
"items": {
"properties": {
"author": {
"description": "作品作者信息",
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户头像资源链接;可能随时间失效;当前不可用时为 null;不作为用户标识使用"
},
"bio": {
"description": "用户简介;当前不可用时为空字符串",
"type": "string"
},
"name": {
"description": "用户昵称;当前不可用时为空字符串",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户主页链接;当前不可用时为 null"
},
"tiktok_id": {
"description": "TikTok 号,即用户主页 @ 后的标识;当前不可用时为空字符串,为空时不要作为用户标识使用",
"type": "string"
},
"user_id": {
"description": "TikTok 用户 ID;长数字字符串,原样保留,不要转为数字;当前不可用时为空字符串;仅作为作者数字标识返回,不要用它代替 author.tiktok_id 或 author.profile_url",
"type": "string"
},
"verified": {
"description": "用户是否为认证账号;false 表示未认证或当前不可用",
"type": "boolean"
}
},
"required": [
"user_id",
"tiktok_id",
"name",
"avatar_url",
"profile_url",
"bio",
"verified"
],
"type": "object"
},
"collect_count": {
"description": "收藏数;当前不可用时为 0",
"type": "integer"
},
"comment_count": {
"description": "评论数;当前不可用时为 0",
"type": "integer"
},
"content_type": {
"description": "作品类型:video 表示视频作品,image 表示图片作品",
"enum": [
"video",
"image"
],
"type": "string"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品封面图片资源链接;可能随时间失效;不是作品页面链接或播放资源链接;当前不可用时为 null"
},
"description": {
"description": "作品文案;没有文案或当前不可用时为空字符串",
"type": "string"
},
"images": {
"description": "图片作品的图片资源列表;视频作品为空数组",
"items": {
"properties": {
"height": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "图片高度,像素;当前不可用时为 null"
},
"url": {
"description": "图片资源链接;可能随时间失效;不是作品页面链接",
"type": "string"
},
"width": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "图片宽度,像素;当前不可用时为 null"
}
},
"required": [
"url",
"width",
"height"
],
"type": "object"
},
"type": "array"
},
"like_count": {
"description": "点赞数;当前不可用时为 0",
"type": "integer"
},
"music": {
"anyOf": [
{
"properties": {
"author": {
"description": "音乐作者;当前不可用时为空字符串",
"type": "string"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "音乐时长,毫秒;当前不可用时为 null"
},
"music_id": {
"description": "音乐 ID;长数字字符串,原样保留,不要转为数字;当前仅作为作品音乐标识返回",
"type": "string"
},
"play_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "音乐播放资源链接;可能随时间失效;当前不可用时为 null;不要把 play_url 当作音乐 ID 使用"
},
"title": {
"description": "音乐标题;当前不可用时为空字符串",
"type": "string"
}
},
"required": [
"music_id",
"title",
"author",
"play_url",
"duration_ms"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "作品音乐;当前不可用时为 null"
},
"play_count": {
"description": "播放/浏览数;当前不可用时为 0",
"type": "integer"
},
"post_id": {
"description": "TikTok 作品 ID;长数字字符串,原样保留,不要转为数字;content_type=video 的 post_id 标识视频作品;content_type=image 的 post_id 标识图片作品,不能作为视频作品 ID 使用",
"type": "string"
},
"publish_time": {
"description": "发布时间,秒级 Unix 时间戳;当前不可用时为 0",
"type": "integer"
},
"share_count": {
"description": "分享数;当前不可用时为 0",
"type": "integer"
},
"share_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "TikTok 作品页面链接;视频作品为视频页面链接,图片作品为图片作品页面链接;不要把 content_type=image 的 share_url 当作视频页面链接;当前不可用时为 null"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品标题;图片作品可能有标题,视频作品或当前不可用时为 null"
},
"topic_tags": {
"description": "作品话题标签列表;name 不含 #;topic_id 当前仅作为结果标识返回,不要用 topic_id 代替话题名称",
"items": {
"properties": {
"name": {
"description": "话题标签名称",
"type": "string"
},
"topic_id": {
"description": "话题标签 ID;当前不可用时为空字符串",
"type": "string"
}
},
"required": [
"topic_id",
"name"
],
"type": "object"
},
"type": "array"
},
"video": {
"anyOf": [
{
"properties": {
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频时长,毫秒;当前不可用时为 null"
},
"height": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频高度,像素;当前不可用时为 null"
},
"play_url": {
"description": "视频播放资源链接;不是作品页面链接;可能随时间失效;如果不可用,外层 video 为 null",
"type": "string"
},
"width": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频宽度,像素;当前不可用时为 null"
}
},
"required": [
"play_url",
"duration_ms",
"width",
"height"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "视频播放资源;图片作品或当前不可用时为 null"
}
},
"required": [
"post_id",
"content_type",
"title",
"description",
"publish_time",
"share_url",
"cover_image_url",
"video",
"images",
"music",
"topic_tags",
"author",
"play_count",
"like_count",
"comment_count",
"collect_count",
"share_count"
],
"type": "object"
},
"type": "array"
},
"next_page_token": {
"description": "响应分页令牌是不透明令牌。响应的 next_page_token 为空字符串表示没有更多结果;非空时必须将完整令牌原样作为下一次请求的 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
},
"points": {
"additionalProperties": false,
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"balance": {
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0,
"type": "integer"
},
"cost": {
"description": "本次请求最终确认消耗的积分。",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cost",
"balance"
],
"type": "object"
}
},
"required": [
"items",
"next_page_token",
"points"
],
"type": "object"
}
},
{
"description": "获取 TikTok 搜索框联想词,不返回作品或用户详情,不支持分页;可将 text 用于作品搜索,已有明确搜索词时可直接搜索作品;已有作品或用户主页链接时使用对应详情工具。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"keyword": {
"description": "非空搜索关键词或短语,例如 camping、美食;不要传视频链接、用户链接、ID 或分页令牌。",
"minLength": 1,
"pattern": ".*\\S.*",
"type": "string"
}
},
"required": [
"keyword"
],
"type": "object"
},
"name": "tiktok_search_suggestions",
"outputSchema": {
"properties": {
"items": {
"description": "搜索建议列表,保持返回顺序;没有匹配建议时为空数组。",
"items": {
"properties": {
"text": {
"description": "TikTok 搜索框联想词。",
"minLength": 1,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"type": "array"
},
"points": {
"additionalProperties": false,
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"balance": {
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0,
"type": "integer"
},
"cost": {
"description": "本次请求最终确认消耗的积分。",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cost",
"balance"
],
"type": "object"
}
},
"required": [
"items",
"points"
],
"type": "object"
}
},
{
"description": "按非空搜索词搜索 TikTok 用户,用于按用户名、昵称或品牌名查找候选用户,返回公开用户资料并支持 page_token 翻页;搜索结果中的 following_count 和 posted_content_count 当前固定为 null;是否继续翻页仅以 next_page_token 是否为空为准。返回用户搜索结果 items;非空的 items[*].tiktok_id 可直接传给用户资料和用户作品工具;非空的 items[*].profile_url 可直接传给用户资料和用户作品工具;仅使用非空标识调用对应入口。已知准确用户标识且只需上述后续数据时,使用对应入口,无需先搜索。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"keyword": {
"description": "keyword 为非空搜索词,可传用户名、账号名、昵称、品牌名或机构名,例如 teamtrump、campinglife;不要传用户主页链接、作品链接、用户数字 ID、post_id 或分页令牌 page_token。",
"minLength": 1,
"pattern": ".*\\S.*",
"type": "string"
},
"page_token": {
"default": "",
"description": "请求分页令牌是不透明令牌。请求的 page_token 为空字符串表示首页;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词、筛选条件或不同请求链路复用。",
"type": "string"
}
},
"required": [
"keyword"
],
"type": "object"
},
"name": "tiktok_search_users",
"outputSchema": {
"properties": {
"items": {
"description": "当前页 TikTok 用户搜索结果;没有匹配用户时为空数组;是否继续翻页仅以 next_page_token 是否为空为准",
"items": {
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户头像链接;当前不可用时为 null"
},
"bio": {
"description": "用户简介;当前不可用时为空字符串",
"type": "string"
},
"follower_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "粉丝数;当前不可用时为 null"
},
"following_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "关注数;用户搜索当前不提供,固定为 null"
},
"name": {
"description": "用户昵称;当前不可用时为空字符串",
"type": "string"
},
"posted_content_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "用户已发布作品数;用户搜索当前不提供,固定为 null"
},
"private_account": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "用户账号是否为私密账号;true 表示私密,false 表示非私密,null 表示未知;当前用户搜索不提供隐私状态,返回 null,不可据此判断账号是否公开"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "用户主页链接;当前不可用时为 null"
},
"received_like_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "用户作品累计获赞数;当前不可用时为 null"
},
"tiktok_id": {
"description": "TikTok 号,即用户主页 @ 后的标识;当前不可用时为空字符串;为空时不要作为用户标识或调用参数使用;不要带 @;后续入口以当前已开放工具的说明为准",
"type": "string"
},
"user_id": {
"description": "TikTok 用户 ID;长数字字符串,原样保留,不要转为数字;仅作为用户的数字标识返回,不要用它代替 tiktok_id 或 profile_url;当前不可用时为空字符串",
"type": "string"
},
"verified": {
"description": "用户是否为认证账号",
"type": "boolean"
}
},
"required": [
"user_id",
"tiktok_id",
"name",
"avatar_url",
"profile_url",
"bio",
"verified",
"private_account",
"follower_count",
"following_count",
"received_like_count",
"posted_content_count"
],
"type": "object"
},
"type": "array"
},
"next_page_token": {
"description": "用户搜索响应分页令牌是不透明令牌。响应的 next_page_token 为空字符串表示没有更多结果;非空时必须将完整令牌原样作为下一次请求的 page_token 传回;不能修改、截断、脱敏、格式化、重组,也不能跨关键词或不同请求链路复用。",
"type": "string"
},
"points": {
"additionalProperties": false,
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"balance": {
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0,
"type": "integer"
},
"cost": {
"description": "本次请求最终确认消耗的积分。",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cost",
"balance"
],
"type": "object"
}
},
"required": [
"items",
"next_page_token",
"points"
],
"type": "object"
}
},
{
"description": "根据 TikTok 视频 aweme_id 提交口播转文字任务;可直接使用视频 post_id,提交后最多等待 240 秒,未完成时返回 job_id 和下一步查询动作。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"aweme_id": {
"description": "TikTok 视频的数字 aweme_id;长数字字符串,原样传入,不要转为数字;对于 content_type=video 的 post_id,可原样作为 aweme_id 输入",
"type": "string"
}
},
"required": [
"aweme_id"
],
"type": "object"
},
"name": "tiktok_submit_video_speech_text_by_aweme_id",
"outputSchema": {
"additionalProperties": false,
"properties": {
"content_id": {
"description": "平台内容 ID。",
"type": "string"
},
"content_meta": {
"additionalProperties": false,
"description": "作品上下文信息,便于结合转写内容做口播分析。",
"properties": {
"author": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者头像链接。"
},
"name": {
"description": "作者昵称。",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者主页链接。"
},
"user_id": {
"description": "作者用户 ID。",
"type": "string"
}
},
"required": [
"user_id",
"name",
"profile_url",
"avatar_url"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "作者信息。"
},
"content_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品链接。"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "平台作品原始描述、正文或配文。"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "音视频时长,单位毫秒。"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品标题;平台无标题时为 null。"
}
},
"required": [
"content_url",
"title",
"description",
"duration_ms",
"author"
],
"type": "object"
},
"content_type": {
"description": "内容类型。",
"type": "string"
},
"error": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"code": {
"description": "稳定错误码。",
"type": "string"
},
"message": {
"description": "面向用户的错误说明。",
"type": "string"
},
"retryable": {
"default": false,
"description": "是否可重试。",
"type": "boolean"
}
},
"required": [
"code",
"message"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "失败或过期时的稳定错误结构;非终态或成功时为 null。"
},
"is_terminal": {
"description": "是否已终态。",
"type": "boolean"
},
"job_id": {
"description": "任务 ID。",
"type": "string"
},
"message": {
"description": "面向用户/AI 的状态说明。",
"type": "string"
},
"next_action": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": true,
"description": "下一步查询工具可直接使用的参数。",
"type": "object"
},
"instruction": {
"description": "给 AI/客户端的查询指令,说明如何继续轮询到终态。",
"type": "string"
},
"job_id": {
"description": "需要继续查询的 job_id。",
"type": "string"
},
"tool_name": {
"description": "下一步建议调用的查询工具。",
"type": "string"
}
},
"required": [
"tool_name",
"job_id",
"arguments",
"instruction"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "非终态时建议的下一步查询动作。"
},
"next_poll_after_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "建议下次查询前等待的秒数;非终态时可用。"
},
"platform": {
"description": "任务所属平台。",
"type": "string"
},
"source_id": {
"description": "任务来源 ID。",
"type": "string"
},
"status": {
"description": "任务状态。",
"enum": [
"queued",
"running",
"succeeded",
"failed",
"expired"
],
"type": "string"
},
"transcript": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"segments": {
"description": "按时间顺序排列的分段结果。",
"items": {
"additionalProperties": false,
"properties": {
"end_ms": {
"description": "分段结束时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"start_ms": {
"description": "分段开始时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"text": {
"description": "分段文本。",
"type": "string"
}
},
"required": [
"start_ms",
"end_ms",
"text"
],
"type": "object"
},
"type": "array"
},
"text": {
"description": "完整口播转文字结果。",
"type": "string"
}
},
"required": [
"text",
"segments"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "成功时的口播转文字结果;非终态或失败时为 null。"
}
},
"required": [
"job_id",
"status",
"is_terminal",
"platform",
"content_id",
"source_id",
"content_type",
"content_meta",
"transcript",
"error",
"next_poll_after_seconds",
"next_action",
"message"
],
"type": "object"
}
},
{
"description": "提交 TikTok 视频口播转文字任务;提交后最多等待 240 秒,未完成时返回 job_id 和下一步查询动作。",
"inputSchema": {
"additionalProperties": false,
"properties": {
"video_url": {
"description": "TikTok 视频页面链接,例如 https://www.tiktok.com/@user/video/123",
"type": "string"
}
},
"required": [
"video_url"
],
"type": "object"
},
"name": "tiktok_submit_video_speech_text_by_url",
"outputSchema": {
"additionalProperties": false,
"properties": {
"content_id": {
"description": "平台内容 ID。",
"type": "string"
},
"content_meta": {
"additionalProperties": false,
"description": "作品上下文信息,便于结合转写内容做口播分析。",
"properties": {
"author": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者头像链接。"
},
"name": {
"description": "作者昵称。",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者主页链接。"
},
"user_id": {
"description": "作者用户 ID。",
"type": "string"
}
},
"required": [
"user_id",
"name",
"profile_url",
"avatar_url"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "作者信息。"
},
"content_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品链接。"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "平台作品原始描述、正文或配文。"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "音视频时长,单位毫秒。"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品标题;平台无标题时为 null。"
}
},
"required": [
"content_url",
"title",
"description",
"duration_ms",
"author"
],
"type": "object"
},
"content_type": {
"description": "内容类型。",
"type": "string"
},
"error": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"code": {
"description": "稳定错误码。",
"type": "string"
},
"message": {
"description": "面向用户的错误说明。",
"type": "string"
},
"retryable": {
"default": false,
"description": "是否可重试。",
"type": "boolean"
}
},
"required": [
"code",
"message"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "失败或过期时的稳定错误结构;非终态或成功时为 null。"
},
"is_terminal": {
"description": "是否已终态。",
"type": "boolean"
},
"job_id": {
"description": "任务 ID。",
"type": "string"
},
"message": {
"description": "面向用户/AI 的状态说明。",
"type": "string"
},
"next_action": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": true,
"description": "下一步查询工具可直接使用的参数。",
"type": "object"
},
"instruction": {
"description": "给 AI/客户端的查询指令,说明如何继续轮询到终态。",
"type": "string"
},
"job_id": {
"description": "需要继续查询的 job_id。",
"type": "string"
},
"tool_name": {
"description": "下一步建议调用的查询工具。",
"type": "string"
}
},
"required": [
"tool_name",
"job_id",
"arguments",
"instruction"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "非终态时建议的下一步查询动作。"
},
"next_poll_after_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "建议下次查询前等待的秒数;非终态时可用。"
},
"platform": {
"description": "任务所属平台。",
"type": "string"
},
"source_id": {
"description": "任务来源 ID。",
"type": "string"
},
"status": {
"description": "任务状态。",
"enum": [
"queued",
"running",
"succeeded",
"failed",
"expired"
],
"type": "string"
},
"transcript": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"segments": {
"description": "按时间顺序排列的分段结果。",
"items": {
"additionalProperties": false,
"properties": {
"end_ms": {
"description": "分段结束时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"start_ms": {
"description": "分段开始时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"text": {
"description": "分段文本。",
"type": "string"
}
},
"required": [
"start_ms",
"end_ms",
"text"
],
"type": "object"
},
"type": "array"
},
"text": {
"description": "完整口播转文字结果。",
"type": "string"
}
},
"required": [
"text",
"segments"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "成功时的口播转文字结果;非终态或失败时为 null。"
}
},
"required": [
"job_id",
"status",
"is_terminal",
"platform",
"content_id",
"source_id",
"content_type",
"content_meta",
"transcript",
"error",
"next_poll_after_seconds",
"next_action",
"message"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:09c32b57884ef238b5ae5a77bf859dd9aad1b760926b916da99e9826d3997565 | sha256sum