SocialDataX YouTube MCP
YouTube video/channel search, suggestions, details, comments/replies, Shorts, transcripts, paging.
我該用這個嗎
品質與安全性
發現項目(18)
- HIGH
- MEDIUM在 socialdatax_get_points_balance 中
- LOW在 youtube_search_videos 中
- LOW在 youtube_get_video_detail_by_url 中
- LOW在 youtube_get_channel_info_by_url 中
- LOW在 youtube_get_user_posted_videos_by_channel_url 中
- LOW在 youtube_get_video_comments_by_url 中
- LOW在 youtube_submit_video_speech_text_by_url 中
- LOW在 youtube_submit_video_speech_text_by_video_id 中
- LOW在 socialdatax_get_points_balance 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"youtube-insights": {
"url": "https://mcp.socialdatax.com/youtube/mcp"
}
}
}遠端端點
https://mcp.socialdatax.com/youtube/mcpstreamable-http它能做什麼
工具清單
工具(10)
🟢youtube_search_videos(keyword, page_token, sort_type, video_type, publish_time_range, ...)
按搜索词搜索 YouTube 公开视频,只返回视频结果。用户需要按搜索词查找视频时使用;已有视频、Shorts 或 youtu.be 链接时使用视频详情或评论工具;已有频道主页链接时使用频道资料或频道发布视频工具;不支持播放列表链接作为搜索输入;支持筛选和 page_token 翻页。
輸入結構描述
{
"type": "object",
"properties": {
"keyword": {
"description": "YouTube 视频搜索词,可传关键词或短语,例如品牌名、话题、人物名或内容需求;不要传 YouTube 视频链接、Shorts 链接、频道链接、播放列表链接、video_id 或 page_token。",
"type": "string"
},
"page_token": {
"default": "",
"description": "YouTube 搜索分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一关键词、排序和筛选链路;更换关键词、排序、视频类型、发布时间或时长筛选时,请清空 page_token 后从第一页重新搜索。",
"type": "string"
},
"sort_type": {
"default": "general",
"description": "排序方式:general=相关性,time_descending=最新上传,view_count_descending=观看次数最多,rating=评分较高。如无明确排序需求,保持 general。",
"enum": [
"general",
"time_descending",
"view_count_descending",
"rating"
],
"type": "string"
},
"video_type": {
"default": "all",
"description": "视频类型筛选:all=不限类型,video=普通视频,movie=电影。all 会保留视频类搜索结果,输出项用 video_type 标记可明确识别的类型。可明确识别的 Shorts 会标为 short,其余视频结果标为 video。当前不支持 channel、short 或 playlist 作为筛选项;频道信息只作为视频作者信息返回。movie 是筛选条件,返回项使用同一搜索结果字段,并以 video_type=movie 标记。如无明确类型需求,保持 all。",
"enum": [
"all",
"video",
"movie"
],
"type": "string"
},
"publish_time_range": {
"default": "all",
"description": "发布时间筛选:all=不限,last_hour=过去 1 小时,today=今天,this_week=本周,this_month=本月,this_year=今年。如无明确发布时间需求,保持 all。",
"enum": [
"all",
"last_hour",
"today",
"this_week",
"this_month",
"this_year"
],
"type": "string"
},
"duration_range": {
"default": "all",
"description": "视频时长筛选:all=不限,under_4_min=4 分钟以内,between_4_and_20_min=4 到 20 分钟,over_20_min=20 分钟以上。只对视频类搜索结果有意义;如无明确时长需求,保持 all。",
"enum": [
"all",
"under_4_min",
"between_4_and_20_min",
"over_20_min"
],
"type": "string"
}
},
"required": [
"keyword"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"items": {
"description": "当前页 YouTube 搜索结果列表;当前页可能为空,是否可继续翻页以 next_page_token 是否为空为准。",
"items": {
"properties": {
"video_id": {
"description": "YouTube 视频 ID;可作为搜索结果去重和引用的稳定键。",
"type": "string"
},
"video_type": {
"description": "搜索结果类型,不是搜索筛选参数:video=普通视频或未细分的视频结果,short=Shorts 短视频,movie=电影筛选结果;使用 all 搜索时,只有明确识别为 Shorts 的结果会标为 short,其余视频结果标为 video。",
"enum": [
"video",
"short",
"movie"
],
"type": "string"
},
"title": {
"description": "搜索结果标题;不可用时为空字符串。",
"type": "string"
},
"summary": {
"description": "搜索结果摘要;不是全文或转写;不可用时为空字符串。",
"type": "string"
},
"share_url": {
"description": "可打开或分享的 YouTube 视频页面链接;不是视频播放资源链接。",
"type": "string"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "视频封面或缩略图链接;不可用时为 null。"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频时长,单位毫秒;仅在搜索结果时长可确定解析时返回,否则为 null。"
},
"view_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "观看次数;搜索结果可解析时返回数字,不可用时为 null。"
},
"publish_time_text": {
"description": "发布时间原始展示文本,通常是相对时间;不是秒级时间戳;不可用时为空字符串。",
"type": "string"
},
"author": {
"properties": {
"channel_id": {
"description": "YouTube 频道 ID;不可用时为空字符串。",
"type": "string"
},
"name": {
"description": "频道或作者名称;不可用时为空字符串。",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "频道主页链接;不可用时为 null。"
}
},
"required": [
"channel_id",
"name",
"profile_url"
],
"type": "object",
"description": "作者或频道信息。"
}
},
"required": [
"video_id",
"video_type",
"title",
"summary",
"share_url",
"cover_image_url",
"duration_ms",
"view_count",
"publish_time_text",
"author"
],
"type": "object"
},
"type": "array"
},
"next_page_token": {
"description": "下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回;只用于当前 YouTube 搜索续页;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。",
"type": "string"
},
"points": {
"type": "object",
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"cost": {
"type": "integer",
"description": "本次请求最终确认消耗的积分。",
"minimum": 0
},
"balance": {
"type": "integer",
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0
}
},
"required": [
"cost",
"balance"
],
"additionalProperties": false
}
},
"required": [
"items",
"next_page_token",
"points"
]
}🟢youtube_get_video_detail_by_url(video_url)
根据 YouTube 视频链接获取公开视频详情。
輸入結構描述
{
"type": "object",
"properties": {
"video_url": {
"description": "YouTube 视频页面链接;支持 watch、youtu.be 短链和 Shorts 链接。从搜索结果读取详情时,直接传搜索结果里的 share_url(items[*].share_url);不要传频道链接、播放列表链接、搜索页链接或裸 video_id。",
"type": "string"
}
},
"required": [
"video_url"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"video_id": {
"description": "YouTube 视频 ID;用于识别和去重。",
"type": "string"
},
"title": {
"description": "视频标题;不可用时为空字符串。",
"type": "string"
},
"description": {
"description": "视频详情页完整描述文本;不是摘要或视频转写;不可用时为空字符串。",
"type": "string"
},
"share_url": {
"description": "可打开或分享的 YouTube 视频页面链接;不是视频播放资源链接。",
"type": "string"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "视频封面或缩略图链接;不可用时为 null。"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频时长,单位毫秒;不可用时为 null。"
},
"view_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "观看次数;不可用时为 null。"
},
"like_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "点赞数;不可用时为 null。"
},
"comment_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "评论数;不可用时为 null。"
},
"publish_time": {
"description": "发布时间,ISO 8601 时间字符串;不可用时为空字符串。",
"type": "string"
},
"topic_tags": {
"description": "视频关键词或话题标签;无数据时为空数组。",
"items": {
"type": "string"
},
"type": "array"
},
"author": {
"properties": {
"channel_id": {
"description": "YouTube 频道 ID;不可用时为空字符串。",
"type": "string"
},
"name": {
"description": "频道或作者名称;不可用时为空字符串。",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "频道主页链接;不可用时为 null。"
}
},
"required": [
"channel_id",
"name",
"profile_url"
],
"type": "object",
"description": "作者或频道信息。"
},
"points": {
"type": "object",
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"cost": {
"type": "integer",
"description": "本次请求最终确认消耗的积分。",
"minimum": 0
},
"balance": {
"type": "integer",
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0
}
},
"required": [
"cost",
"balance"
],
"additionalProperties": false
}
},
"required": [
"video_id",
"title",
"description",
"share_url",
"cover_image_url",
"duration_ms",
"view_count",
"like_count",
"comment_count",
"publish_time",
"topic_tags",
"author",
"points"
]
}🟢youtube_get_channel_info_by_url(channel_url)
根据 YouTube 频道主页链接获取频道资料。
輸入結構描述
{
"type": "object",
"properties": {
"channel_url": {
"description": "YouTube 频道主页链接;支持 https://www.youtube.com/@用户名、/channel/、/c/ 和 /user/ 链接形态。如果传入频道 tab 子页链接,会规范化到对应的 https://www.youtube.com/... 频道主页。从搜索、详情、评论或评论回复结果读取频道资料时,直接传 author.profile_url;不要传 channel_id、裸 @用户名、频道名称、视频链接、播放列表链接或搜索页链接。",
"type": "string"
}
},
"required": [
"channel_url"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"channel_id": {
"description": "YouTube 频道 ID;用于识别和去重。",
"type": "string"
},
"name": {
"description": "频道名称;不可用时为空字符串。",
"type": "string"
},
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "频道头像链接;不可用时为 null。"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "频道主页链接;不可用时为 null。"
},
"bio": {
"description": "频道简介;不可用时为空字符串。",
"type": "string"
},
"follower_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "订阅者数量;可能为近似值;不可用时为 null。"
},
"posted_video_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "频道视频数量;不可用时为 null。"
},
"view_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "频道累计观看次数;不可用时为 null。"
},
"verified": {
"description": "频道是否有认证标识。",
"type": "boolean"
},
"country": {
"description": "频道公开国家或地区;不可用时为空字符串。",
"type": "string"
},
"banner_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "频道横幅图链接;不可用时为 null。"
},
"external_links": {
"description": "频道主页外链列表;无外链时为空数组。",
"items": {
"properties": {
"title": {
"description": "频道主页外链标题;不可用时为空字符串。",
"type": "string"
},
"url": {
"description": "可打开的频道主页外链。",
"type": "string"
}
},
"required": [
"title",
"url"
],
"type": "object"
},
"type": "array"
},
"points": {
"type": "object",
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"cost": {
"type": "integer",
"description": "本次请求最终确认消耗的积分。",
"minimum": 0
},
"balance": {
"type": "integer",
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0
}
},
"required": [
"cost",
"balance"
],
"additionalProperties": false
}
},
"required": [
"channel_id",
"name",
"avatar_url",
"profile_url",
"bio",
"follower_count",
"posted_video_count",
"view_count",
"verified",
"country",
"banner_url",
"external_links",
"points"
]
}🟢youtube_get_user_posted_videos_by_channel_url(channel_url, page_token, video_type)
根据 YouTube 频道主页链接获取频道发布视频或 Shorts 列表。
輸入結構描述
{
"type": "object",
"properties": {
"channel_url": {
"description": "YouTube 频道主页链接;支持 https://www.youtube.com/@用户名、/channel/、/c/ 和 /user/ 链接形态。如果传入频道 tab 子页链接,会规范化到对应的 https://www.youtube.com/... 频道主页。从搜索、详情、评论、评论回复或频道资料结果读取作者发布视频或 Shorts 时,直接传 author.profile_url 或 profile_url;不要传 channel_id、裸 @用户名、频道名称、视频链接、播放列表链接或搜索页链接。",
"type": "string"
},
"page_token": {
"default": "",
"description": "YouTube 频道发布列表分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一频道、同一 video_type 的视频续页;更换频道或 video_type 时,请清空 page_token 后从第一页重新读取。",
"type": "string"
},
"video_type": {
"default": "video",
"description": "频道发布视频类型:video=频道“视频”tab,short=频道 Shorts tab。默认 video。当前不支持 live、course 或 playlist。更换 video_type 时,请清空 page_token 后从第一页重新读取。",
"enum": [
"video",
"short"
],
"type": "string"
}
},
"required": [
"channel_url"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"items": {
"description": "当前页 YouTube 频道发布视频或 Shorts 列表;当前页可能为空,是否可继续翻页以 next_page_token 是否为空为准。",
"items": {
"properties": {
"video_id": {
"description": "YouTube 视频 ID;用于识别和去重。",
"type": "string"
},
"title": {
"description": "视频标题;不可用时为空字符串。",
"type": "string"
},
"summary": {
"description": "频道视频列表卡片摘要;不是全文或转写;不可用时为空字符串。",
"type": "string"
},
"share_url": {
"description": "可打开或分享的 YouTube 视频页面链接;不是视频播放资源链接。",
"type": "string"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "视频封面或缩略图链接;不可用时为 null。"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "视频时长,单位毫秒;不可用时为 null。"
},
"view_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "观看次数;不可用时为 null。"
},
"publish_time_text": {
"description": "发布时间原始展示文本,通常是相对时间;不是秒级时间戳;不可用时为空字符串。",
"type": "string"
},
"author": {
"properties": {
"channel_id": {
"description": "YouTube 频道 ID;不可用时为空字符串。",
"type": "string"
},
"name": {
"description": "频道或作者名称;不可用时为空字符串。",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "频道主页链接;不可用时为 null。"
}
},
"required": [
"channel_id",
"name",
"profile_url"
],
"type": "object",
"description": "作者或频道信息。"
}
},
"required": [
"video_id",
"title",
"summary",
"share_url",
"cover_image_url",
"duration_ms",
"view_count",
"publish_time_text",
"author"
],
"type": "object"
},
"type": "array"
},
"next_page_token": {
"description": "下一页频道发布列表不透明分页令牌;为空表示没有更多视频。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回;只用于同一频道、同一 video_type 的视频续页;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。",
"type": "string"
},
"points": {
"type": "object",
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"cost": {
"type": "integer",
"description": "本次请求最终确认消耗的积分。",
"minimum": 0
},
"balance": {
"type": "integer",
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0
}
},
"required": [
"cost",
"balance"
],
"additionalProperties": false
}
},
"required": [
"items",
"next_page_token",
"points"
]
}🟢youtube_get_video_comments_by_url(video_url, page_token, sort_type)
根据 YouTube 视频链接获取公开视频一级评论。
輸入結構描述
{
"type": "object",
"properties": {
"video_url": {
"description": "YouTube 视频页面链接;支持 watch、youtu.be 短链和 Shorts 链接。从搜索结果读取评论时,直接传搜索结果里的 share_url(items[*].share_url);不要传频道链接、播放列表链接、搜索页链接或裸 video_id。",
"type": "string"
},
"page_token": {
"default": "",
"description": "YouTube 视频评论分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一视频和同一 sort_type 的评论续页;更换视频或 sort_type 时,请清空 page_token 后从第一页重新读取评论。",
"type": "string"
},
"sort_type": {
"default": "hot",
"description": "评论排序方式:hot=热门评论,time_descending=较新评论优先。YouTube 可能保留作者评论或置顶评论在当前页前部;如无明确排序需求,保持 hot。",
"enum": [
"hot",
"time_descending"
],
"type": "string"
}
},
"required": [
"video_url"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"items": {
"description": "当前页 YouTube 视频一级评论列表;当前页可能为空,是否可继续翻页以 next_page_token 是否为空为准。",
"items": {
"properties": {
"comment_id": {
"description": "YouTube 一级评论 ID;用于识别评论,不要当作视频 ID 使用。",
"type": "string"
},
"content": {
"description": "评论正文;不可用时为空字符串。",
"type": "string"
},
"publish_time_text": {
"description": "评论发布时间原始展示文本,通常是相对时间;不是秒级时间戳;不可用时为空字符串。",
"type": "string"
},
"like_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "评论点赞数;可解析时返回数字,不可用时为 null。"
},
"reply_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "该一级评论下的回复数;可解析时返回数字,不可用时为 null。"
},
"is_author_comment": {
"description": "是否为视频作者发布的一级评论。",
"type": "boolean"
},
"reply_token": {
"description": "读取该评论回复所需的不透明令牌;为空表示当前未提供评论回复入口。它不是评论回复列表的翻页 token;读取回复时传给 youtube_get_video_comment_replies,不要修改、截断或自行生成。",
"type": "string"
},
"author": {
"properties": {
"channel_id": {
"description": "评论作者 YouTube 频道 ID;不可用时为空字符串。",
"type": "string"
},
"name": {
"description": "评论作者展示名称;不可用时为空字符串。",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "评论作者频道主页链接;不可用时为 null。"
},
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "评论作者头像链接;不可用时为 null。"
},
"verified": {
"description": "评论作者是否有认证标识。",
"type": "boolean"
}
},
"required": [
"channel_id",
"name",
"profile_url",
"avatar_url",
"verified"
],
"type": "object",
"description": "评论作者信息。"
}
},
"required": [
"comment_id",
"content",
"publish_time_text",
"like_count",
"reply_count",
"is_author_comment",
"reply_token",
"author"
],
"type": "object"
},
"type": "array"
},
"comment_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "评论总数;不是当前页 items 数量;不可用时为 null。"
},
"next_page_token": {
"description": "下一页评论不透明分页令牌;为空表示没有更多评论。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回;只用于当前 YouTube 视频和同一 sort_type 的评论续页;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。",
"type": "string"
},
"points": {
"type": "object",
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"cost": {
"type": "integer",
"description": "本次请求最终确认消耗的积分。",
"minimum": 0
},
"balance": {
"type": "integer",
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0
}
},
"required": [
"cost",
"balance"
],
"additionalProperties": false
}
},
"required": [
"items",
"comment_count",
"next_page_token",
"points"
]
}🟢youtube_get_video_comment_replies(reply_token, page_token)
根据 reply_token 获取 YouTube 评论回复;用户已提供有效 reply_token 时直接使用;已有 YouTube 视频链接但缺少 reply_token 时,调用 youtube_get_video_comments_by_url 获取一级评论;缺少视频定位信息时向用户索取;不要传一级评论或回复项的 comment_id;支持 page_token 翻页。
輸入結構描述
{
"type": "object",
"properties": {
"reply_token": {
"description": "读取某条 YouTube 视频一级评论回复所需的不透明令牌;用户已提供时直接原样使用;否则从 youtube_get_video_comments_by_url 返回的 items[*].reply_token 原样复制。只有有效且非空的 reply_token 才调用本工具;不要传 comment_id、video_url、video_id、频道链接、播放列表链接或搜索页链接。",
"type": "string"
},
"page_token": {
"default": "",
"description": "YouTube 评论回复分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一 reply_token 对应的评论回复续页;更换 reply_token 时,请清空 page_token 后从第一页重新读取评论回复。继续翻页时,reply_token 仍传同一条一级评论的原始 reply_token,同时把上一页返回的完整 next_page_token 原样作为 page_token 传回。",
"type": "string"
}
},
"required": [
"reply_token"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"items": {
"description": "当前页 YouTube 评论回复列表;当前页可能为空,是否可继续翻页以 next_page_token 是否为空为准。",
"items": {
"properties": {
"comment_id": {
"description": "YouTube 评论回复 ID;用于识别回复,不要当作视频 ID 或一级评论入口使用。",
"type": "string"
},
"content": {
"description": "回复正文;不可用时为空字符串。",
"type": "string"
},
"publish_time_text": {
"description": "回复发布时间原始展示文本,通常是相对时间;不是秒级时间戳;不可用时为空字符串。",
"type": "string"
},
"like_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "回复点赞数;可解析时返回数字,不可用时为 null。"
},
"is_author_comment": {
"description": "是否为视频作者发布的评论回复。",
"type": "boolean"
},
"author": {
"properties": {
"channel_id": {
"description": "评论作者 YouTube 频道 ID;不可用时为空字符串。",
"type": "string"
},
"name": {
"description": "评论作者展示名称;不可用时为空字符串。",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "评论作者频道主页链接;不可用时为 null。"
},
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "评论作者头像链接;不可用时为 null。"
},
"verified": {
"description": "评论作者是否有认证标识。",
"type": "boolean"
}
},
"required": [
"channel_id",
"name",
"profile_url",
"avatar_url",
"verified"
],
"type": "object",
"description": "回复作者信息。"
}
},
"required": [
"comment_id",
"content",
"publish_time_text",
"like_count",
"is_author_comment",
"author"
],
"type": "object"
},
"type": "array"
},
"next_page_token": {
"description": "下一页评论回复不透明分页令牌;为空表示没有更多评论回复。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回;只用于同一 reply_token 对应的评论回复续页;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。",
"type": "string"
},
"points": {
"type": "object",
"description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
"properties": {
"cost": {
"type": "integer",
"description": "本次请求最终确认消耗的积分。",
"minimum": 0
},
"balance": {
"type": "integer",
"description": "本次接口完成时看到的当前积分余额。",
"minimum": 0
}
},
"required": [
"cost",
"balance"
],
"additionalProperties": false
}
},
"required": [
"items",
"next_page_token",
"points"
]
}🟡youtube_submit_video_speech_text_by_url(video_url)
提交 YouTube 视频口播转文字任务;提交后最多等待 240 秒,未完成时返回 job_id 和下一步查询动作。
輸入結構描述
{
"type": "object",
"properties": {
"video_url": {
"description": "YouTube 视频页面链接;支持 watch、youtu.be 短链和 Shorts 链接。从搜索结果提交口播转文字任务时,直接传搜索结果里的 share_url(items[*].share_url);不要传频道链接、播放列表链接、搜索页链接或裸 video_id。",
"type": "string"
}
},
"required": [
"video_url"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"job_id": {
"description": "任务 ID。",
"type": "string"
},
"status": {
"description": "任务状态。",
"enum": [
"queued",
"running",
"succeeded",
"failed",
"expired"
],
"type": "string"
},
"is_terminal": {
"description": "是否已终态。",
"type": "boolean"
},
"platform": {
"description": "任务所属平台。",
"type": "string"
},
"content_id": {
"description": "平台内容 ID。",
"type": "string"
},
"source_id": {
"description": "任务来源 ID。",
"type": "string"
},
"content_type": {
"description": "内容类型。",
"type": "string"
},
"content_meta": {
"additionalProperties": false,
"properties": {
"content_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品链接。"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品标题;平台无标题时为 null。"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "平台作品原始描述、正文或配文。"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "音视频时长,单位毫秒。"
},
"author": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"user_id": {
"description": "作者用户 ID。",
"type": "string"
},
"name": {
"description": "作者昵称。",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者主页链接。"
},
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者头像链接。"
}
},
"required": [
"user_id",
"name",
"profile_url",
"avatar_url"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "作者信息。"
}
},
"required": [
"content_url",
"title",
"description",
"duration_ms",
"author"
],
"type": "object",
"description": "作品上下文信息,便于结合转写内容做口播分析。"
},
"transcript": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"text": {
"description": "完整口播转文字结果。",
"type": "string"
},
"segments": {
"description": "按时间顺序排列的分段结果。",
"items": {
"additionalProperties": false,
"properties": {
"start_ms": {
"description": "分段开始时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"end_ms": {
"description": "分段结束时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"text": {
"description": "分段文本。",
"type": "string"
}
},
"required": [
"start_ms",
"end_ms",
"text"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"text",
"segments"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "成功时的口播转文字结果;非终态或失败时为 null。"
},
"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。"
},
"next_poll_after_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "建议下次查询前等待的秒数;非终态时可用。"
},
"next_action": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"tool_name": {
"description": "下一步建议调用的查询工具。",
"type": "string"
},
"job_id": {
"description": "需要继续查询的 job_id。",
"type": "string"
},
"arguments": {
"additionalProperties": true,
"description": "下一步查询工具可直接使用的参数。",
"type": "object"
},
"instruction": {
"description": "给 AI/客户端的查询指令,说明如何继续轮询到终态。",
"type": "string"
}
},
"required": [
"tool_name",
"job_id",
"arguments",
"instruction"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "非终态时建议的下一步查询动作。"
},
"message": {
"description": "面向用户/AI 的状态说明。",
"type": "string"
}
},
"required": [
"job_id",
"status",
"is_terminal",
"platform",
"content_id",
"source_id",
"content_type",
"content_meta",
"transcript",
"error",
"next_poll_after_seconds",
"next_action",
"message"
],
"additionalProperties": false
}🟡youtube_submit_video_speech_text_by_video_id(video_id)
根据 YouTube video_id 提交口播转文字任务;提交后最多等待 240 秒,未完成时返回 job_id 和下一步查询动作。
輸入結構描述
{
"type": "object",
"properties": {
"video_id": {
"description": "YouTube 视频 ID,必须是 11 位字符串;可直接使用搜索结果 items[*].video_id。不要传视频链接、频道链接、播放列表链接或搜索页链接。",
"type": "string"
}
},
"required": [
"video_id"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"job_id": {
"description": "任务 ID。",
"type": "string"
},
"status": {
"description": "任务状态。",
"enum": [
"queued",
"running",
"succeeded",
"failed",
"expired"
],
"type": "string"
},
"is_terminal": {
"description": "是否已终态。",
"type": "boolean"
},
"platform": {
"description": "任务所属平台。",
"type": "string"
},
"content_id": {
"description": "平台内容 ID。",
"type": "string"
},
"source_id": {
"description": "任务来源 ID。",
"type": "string"
},
"content_type": {
"description": "内容类型。",
"type": "string"
},
"content_meta": {
"additionalProperties": false,
"properties": {
"content_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品链接。"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品标题;平台无标题时为 null。"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "平台作品原始描述、正文或配文。"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "音视频时长,单位毫秒。"
},
"author": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"user_id": {
"description": "作者用户 ID。",
"type": "string"
},
"name": {
"description": "作者昵称。",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者主页链接。"
},
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者头像链接。"
}
},
"required": [
"user_id",
"name",
"profile_url",
"avatar_url"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "作者信息。"
}
},
"required": [
"content_url",
"title",
"description",
"duration_ms",
"author"
],
"type": "object",
"description": "作品上下文信息,便于结合转写内容做口播分析。"
},
"transcript": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"text": {
"description": "完整口播转文字结果。",
"type": "string"
},
"segments": {
"description": "按时间顺序排列的分段结果。",
"items": {
"additionalProperties": false,
"properties": {
"start_ms": {
"description": "分段开始时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"end_ms": {
"description": "分段结束时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"text": {
"description": "分段文本。",
"type": "string"
}
},
"required": [
"start_ms",
"end_ms",
"text"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"text",
"segments"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "成功时的口播转文字结果;非终态或失败时为 null。"
},
"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。"
},
"next_poll_after_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "建议下次查询前等待的秒数;非终态时可用。"
},
"next_action": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"tool_name": {
"description": "下一步建议调用的查询工具。",
"type": "string"
},
"job_id": {
"description": "需要继续查询的 job_id。",
"type": "string"
},
"arguments": {
"additionalProperties": true,
"description": "下一步查询工具可直接使用的参数。",
"type": "object"
},
"instruction": {
"description": "给 AI/客户端的查询指令,说明如何继续轮询到终态。",
"type": "string"
}
},
"required": [
"tool_name",
"job_id",
"arguments",
"instruction"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "非终态时建议的下一步查询动作。"
},
"message": {
"description": "面向用户/AI 的状态说明。",
"type": "string"
}
},
"required": [
"job_id",
"status",
"is_terminal",
"platform",
"content_id",
"source_id",
"content_type",
"content_meta",
"transcript",
"error",
"next_poll_after_seconds",
"next_action",
"message"
],
"additionalProperties": false
}🟢youtube_get_video_speech_text_job(job_id)
根据用户提供的有效 job_id,或 submit 工具返回的 job_id 查询 YouTube 视频口播转文字任务状态;每次最多等待 240 秒,不触发重处理,也不要重复提交任务。
輸入結構描述
{
"type": "object",
"properties": {
"job_id": {
"description": "口播转文字任务 ID;用户已提供时直接使用,否则使用 YouTube submit 工具返回的 job_id;不要传 video_id 或视频链接。",
"type": "string"
}
},
"required": [
"job_id"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"job_id": {
"description": "任务 ID。",
"type": "string"
},
"status": {
"description": "任务状态。",
"enum": [
"queued",
"running",
"succeeded",
"failed",
"expired"
],
"type": "string"
},
"is_terminal": {
"description": "是否已终态。",
"type": "boolean"
},
"platform": {
"description": "任务所属平台。",
"type": "string"
},
"content_id": {
"description": "平台内容 ID。",
"type": "string"
},
"source_id": {
"description": "任务来源 ID。",
"type": "string"
},
"content_type": {
"description": "内容类型。",
"type": "string"
},
"content_meta": {
"additionalProperties": false,
"properties": {
"content_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品链接。"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作品标题;平台无标题时为 null。"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "平台作品原始描述、正文或配文。"
},
"duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "音视频时长,单位毫秒。"
},
"author": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"user_id": {
"description": "作者用户 ID。",
"type": "string"
},
"name": {
"description": "作者昵称。",
"type": "string"
},
"profile_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者主页链接。"
},
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "作者头像链接。"
}
},
"required": [
"user_id",
"name",
"profile_url",
"avatar_url"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "作者信息。"
}
},
"required": [
"content_url",
"title",
"description",
"duration_ms",
"author"
],
"type": "object",
"description": "作品上下文信息,便于结合转写内容做口播分析。"
},
"transcript": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"text": {
"description": "完整口播转文字结果。",
"type": "string"
},
"segments": {
"description": "按时间顺序排列的分段结果。",
"items": {
"additionalProperties": false,
"properties": {
"start_ms": {
"description": "分段开始时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"end_ms": {
"description": "分段结束时间,单位毫秒。",
"minimum": 0,
"type": "integer"
},
"text": {
"description": "分段文本。",
"type": "string"
}
},
"required": [
"start_ms",
"end_ms",
"text"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"text",
"segments"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "成功时的口播转文字结果;非终态或失败时为 null。"
},
"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。"
},
"next_poll_after_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "建议下次查询前等待的秒数;非终态时可用。"
},
"next_action": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"tool_name": {
"description": "下一步建议调用的查询工具。",
"type": "string"
},
"job_id": {
"description": "需要继续查询的 job_id。",
"type": "string"
},
"arguments": {
"additionalProperties": true,
"description": "下一步查询工具可直接使用的参数。",
"type": "object"
},
"instruction": {
"description": "给 AI/客户端的查询指令,说明如何继续轮询到终态。",
"type": "string"
}
},
"required": [
"tool_name",
"job_id",
"arguments",
"instruction"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "非终态时建议的下一步查询动作。"
},
"message": {
"description": "面向用户/AI 的状态说明。",
"type": "string"
}
},
"required": [
"job_id",
"status",
"is_terminal",
"platform",
"content_id",
"source_id",
"content_type",
"content_meta",
"transcript",
"error",
"next_poll_after_seconds",
"next_action",
"message"
],
"additionalProperties": false
}🟢socialdatax_get_points_balance
查询当前 API Key 账户的 SocialDataX 积分余额、剩余积分或点数 / remaining points balance。需要充值时请访问 https://socialdatax.com/dashboard/billing。
輸入結構描述
{
"type": "object",
"properties": {},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"additionalProperties": {
"type": "integer"
}
}建議的提示詞
youtube_get_video_detail_by_urlyoutube_search_videosyoutube_get_video_detail_by_urlyoutube_search_videosyoutube_search_videosyoutube_get_video_detail_by_url社群
證據