Skip to main content
Glama

SocialDataX 抖音 Douyin MCP

Server Details

Douyin hot search, work/user search, work details, comments/replies, profiles, series, transcript.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

TDQS

A4/5.0

Scored across 20 tools

Disambiguation5/5

Each tool targets a distinct resource and action, with identifier variants (sec_user_id, profile_url, aweme_id, comment_id) clearly separated. Search, user info, video detail, comments, series, and speech-text tools do not overlap in purpose.

Naming Consistency4/5

Tool names uniformly follow a douyin_<verb>_<resource>_by_<identifier> pattern, with douyin_search_* and douyin_submit_* as clear exceptions that still read predictably. The socialdatax_get_points_balance tool breaks the prefix convention, but the verb_noun structure remains consistent.

Tool Count4/5

20 tools is on the higher end, but the count is justified by multiple equivalent lookup entry points and an asynchronous speech-to-text workflow. The set feels slightly large rather than bloated, and each tool has a defensible role.

Completeness4/5

The surface covers hot search, user profiles, user videos, series, video details, comments, replies, search, and speech-to-text with sensible task pairing. Minor gaps exist such as no follower/following endpoints and no pagination on hot search, but core data access workflows are complete.

Available Tools

22 tools
douyin_get_hot_search_listA
Read-only
Inspect

获取抖音主热榜;当前不支持翻页。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
hot_itemsYes抖音主热榜条目

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true (read-only) and openWorldHint=true (open-world result set). The description adds beyond this by stating pagination is not supported and it retrieves the 'main' list, suggesting possible sub-lists or limitations. This is valuable behavioral context not present in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with zero wasted words. The primary purpose is front-loaded, and the pagination limitation is succinctly stated. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no parameters and an output schema, the description is complete. It states the exact action and the only important behavioral constraint (no pagination). Since an output schema exists, no return value explanation is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the description cannot add meaning beyond the schema. Schema coverage is 100% (empty object). Per guidelines, baseline is 4 for no parameters, and the description does not need to provide additional param info. It is adequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves the Douyin main hot search list, using specific verb and resource. The name and description align perfectly, and it is distinct from all sibling tools which deal with user info, videos, or search, making selection unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives is provided. However, the tool is the only one for hot search lists among siblings, and with no parameters, usage is straightforward. Implied usage is clear but lacks explicit when/when-not context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_product_detail_by_product_idA
Read-only
Inspect

根据 product_id 读取抖音商品详情;已有完整商品 ID(包括用户直接提供)时直接使用,无需先搜索;否则可从 douyin_search_products 获取。只有商品链接或分享文案时使用 douyin_get_product_detail_by_url。

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYes抖音商品 ID;用户已提供完整 ID 时原样使用,无需先搜索;否则可从 douyin_search_products 返回的 items[*].product_id 原样复制;不要传 sku_id、商品链接或搜索词。

Output Schema

ParametersJSON Schema
NameRequiredDescription
priceYes商品起售价,单位:元;不是指定 SKU 的价格,也不保证是最终实付价
titleYes商品标题
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
on_saleYes商品当前是否在售;不等同于指定 SKU 有库存或当前用户可购买
shop_idYes店铺 ID
shippingYes发货信息;不包含发货地
shop_nameYes店铺名称
assurancesYes商品保障服务列表;空列表表示当前未返回保障信息,不代表商品没有保障服务
product_idYes商品 ID;可直接使用商品搜索结果中的 product_id
sales_textYes平台展示的商品销量文本;没有时为空字符串;带“+”的数量表示下限,不是精确销量
sold_countYes从销量文本解析的已售数量;不带“+”的万级展示数量换算为整数(如已售 1.5万返回 15000),不代表精确销量,须结合 sales_text 解读;缺失或无法解析时为 null,不代表零销量;0 表示明确已售 0
main_imagesYes商品顶部主图/轮播图列表;空列表表示当前未返回对应图片
detail_imagesYes商品详情图列表;空列表表示当前未返回对应图片
discount_priceYes优惠后起售价,单位:元;不限定为券后价,也不保证是最终实付价;没有单独优惠价时与 price 相同
variant_groupsYes可选商品规格组(name/options),不是商品属性参数或已选 SKU;空列表表示当前未返回规格信息,不代表商品只有一种规格
shop_avatar_urlYes店铺头像链接

TDQS

A4.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is consistent with the readOnlyHint annotation and adds some context about not needing to search first, but does not disclose additional behavioral traits such as rate limits or error conditions. The annotation already covers read-only safety, so this is adequate but not exceptional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the main purpose, and every additional sentence provides actionable guidance without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description sufficiently covers input requirements and decision logic, making it complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameter description is highly detailed: it specifies that a full product ID should be used as-is, can be copied from search results, and explicitly excludes sku_id, links, and search terms. This goes well beyond the basic schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (读取/read) and the resource (抖音商品详情/product details), and distinguishes it from the URL-based alternative by explicitly telling when to use each.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use instructions: use directly when a full product ID is available, fall back to search_products if not, and use the by_url variant for links or share text. This fully eliminates ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_product_detail_by_urlA
Read-only
Inspect

根据抖音商品链接或分享文案读取商品详情;只有链接类输入时使用此入口。

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes抖音商品短链接、商品页面链接或包含商品链接的分享文案;不要传 product_id、sku_id 或搜索词。

Output Schema

ParametersJSON Schema
NameRequiredDescription
priceYes商品起售价,单位:元;不是指定 SKU 的价格,也不保证是最终实付价
titleYes商品标题
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
on_saleYes商品当前是否在售;不等同于指定 SKU 有库存或当前用户可购买
shop_idYes店铺 ID
shippingYes发货信息;不包含发货地
shop_nameYes店铺名称
assurancesYes商品保障服务列表;空列表表示当前未返回保障信息,不代表商品没有保障服务
product_idYes商品 ID;可直接使用商品搜索结果中的 product_id
sales_textYes平台展示的商品销量文本;没有时为空字符串;带“+”的数量表示下限,不是精确销量
sold_countYes从销量文本解析的已售数量;不带“+”的万级展示数量换算为整数(如已售 1.5万返回 15000),不代表精确销量,须结合 sales_text 解读;缺失或无法解析时为 null,不代表零销量;0 表示明确已售 0
main_imagesYes商品顶部主图/轮播图列表;空列表表示当前未返回对应图片
detail_imagesYes商品详情图列表;空列表表示当前未返回对应图片
discount_priceYes优惠后起售价,单位:元;不限定为券后价,也不保证是最终实付价;没有单独优惠价时与 price 相同
variant_groupsYes可选商品规格组(name/options),不是商品属性参数或已选 SKU;空列表表示当前未返回规格信息,不代表商品只有一种规格
shop_avatar_urlYes店铺头像链接

TDQS

A4.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states the tool reads product details, consistent with the readOnlyHint annotation. However, it does not add additional behavioral context such as side effects, rate limits, or error conditions beyond what the annotation already implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a single clear sentence conveying the purpose and usage condition. The parameter description adds essential detail without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with a single parameter, and the description fully covers its purpose and input constraints. Given the presence of an output schema, no further explanation of return values is necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameter description is highly informative, detailing the accepted URL types (short link, product page link, or shared copy containing the link) and explicitly excluding product_id, sku_id, and search terms. This goes far beyond the basic schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool reads product details based on a Douyin product link or shared copy. It also distinguishes itself from other tools by specifying this entry is for link-type inputs only, which clearly differentiates it from the product_id variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description and parameter description provide explicit when-to-use guidance: use this tool only when the input is a link, and avoid passing product_id, sku_id, or search terms. This clearly routes the agent to the correct tool among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_user_info_by_douyin_idA
Read-only
Inspect

根据用户主页展示的抖音号 douyin_id 获取用户资料。

ParametersJSON Schema
NameRequiredDescriptionDefault
douyin_idYes用户主页展示的公开抖音号 douyin_id;不要传昵称、搜索关键词、sec_user_id、用户主页链接或作品链接

Output Schema

ParametersJSON Schema
NameRequiredDescription
bioYes用户简介;当前不可用时为空字符串
nameYes用户昵称
genderYes性别:male 表示男,female 表示女,unknown 表示未知
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
user_idYes用户 user_id;当前不可用时为空字符串
verifiedYes用户是否为认证账号
douyin_idYes用户主页展示的抖音号;当前不可用时为空字符串
live_infoYes用户直播状态摘要;用户当前未直播时为 null
avatar_urlYes用户头像链接;当前不可用时为 null
ip_locationYesIP 属地;当前不可用时为空字符串
profile_urlYes用户主页链接;当前不可用时为 null
sec_user_idYes用户 sec_user_id;当前不可用时为空字符串
follower_countYes粉丝数;当前不可用时为 null
following_countYes关注数;当前不可用时为 null
verification_labelYes用户认证文案;当前不可用时为空字符串
received_like_countYes用户内容累计收到的点赞数;当前不可用时为 null
posted_content_countYes用户已发布作品数量,包含视频、图文等作品;当前不可用时为 null

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds the detail that the ID is the publicly displayed homepage douyin_id, but discloses no further behavioral traits such as rate limits or response characteristics, which is acceptable but not enriching.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It captures both the required input and the resource returned, though it is minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup with one required parameter, a thorough schema description, an output schema, and read-only/open-world annotations, the definition is largely complete. It does not explicitly mention the alternative sibling tools, but the agent can infer correct usage from the identifier constraint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the parameter description already explains the meaning of douyin_id and what not to pass. The tool description restates essentially the same information without adding new semantic detail, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the operation: retrieve user profile data using the homepage-displayed douyin_id. It identifies the exact identifier type, which helps distinguish it from sec_user_id/profile_url sibling tools, though it does not explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use this tool when you have the public douyin_id shown on the user's homepage. However, it does not explicitly state when to prefer this over its sec_user_id or profile_url siblings, leaving the selection guidance mostly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_user_info_by_profile_urlA
Read-only
Inspect

根据抖音主页长链接、短链接或分享文案获取用户资料。

ParametersJSON Schema
NameRequiredDescriptionDefault
profile_urlYes抖音用户主页链接、用户短链接或用户分享文案;不要传作品链接。已知 sec_user_id 时优先使用 ID 入口

Output Schema

ParametersJSON Schema
NameRequiredDescription
bioYes用户简介;当前不可用时为空字符串
nameYes用户昵称
genderYes性别:male 表示男,female 表示女,unknown 表示未知
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
user_idYes用户 user_id;当前不可用时为空字符串
verifiedYes用户是否为认证账号
douyin_idYes用户主页展示的抖音号;当前不可用时为空字符串
live_infoYes用户直播状态摘要;用户当前未直播时为 null
avatar_urlYes用户头像链接;当前不可用时为 null
ip_locationYesIP 属地;当前不可用时为空字符串
profile_urlYes用户主页链接;当前不可用时为 null
sec_user_idYes用户 sec_user_id;当前不可用时为空字符串
follower_countYes粉丝数;当前不可用时为 null
following_countYes关注数;当前不可用时为 null
verification_labelYes用户认证文案;当前不可用时为空字符串
received_like_countYes用户内容累计收到的点赞数;当前不可用时为 null
posted_content_countYes用户已发布作品数量,包含视频、图文等作品;当前不可用时为 null

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and openWorldHint=true, so the read-only and externally-changing data aspects are covered. The description adds input-format context but does not disclose further behavior such as error handling, rate limits, or result volatility; it does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The main description is one short, front-loaded sentence that names the action and accepted input forms with no filler or repetition. Every part contributes directly to understanding what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one required parameter, has a full output schema, and the parameter description covers the important exclusions and routing guidance. Combined with the read-only and open-world annotations, nothing essential is missing for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the profile_url parameter description already fully documents allowed input types, the prohibition on video links, and the preference for ID-based entry. The main description repeats essentially the same input information without adding meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('获取') and resource ('用户资料'), and precisely scopes the input to '主页长链接、短链接或分享文案'. This distinguishes it from the ID-based sibling tools and the video/series tools because it is clearly about fetching profile data from URL or share-text forms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parameter description explicitly states when not to use this tool ('不要传作品链接') and gives a routing preference ('已知 sec_user_id 时优先使用 ID 入口'), which tells the agent to prefer the sec_user_id-based sibling when appropriate. The main description also makes clear that this tool is for profile URLs or share text, so the when-to-use condition is explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_user_info_by_sec_user_idA
Read-only
Inspect

根据抖音用户 sec_user_id 获取用户资料;已知 sec_user_id 时优先使用此入口。

ParametersJSON Schema
NameRequiredDescriptionDefault
sec_user_idYes抖音用户 sec_user_id,不透明标识;请传实际字段值,可从结果中的 sec_user_id 或 author.sec_user_id 复用;不要传公开抖音号 douyin_id、字段名或占位文本;只有主页链接时使用 profile_url 入口

Output Schema

ParametersJSON Schema
NameRequiredDescription
bioYes用户简介;当前不可用时为空字符串
nameYes用户昵称
genderYes性别:male 表示男,female 表示女,unknown 表示未知
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
user_idYes用户 user_id;当前不可用时为空字符串
verifiedYes用户是否为认证账号
douyin_idYes用户主页展示的抖音号;当前不可用时为空字符串
live_infoYes用户直播状态摘要;用户当前未直播时为 null
avatar_urlYes用户头像链接;当前不可用时为 null
ip_locationYesIP 属地;当前不可用时为空字符串
profile_urlYes用户主页链接;当前不可用时为 null
sec_user_idYes用户 sec_user_id;当前不可用时为空字符串
follower_countYes粉丝数;当前不可用时为 null
following_countYes关注数;当前不可用时为 null
verification_labelYes用户认证文案;当前不可用时为空字符串
received_like_countYes用户内容累计收到的点赞数;当前不可用时为 null
posted_content_countYes用户已发布作品数量,包含视频、图文等作品;当前不可用时为 null

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is consistent with readOnlyHint and openWorldHint and describes a read-only lookup operation. It adds no behavioral context beyond the annotations, such as permission requirements, rate limits, failure modes, or data freshness, but for a simple one-parameter read-only tool the annotations already carry most of the safety burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence that front-loads the core action first and the selection preference second. There is no filler, redundancy, or repetition of structured schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup with one required parameter and a rich parameter description, the definition is complete. The output schema is present, annotations cover behavior, and the selection guidance tells an agent exactly when to choose this tool, so nothing needed for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The tool-level description merely restates that sec_user_id is the input and adds no meaning beyond the schema; the rich guidance about opaque identifiers and which values to avoid lives in the parameter description itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: fetching Douyin user profile data based on sec_user_id. It also indicates this entry is preferred when sec_user_id is known, clearly distinguishing it from sibling tools that use douyin_id or profile_url as the lookup key.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit selection condition: use this tool when sec_user_id is known. The parameter description reinforces exclusions by warning not to pass douyin_id, field names, placeholders, and by routing profile-link cases to the profile_url entry. It does not explicitly name the by_douyin_id sibling as the fallback, so it stops short of a perfect 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_user_posted_videos_by_profile_urlA
Read-only
Inspect

根据抖音主页长链接、短链接或分享文案获取用户发布的作品列表,支持 page_token 翻页。

ParametersJSON Schema
NameRequiredDescriptionDefault
page_tokenNopage_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一用户作品分页链路的下一页,不能跨能力或用户复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
profile_urlYes抖音用户主页链接、用户短链接或用户分享文案;不要传作品链接。已知 sec_user_id 时优先使用 ID 入口

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes当前页作品列表
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the read-only nature is covered; the description adds that pagination is supported but does not disclose rate limits, auth needs, or whether the returned list is limited to public data. This is adequate for a read-only list tool but not particularly rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence conveys the core purpose, accepted input types, and pagination capability without filler. The information is front-loaded and every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The definition is complete for this complexity level: the detailed input schema handles page_token invariants, an output schema exists, readOnly/openWorld annotations cover behavioral expectations, and sibling names make the alternatives clear. No critical call-information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both profile_url and page_token thoroughly, including the opaque-token reuse constraints. The main description only restates the supported input forms and pagination concept, adding no meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('获取'), a specific resource ('用户发布的作品列表'), and the accepted input forms (profile long/short links or share text). This clearly distinguishes it from sibling info, series, comment, and search tools. The pagination mention further clarifies the operation's scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The main description implies the tool is for profile-URL-based video listing, and the profile_url parameter explicitly says not to pass video links and to prefer the sec_user_id entry when a sec_user_id is known, which routes the agent to the ID-based sibling. It does not, however, enumerate when to choose this over other siblings in the description text itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_user_posted_videos_by_sec_user_idA
Read-only
Inspect

根据抖音用户 sec_user_id 获取该用户发布的作品列表,支持 page_token 翻页。

ParametersJSON Schema
NameRequiredDescriptionDefault
page_tokenNopage_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一用户作品分页链路的下一页,不能跨能力或用户复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
sec_user_idYes抖音用户 sec_user_id,不透明标识;请传实际字段值,可从结果中的 sec_user_id 或 author.sec_user_id 复用;不要传公开抖音号 douyin_id、字段名或占位文本;只有主页链接时使用 profile_url 入口

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes当前页作品列表
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is read-only and open-world, so the description only needs to add operation-specific behavior. It adds that this is a list operation with page_token pagination, but no additional side effects or constraints are disclosed. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The main description is a single clear sentence that leads with the operation/resource and mentions pagination second, with no filler or redundant restatement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only 2 parameters, full schema coverage, readOnly/openWorld annotations, and an output schema, nothing essential is missing for an agent to select and invoke the tool correctly. The parameter descriptions cover edge cases like opaque token reuse and invalid inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the parameter descriptions for sec_user_id and page_token are unusually detailed, including reuse rules, forbidden values, and token chaining constraints. The main description adds no meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific action (获取...作品列表) and the key identifier (sec_user_id), plus pagination support. It clearly targets the posted-videos resource and differs from info/search siblings, but it does not explicitly distinguish itself from douyin_get_user_posted_videos_by_profile_url beyond the identifier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Schema parameter guidance explicitly says to pass the actual sec_user_id, not douyin_id, and to use the profile_url entry when only a homepage link is available. This gives the agent explicit when-to-use and when-to-choose-an-alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_user_series_by_profile_urlA
Read-only
Inspect

根据抖音主页长链接、短链接或分享文案获取用户短剧列表,支持 page_token 翻页。

ParametersJSON Schema
NameRequiredDescriptionDefault
page_tokenNopage_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一用户短剧列表分页链路的下一页,不能跨能力或用户复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
profile_urlYes抖音用户主页链接、用户短链接或用户分享文案;不要传作品链接。已知 sec_user_id 时优先使用 ID 入口

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes当前页短剧列表
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is known. The description adds that pagination via page_token is supported, but this behavior is also fully specified in the input schema, so the added transparency is modest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence conveys the action, resource, accepted input formats, and pagination capability with no fluff. It is appropriately sized and front-loaded around the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a complete input schema, output schema, and read-only annotations, the description is nearly complete for a two-parameter tool. It relies on the schema for pagination details and alternative-ID guidance, but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description only restates accepted profile URL forms and does not add meaning beyond the schema. The schema's page_token and profile_url descriptions already carry the full semantic load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 获取 with the clear resource 用户短剧列表, and states the accepted input forms (长链接、短链接或分享文案). This distinguishes it from sibling tools that use sec_user_id or return posted videos rather than series.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The profile_url parameter explicitly says not to pass video links and to prefer the ID entry when sec_user_id is known, which routes to the sec_user_id sibling. However, the main description itself does not name alternatives or give broader when-to-use guidance beyond this parameter-level hint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_user_series_by_sec_user_idA
Read-only
Inspect

根据抖音用户 sec_user_id 获取该用户短剧列表,支持 page_token 翻页。

ParametersJSON Schema
NameRequiredDescriptionDefault
page_tokenNopage_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一用户短剧列表分页链路的下一页,不能跨能力或用户复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
sec_user_idYes抖音用户 sec_user_id,不透明标识;请传实际字段值,可从结果中的 sec_user_id 或 author.sec_user_id 复用;不要传公开抖音号 douyin_id、字段名或占位文本;只有主页链接时使用 profile_url 入口

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes当前页短剧列表
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint and openWorldHint annotations already establish the safety and open-world profile, so the description only needs to add behavior beyond that. It adds that pagination via page_token is supported, which is useful, but it does not disclose rate limits, potential empty results, or other behavioral details. This is acceptable but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the primary purpose and then states pagination support. There is no filler, no repetition of the tool name, and every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only paginated list tool, the combination of description, detailed parameter schema, and annotations is largely sufficient. The output schema covers return values, and readOnlyHint covers safety. The only minor gap is that the main description does not explicitly route users to the profile_url sibling, though the parameter description partially compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% parameter description coverage and already explains both sec_user_id and page_token in detail, including opaque-token reuse rules and what not to pass. The description itself only repeats the pagination concept and adds no extra parameter-level meaning, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('获取') and a specific resource ('该用户短剧列表' / user's short-drama series list), and clearly identifies the required input (sec_user_id). It also distinguishes itself from sibling tools like douyin_get_user_info_by_sec_user_id and douyin_get_user_posted_videos_by_sec_user_id by naming the series/short-drama list resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool: when you have a Douyin sec_user_id and need that user's series list. It does not explicitly name the profile_url sibling in the main description, but the sec_user_id parameter description provides the key exclusion: if only a profile URL is available, use the profile_url entry.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_video_comment_replies_by_comment_idA
Read-only
Inspect

根据 aweme_id 和一级评论 comment_id 获取抖音评论回复;需同时传入 aweme_id 和 comment_id。用户已提供完整合法组合时直接使用;已有 aweme_id、作品链接或分享文案但缺少必需 ID 时,调用对应一级评论工具补全;缺少作品定位信息时向用户索取;不要传回复项自身的 comment_id;支持 page_token 翻页。

ParametersJSON Schema
NameRequiredDescriptionDefault
aweme_idYes抖音作品的数字 aweme_id,通常可从搜索、详情或评论结果中的 aweme_id 字段复用;不要传作品链接、分享文案或带引号的字符串;用户已提供时直接使用;调用评论回复工具时必填,需与 comment_id 同时传入,且两者须属于同一作品
comment_idYes一级评论 ID comment_id;用户已提供时直接使用,否则可从一级评论结果 items[*].comment_id 复用;调用评论回复工具时必须同时传入同一作品的 aweme_id;不要传评论回复结果里的 items[*].comment_id
page_tokenNopage_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一作品下同一一级评论的回复分页链路,不能跨能力、作品或评论复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes当前页评论回复列表
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
comment_countYes该一级评论下的回复总量;当前不可用时为 null
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already covers the safety profile, and the description adds useful behavioral constraints: both IDs must be supplied together and belong to the same video, reply-level comment_ids must not be passed, and page_token pagination is supported. No mutation or side-effect disclosure is needed given the read-only annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense single sentence with semicolon-separated guidance, but every clause conveys essential information: core operation, required pairing, fallback path, user interaction, and pagination. It is compact enough for the amount of workflow guidance provided.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only paginated lookup tool, the description covers the exact callable precondition, the alternate resolution path, the negative case (reply's own comment_id), and pagination. With an output schema present, no return-format explanation is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents all three parameters at 100% coverage, so the baseline applies. The description reinforces important constraints (same-video ownership, not using reply IDs) but adds little parameter-level meaning beyond what the schema property descriptions already contain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific operation ('获取抖音评论回复') scoped to a first-level comment_id plus aweme_id, which clearly distinguishes this from siblings like douyin_get_video_comments_by_aweme_id (first-level comments) and URL-based variants. The required ID combination is explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly defines when to call directly (complete valid combination provided), when to fall back to a first-level comment tool to obtain missing IDs, and when to ask the user for missing video-locating information. It also warns not to pass reply-item comment_ids, giving the agent actionable selection and exclusion rules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_video_comments_by_aweme_idA
Read-only
Inspect

根据抖音作品 aweme_id 获取一级评论列表,支持 page_token 翻页。

ParametersJSON Schema
NameRequiredDescriptionDefault
aweme_idYes抖音作品的数字 aweme_id,通常可从搜索、详情或评论结果中的 aweme_id 字段复用;不要传作品链接、分享文案或带引号的字符串
page_tokenNopage_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一作品评论分页链路的下一页,不能跨能力或作品复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes当前页一级评论列表
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
comment_countYes作品评论总量;当前不可用时为 null
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the read-only nature is covered. The description adds behavioral context beyond annotations by specifying that only top-level comments are returned and that page_token pagination is supported. It does not mention rate limits or error behavior, but these are secondary for a simple read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the primary action and resource, then states the pagination capability. There is no filler, repetition, or unnecessary detail, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only tool with a full output schema and annotations covering read-only/open-world behavior, the description is complete. It states the core function, the identifier, and pagination support, which is all an agent needs to correctly invoke and page through results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds no parameter-level meaning beyond the schema; it merely restates that pagination is supported, which the page_token schema description already explains in greater detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb (获取/get), names the resource (一级评论列表/top-level comment list), and specifies the key identifier (aweme_id). It clearly differentiates from siblings by stating it fetches top-level comments by aweme_id, as opposed to by URL or replies by comment_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is provided, nor are alternatives named. The intended context is implied through the resource and identifier, but the description does not state exclusions or direct an agent to sibling tools when appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_video_comments_by_urlA
Read-only
Inspect

根据抖音作品页面链接、作品短链接或包含作品链接的分享文案获取一级评论列表,支持 page_token 翻页。

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes抖音作品页面链接、作品短链接或包含作品链接的完整分享文案;不要传 video.play_url 这类播放资源链接,也不要传用户主页链接;已知 aweme_id 时优先使用 ID 入口
page_tokenNopage_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一作品评论分页链路的下一页,不能跨能力或作品复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes当前页一级评论列表
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
comment_countYes作品评论总量;当前不可用时为 null
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and openWorldHint, so no mutation risk needs explanation. The description adds value by clarifying that only first-level comments are returned and that page_token pagination is supported, which are behavioral traits not captured by the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence that communicates the core purpose and pagination capability with no filler. Every word is informative, and detailed parameter nuances are appropriately left to the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only tool with an output schema present, the description plus detailed schema fully covers what an agent needs: accepted URL forms, pagination semantics, and the top-level comment scope. Return-value details are already handled by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents both parameters. The description's reference to supported link formats and pagination aligns with the schema but does not add substantial meaning beyond it, matching the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('获取'/'get'), resource ('一级评论列表'/'first-level comment list'), and input method (video URL/short link/share text). It distinguishes from sibling tools by making the top-level scope explicit and by noting the URL-based entry point, which contrasts with the aweme_id-based sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description and url schema condition together give explicit usage guidance: accept video page URLs, short links, or share text; explicitly exclude video.play_url playback URLs and user profile links; and recommend the aweme_id entry when the ID is known. This clearly routes the agent to the correct input mode and sibling tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_video_detail_by_aweme_idA
Read-only
Inspect

根据抖音作品 aweme_id 获取视频或图文作品详情;已知 aweme_id 时优先使用此入口。

ParametersJSON Schema
NameRequiredDescriptionDefault
aweme_idYes抖音作品的数字 aweme_id,通常可从搜索、详情或评论结果中的 aweme_id 字段复用;不要传作品链接、分享文案或带引号的字符串

Output Schema

ParametersJSON Schema
NameRequiredDescription
musicYes作品绑定音乐或原声资产;不表示视频播放时需要额外叠加播放;当前不可用时为 null
videoYes抖音平台播放器资源;视频作品为视频播放资源,图文作品可能为音频播放资源;无法可靠识别时为 null
authorYes作品作者信息
imagesYes作品图片展示资源列表;图文作品按顺序返回所有图片,视频作品为空数组
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
aweme_idYes作品 aweme_id
share_urlYes作品页面/分享链接;可作为按 url 查询作品详情或评论时的输入;当前不可用时为 null
like_countYes作品点赞数
topic_tagsYes作品话题标签列表;无话题标签时为空数组
descriptionYes作品文案
share_countYes作品分享数
content_typeYes作品类型:video 表示视频,image 表示图文,unknown 表示未知
publish_timeYes作品发布时间,秒级 Unix 时间戳
collect_countYes作品收藏数
comment_countYes作品评论数
cover_image_urlYes作品封面图链接;当前不可用时为 null
mentioned_usersYes作品正文中 @ 到的用户列表;无 @ 时为空数组

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that the tool covers both video and image-text works, which is useful, but it does not disclose any additional behavioral traits such as return structure or edge cases; the value it adds beyond annotations is modest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that states the action, resource, identifier, and usage priority. There is no filler or repetition of schema details, and the most important decision guidance is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one well-documented parameter, an output schema, and annotations covering safety, the description is complete enough for an agent to invoke it correctly. The sibling context also makes the alternative URL-based entry obvious.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter aweme_id is thoroughly documented in the schema, including its numeric nature and what not to pass. The tool description itself adds little parameter-specific meaning, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('获取' / 'get') and clearly identifies the resource: video or image-text work details by aweme_id. It also distinguishes this entry from the URL-based sibling tool by emphasizing that this is the preferred entry when aweme_id is known.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: when the aweme_id is already known, this entrance should be prioritized. This effectively tells the agent to prefer this tool over douyin_get_video_detail_by_url when the ID is available, providing clear selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_video_detail_by_urlA
Read-only
Inspect

根据抖音作品页面链接、作品短链接或包含作品链接的分享文案获取视频或图文作品详情。

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes抖音作品页面链接、作品短链接或包含作品链接的完整分享文案;不要传 video.play_url 这类播放资源链接,也不要传用户主页链接;已知 aweme_id 时优先使用 ID 入口

Output Schema

ParametersJSON Schema
NameRequiredDescription
musicYes作品绑定音乐或原声资产;不表示视频播放时需要额外叠加播放;当前不可用时为 null
videoYes抖音平台播放器资源;视频作品为视频播放资源,图文作品可能为音频播放资源;无法可靠识别时为 null
authorYes作品作者信息
imagesYes作品图片展示资源列表;图文作品按顺序返回所有图片,视频作品为空数组
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
aweme_idYes作品 aweme_id
share_urlYes作品页面/分享链接;可作为按 url 查询作品详情或评论时的输入;当前不可用时为 null
like_countYes作品点赞数
topic_tagsYes作品话题标签列表;无话题标签时为空数组
descriptionYes作品文案
share_countYes作品分享数
content_typeYes作品类型:video 表示视频,image 表示图文,unknown 表示未知
publish_timeYes作品发布时间,秒级 Unix 时间戳
collect_countYes作品收藏数
comment_countYes作品评论数
cover_image_urlYes作品封面图链接;当前不可用时为 null
mentioned_usersYes作品正文中 @ 到的用户列表;无 @ 时为空数组

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the read-only safety profile is covered. The description adds minor context such as support for both video and image-text works, but does not disclose auth, error, or response behavior. This is acceptable given the annotations but not exceptional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence with no filler. It front-loads the core purpose and input constraints without redundant elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only tool with a detailed schema parameter description and an output schema, all information needed to invoke it correctly is present. No critical usage condition or constraint is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema parameter description already contains the same accepted-format, exclusion, and alternative-entry guidance. The tool description therefore adds no additional parameter semantics beyond what the schema provides, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb-resource pair (获取...详情) and enumerates three accepted input forms: page links, short links, and share text. It also differentiates from the aweme_id-based sibling via the schema instruction '已知 aweme_id 时优先使用 ID 入口'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states what inputs are accepted and explicitly tells the agent not to pass video.play_url resources or user homepage links. It also instructs the agent to prefer the ID entry when aweme_id is known, providing direct routing between alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_get_video_speech_text_jobA
Read-only
Inspect

根据用户提供的有效 job_id,或 submit 工具返回的 job_id 查询抖音视频口播转文字任务状态;用于继续未完成任务,每次最多等待 240 秒,不触发重处理,也不要重复提交任务。

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes口播转文字任务 ID;用户已提供时直接使用,否则使用 submit 工具返回的 job_id;不要传 aweme_id、作品链接或其他 ID。

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorYes失败或过期时的稳定错误结构;非终态或成功时为 null。
job_idYes任务 ID。
statusYes任务状态。
messageYes面向用户/AI 的状态说明。
platformYes任务所属平台。
source_idYes任务来源 ID。
content_idYes平台内容 ID。
transcriptYes成功时的口播转文字结果;非终态或失败时为 null。
is_terminalYes是否已终态。
next_actionYes非终态时建议的下一步查询动作。
content_metaYes作品上下文信息,便于结合转写内容做口播分析。
content_typeYes内容类型。
next_poll_after_secondsYes建议下次查询前等待的秒数;非终态时可用。

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds valuable behavioral details: maximum 240-second wait per call and that it does not trigger reprocessing. This goes beyond the annotations and informs the agent of polling behavior and side-effect-free nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence but packs in the purpose, usage context, and key constraints. It is front-loaded with the core action and avoids redundancy. Could be split for readability but is efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and the simplicity of a status-polling tool, the description covers what the tool does, when to use it, and key behavioral limits. No critical missing information for correct invocation, though it omits any note about invalid job_id handling, which is minor given the schema guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the job_id parameter is already fully explained in the schema (use user-provided or submit tool's job_id, not aweme_id or links). The description repeats this but adds no new meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries the status of a Douyin video speech-to-text task, with specific verb '查询' and resource '任务状态'. This distinguishes it from sibling tools like user info or video detail fetchers, and from the submit tools that create the task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description instructs to use a valid job_id from the user or the submit tool, and explicitly says to use it for continuing unfinished tasks. It also warns against resubmitting tasks, which guides the agent toward correct workflow integration with the submit siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_search_productsA
Read-only
Inspect

用户需要按关键词查找抖音全局搜索中的商品时使用;支持排序、价格、服务和卖点筛选,返回归一化商品列表与不透明分页令牌。当前服务提供详情工具时:已有 product_id 时直接使用 douyin_get_product_detail_by_product_id;已有商品链接或分享文案时使用 douyin_get_product_detail_by_url。不用于搜索作品或用户,也不表示商城频道内完整搜索链路。

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes抖音商品搜索词,必填,去除首尾空白后不能为空;可传关键词或短语,例如“iPhone 16”或“露营桌”;keyword 只传搜索词,不要传商品链接、抖音平台对象 ID(如 sku_id、promotion_id、aweme_id、sec_user_id)或 page_token;不要把价格、排序或服务条件拼进 keyword,请使用对应筛选参数。
max_priceNo最高价格,正整数,单位:元;必须大于 0,不传表示不限;与 min_price 同时传入时不得小于 min_price。
min_priceNo最低价格,正整数,单位:元;必须大于 0,不传表示不限;与 max_price 同时传入时不得大于 max_price。
only_liveNotrue 时仅返回当前正在直播的商品(抖音原生筛选“直播中”);false 表示不限(默认)。
sort_typeNo商品排序:general(综合,默认)、sales_descending(销量降序)、price_ascending(价格升序)、price_descending(价格降序)。general
page_tokenNopage_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一抖音商品搜索链路、关键词、排序和筛选条件,不能跨能力复用;翻页时 keyword、sort_type、min_price、max_price 及全部筛选参数必须与上一页保持一致;需要修改任一条件时,清空 page_token 后从第一页重新搜索;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
selling_pointNo卖点筛选:all(不限,默认)、high_sales(月销过万)、high_rating(好评多)。all
official_storeNotrue 时仅返回带“抖音旗舰”标识的商品;false 表示不限(默认)。
seven_day_returnNotrue 时仅返回支持 7 天无理由退货的商品;false 表示不限(默认)。
shipping_insuranceNotrue 时仅返回支持运费险的商品;false 表示不限(默认)。
dispatch_within_24hNotrue 时仅返回支持 24 小时内发货的商品;false 表示不限(默认)。

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes当前页商品列表
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses key behavioral aspects: it returns a 'normalized product list' and an 'opaque pagination token', and warns that it does not represent a complete search chain within the mall channel. It could be more explicit about rate limits or data freshness, but it gives sufficient behavioral context for an agent to set expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, using only two sentences. It front-loads the core purpose, then summarizes filter capabilities and returns, and concludes with guidance and limitations. No redundant or filler content; every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of 11 parameters and the presence of an output schema, the description provides sufficient context: it summarizes the filter dimensions, mentions the opaque pagination token (which is further detailed in the schema), and gives explicit alternatives for detail retrieval. It also notes the limitation of not being a complete mall search, addressing potential edge cases. The output schema covers return value details, so none are needed here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the baseline is 3. The description adds meaning by grouping parameter categories (sorting, price, service, selling point) and by clarifying the relationship between search and detail tools, which helps an agent understand when to use which parameters. However, it does not introduce new parameter-specific details beyond the schema, so a 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the primary action ('搜索商品' by keyword) and identifies the resource (Douyin products). It explicitly differentiates from sibling tools by noting it is not for searching videos or users, and directs users to detail tools when a product_id or URL is already available, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit usage guidance: when to use this search tool versus the detail tools (douyin_get_product_detail_by_product_id and douyin_get_product_detail_by_url) based on whether product_id or link/share text is available. It also states exclusions (not for videos/users) and a limitation (not a complete mall channel search chain), giving an agent clear decision rules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_search_usersA
Read-only
Inspect

搜索抖音用户、账号、博主、创作者或达人,支持 page_token 翻页。用户需要按搜索词查找用户时使用;已有 sec_user_id 或用户主页链接时使用相应用户资料或列表工具;不用于搜索作品。

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes搜索词,可传昵称、抖音号、账号名、达人名称或创作者/博主名称;不用于搜索作品;不要传作品链接、用户主页链接、sec_user_id 或 page_token。
user_typeNo用户类型筛选,可选:all(不限,默认)、regular_user(普通用户)、enterprise_verified(企业认证)、individual_verified(个人认证)。如无明确筛选需求,保持 all。all
page_tokenNopage_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一搜索链路,不能跨能力、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
follower_count_rangeNo用户粉丝数量筛选,可选:all(不限,默认)、under_1k(1000 以下)、1k_to_10k(1000-1 万)、10k_to_100k(1 万-10 万)、100k_to_1m(10 万-100 万)、over_1m(100 万以上)。如无明确筛选需求,保持 all。all

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes当前页用户搜索结果列表
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already communicate readOnly and openWorld behavior, and the description adds further behavioral context by noting pagination support ('支持 page_token 翻页') and by clarifying the tool is keyword-driven rather than identity- or media-driven. It does not explain search semantics beyond pagination, but with readOnlyHint and openWorldHint already available, the added context is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loads the core action and resource, then gives routing guidance and exclusions. Every sentence adds distinct value with no filler, and the length is appropriate for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 100% schema coverage, rich parameter descriptions, output schema, and readOnly/openWorld annotations, the description provides just enough extra context: it confirms pagination and clearly distinguishes when to use this tool versus sibling tools. No necessary guidance appears missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents every parameter in detail. The description mentions pagination and search terms but adds no parameter semantics beyond what the schema already provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific action and resource, '搜索抖音用户、账号、博主、创作者或达人', and explicitly separates this from sibling tools by stating it is not for searching works. It also routes users with an existing sec_user_id or profile link to the corresponding profile/list tools, making differentiation clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('用户需要按搜索词查找用户时使用') and when not to use it, including both having an identity identifier/link and searching for works. It also points to the alternative category '相应用户资料或列表工具', providing actionable routing without relying on inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_search_videosA
Read-only
Inspect

搜索抖音视频和图文作品。用户需要按搜索词查找作品时使用;已有作品链接或 aweme_id 且需要单篇信息时使用相应详情、评论或口播转文字工具;作品通常为视频,也可能包含图文内容;支持 page_token 翻页。

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes搜索词,可传关键词或短语,例如品牌名、话题、人物名或产品名;不要传作品链接、用户主页链接、aweme_id、sec_user_id 或 page_token。
sort_typeNo搜索排序方式,可选:general(综合,默认)、time_descending(最新发布优先)、like_count_descending(最多点赞优先)。综合或默认排序请传 general,最新发布请传 time_descending,最多点赞请传 like_count_descending。hot、latest、time、relevance、relevance_desc、default、综合、general_desc、liked、like_count、liked_desc、most_liked、most_hot、popularity_descending 等写法均不是可接受值,请直接使用上述三个标准值。general
page_tokenNopage_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一搜索链路,不能跨能力、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
content_typeNo内容形式筛选,可选:all(不限,默认)、video(视频)、image(图文)。如无明确筛选需求,保持 all。all
duration_rangeNo视频时长筛选,可选:all(不限,默认)、under_1_minute(1 分钟以下)、one_to_five_minutes(1-5 分钟)、over_5_minutes(5 分钟以上)。如无明确筛选需求,保持 all。all
publish_time_rangeNo发布时间范围筛选,可选:all(不限,默认)、day(一天内)、week(一周内)、half_year(半年内)。如无明确筛选需求,保持 all。all

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes当前页搜索结果中的作品列表
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already provide readOnlyHint and openWorldHint, covering the safety profile. The description adds that works may include image-text posts and that pagination via page_token is supported, but these facts are also represented in the input schema (content_type and page_token descriptions). No additional behavioral context such as rate limits, result incompleteness, or output-shape caveats is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose, then efficiently covers usage conditions and the key page_token behavior. It is a single multi-clause sentence with no filler, though it could be slightly more structured by splitting usage guidance from general behavioral notes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with six parameters and an output schema, the description provides enough context to orient the agent: what to search, when to use an alternative tool, and that pagination is supported. Missing details like sort_type options and content filters are fully covered by the schema descriptions, so nothing critical is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema itself contains detailed parameter descriptions, including the page_token handling rules and accepted sort_type values. The tool description adds no param-level meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb-resource pair: '搜索抖音视频和图文作品' (search Douyin videos and image-text posts). It clearly distinguishes this search tool from detail/comment/speech-to-text tools by stating that when a link or aweme_id is already available, those tools should be used instead.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-to-use condition: '用户需要按搜索词查找作品时使用'. It also names the alternative category of tools for cases where an existing link or aweme_id is available, such as detail, comment, or speech-to-text tools, making the routing decision straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_submit_video_speech_text_by_aweme_idAInspect

根据抖音 aweme_id 提交视频口播转文字任务;提交后最多等待 240 秒,未完成时返回 job_id 和下一步查询动作。

ParametersJSON Schema
NameRequiredDescriptionDefault
aweme_idYes抖音作品的数字 aweme_id,通常可从搜索、详情或评论结果中的 aweme_id 字段复用;不要传作品链接、分享文案或带引号的字符串

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorYes失败或过期时的稳定错误结构;非终态或成功时为 null。
job_idYes任务 ID。
statusYes任务状态。
messageYes面向用户/AI 的状态说明。
platformYes任务所属平台。
source_idYes任务来源 ID。
content_idYes平台内容 ID。
transcriptYes成功时的口播转文字结果;非终态或失败时为 null。
is_terminalYes是否已终态。
next_actionYes非终态时建议的下一步查询动作。
content_metaYes作品上下文信息,便于结合转写内容做口播分析。
content_typeYes内容类型。
next_poll_after_secondsYes建议下次查询前等待的秒数;非终态时可用。

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

注解没有提供异步等待或返回 job_id 的信息,描述补充了“最多等待 240 秒”和“未完成时返回 job_id 和下一步查询动作”,这增加了对异步行为的透明度和后续调用的指导,且与注解(readOnlyHint=false)无矛盾。

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

描述仅一句话,直接说明了核心动作和关键行为,没有冗余信息,信息密度高且易于理解。

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

工具是异步提交任务,有输出 schema(可能包含 job_id 等),描述提供了必要的等待时间和返回内容,足以让 agent 知道如何发起调用并确定后续动作;对于简单的一参数工具,描述足够完整。

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

唯一的参数 aweme_id 在 schema 中已有详细说明(包括来源和排除项),描述本身没有额外补充参数语义,schema 覆盖 100%,基线为 3 是合适的。

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

描述明确说“根据抖音 aweme_id 提交视频口播转文字任务”,动词“提交”和资源“视频口播转文字任务”都很具体,且和兄弟工具 `douyin_submit_video_speech_text_by_video_url` 在用途上形成清晰区分(按 ID 提交 vs 按 URL 提交)。

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

描述了提交后的行为(等待 240 秒、返回 job_id 和下一步查询动作),间接暗示了后续应使用 `douyin_get_video_speech_text_job` 查询状态,但没有明确说“当你有 aweme_id 时使用此工具,而不是按 URL 提交”,不过名字已经足够区分,用户只需根据输入类型选择。

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

douyin_submit_video_speech_text_by_video_urlAInspect

提交抖音作品视频口播转文字任务;提交后最多等待 240 秒,未完成时返回 job_id 和下一步查询动作。

ParametersJSON Schema
NameRequiredDescriptionDefault
video_urlYes抖音作品页面链接、作品短链接或包含作品链接的完整分享文案;不要传 video.play_url 这类播放资源链接,也不要传用户主页链接;已知 aweme_id 时优先使用 ID 入口

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorYes失败或过期时的稳定错误结构;非终态或成功时为 null。
job_idYes任务 ID。
statusYes任务状态。
messageYes面向用户/AI 的状态说明。
platformYes任务所属平台。
source_idYes任务来源 ID。
content_idYes平台内容 ID。
transcriptYes成功时的口播转文字结果;非终态或失败时为 null。
is_terminalYes是否已终态。
next_actionYes非终态时建议的下一步查询动作。
content_metaYes作品上下文信息,便于结合转写内容做口播分析。
content_typeYes内容类型。
next_poll_after_secondsYes建议下次查询前等待的秒数;非终态时可用。

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and idempotentHint=false, confirming a non-idempotent mutation. The description adds specific behavioral context: it waits up to 240 seconds and returns a job reference if incomplete, which is useful for an agent deciding whether to call this synchronously or poll later. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the primary action and then clearly states the wait/timeout behavior. Every part adds value and there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values do not need to be explained. The description covers the essential flow (submit, wait, get job_id if not done) and implicitly communicates asynchronous behavior. It does not explicitly mention what happens on immediate completion, but that is left to the output schema. Overall, it is sufficiently complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one parameter (video_url) and its schema description is highly detailed (100% coverage), specifying acceptable URL forms and exclusions. The tool description adds no additional parameter meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('提交' meaning submit), a concrete resource (video speech-to-text task), and explains the follow-up behavior (wait up to 240 seconds, return job_id if incomplete). It clearly distinguishes this submission tool from query tools like douyin_get_video_speech_text_job.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions waiting and returning job_id with a next query action, which implies using a query tool, but it does not explicitly differentiate when to use this URL-based submission vs the aweme_id-based alternative (douyin_submit_video_speech_text_by_aweme_id). The parameter schema separately recommends the ID entry, but that is not in the tool description. Guidance is implied but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

socialdatax_get_points_balanceA
Read-only
Inspect

查询当前 API Key 账户的 SocialDataX 积分余额、剩余积分或点数 / remaining points balance.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the Chinese description reinforces that this is a query operation. The description adds context about the account-level API Key scope, but it does not disclose details such as response format, rate-limit implications, or whether the balance is cached or real-time.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with the key information front-loaded. The bilingual repetition and enumeration of 'balance / remaining points / points' is slightly redundant but not harmful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that this is a zero-parameter read-only balance lookup, the description is complete. An output schema is present, so return values do not need to be described, and the annotations cover the safety profile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema description coverage is 100%, so there is nothing for the description to explain about inputs. The description still usefully clarifies that 'points balance' refers to remaining credits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action, resource, and scope: querying the SocialDataX points balance for the current API Key account. It is fully distinguishable from the unrelated zhihu_ sibling tools even without inspecting schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is reasonably implied by the name and description, but there is no explicit guidance about when to check the balance, how it relates to other tools, or when this tool would not be appropriate. No alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Addeddouyin_get_product_detail_by_product_id
    • Addeddouyin_get_product_detail_by_url
    • Changeddouyin_search_products1 field changed
      • changedOutput schema / properties / items / items / properties / price / description
        Previous value: -"商品卡展示价格,单位:元"New value: +"商品卡展示价格,单位:元;不保证是最终实付价"
  2. 14 tool updates
    • Changeddouyin_get_user_info_by_douyin_id1 field changed
      • changedOutput schema / properties / sec_user_id / description
        Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"用户 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_get_user_info_by_profile_url1 field changed
      • changedOutput schema / properties / sec_user_id / description
        Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"用户 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_get_user_info_by_sec_user_id2 fields changed
      • changedInput schema / properties / sec_user_id / description
        Previous value: -"抖音用户 sec_user_id;可从 author.sec_user_id 或用户资料结果中的 sec_user_id 继续复用"New value: +"抖音用户 sec_user_id,不透明标识;请传实际字段值,可从结果中的 sec_user_id 或 author.sec_user_id 复用;不要传公开抖音号 douyin_id、字段名或占位文本;只有主页链接时使用 profile_url 入口"
      • changedOutput schema / properties / sec_user_id / description
        Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"用户 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_get_user_posted_videos_by_profile_url1 field changed
      • changedOutput schema / properties / items / items / properties / author / properties / sec_user_id / description
        Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"用户 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_get_user_posted_videos_by_sec_user_id2 fields changed
      • changedInput schema / properties / sec_user_id / description
        Previous value: -"抖音用户 sec_user_id;可从 author.sec_user_id 或用户资料结果中的 sec_user_id 继续复用"New value: +"抖音用户 sec_user_id,不透明标识;请传实际字段值,可从结果中的 sec_user_id 或 author.sec_user_id 复用;不要传公开抖音号 douyin_id、字段名或占位文本;只有主页链接时使用 profile_url 入口"
      • changedOutput schema / properties / items / items / properties / author / properties / sec_user_id / description
        Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"用户 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_get_user_series_by_profile_url1 field changed
      • changedOutput schema / properties / items / items / properties / author / properties / sec_user_id / description
        Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"用户 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_get_user_series_by_sec_user_id2 fields changed
      • changedInput schema / properties / sec_user_id / description
        Previous value: -"抖音用户 sec_user_id;可从 author.sec_user_id 或用户资料结果中的 sec_user_id 继续复用"New value: +"抖音用户 sec_user_id,不透明标识;请传实际字段值,可从结果中的 sec_user_id 或 author.sec_user_id 复用;不要传公开抖音号 douyin_id、字段名或占位文本;只有主页链接时使用 profile_url 入口"
      • changedOutput schema / properties / items / items / properties / author / properties / sec_user_id / description
        Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"用户 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_get_video_comment_replies_by_comment_id1 field changed
      • changedOutput schema / properties / items / items / properties / author / properties / sec_user_id / description
        Previous value: -"评论作者 sec_user_id;用户主页工具可直接复用"New value: +"评论作者 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_get_video_comments_by_aweme_id2 fields changed
      • changedOutput schema / properties / items / items / properties / author / properties / sec_user_id / description
        Previous value: -"评论作者 sec_user_id;用户主页工具可直接复用"New value: +"评论作者 sec_user_id;当前不可用时为空字符串"
      • changedOutput schema / properties / items / items / properties / mentioned_users / items / properties / sec_user_id / description
        Previous value: -"被 @ 用户的 sec_user_id"New value: +"被 @ 用户的 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_get_video_comments_by_url2 fields changed
      • changedOutput schema / properties / items / items / properties / author / properties / sec_user_id / description
        Previous value: -"评论作者 sec_user_id;用户主页工具可直接复用"New value: +"评论作者 sec_user_id;当前不可用时为空字符串"
      • changedOutput schema / properties / items / items / properties / mentioned_users / items / properties / sec_user_id / description
        Previous value: -"被 @ 用户的 sec_user_id"New value: +"被 @ 用户的 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_get_video_detail_by_aweme_id2 fields changed
      • changedOutput schema / properties / author / properties / sec_user_id / description
        Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"用户 sec_user_id;当前不可用时为空字符串"
      • changedOutput schema / properties / mentioned_users / items / properties / sec_user_id / description
        Previous value: -"被 @ 用户的 sec_user_id"New value: +"被 @ 用户的 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_get_video_detail_by_url2 fields changed
      • changedOutput schema / properties / author / properties / sec_user_id / description
        Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"用户 sec_user_id;当前不可用时为空字符串"
      • changedOutput schema / properties / mentioned_users / items / properties / sec_user_id / description
        Previous value: -"被 @ 用户的 sec_user_id"New value: +"被 @ 用户的 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_search_users1 field changed
      • changedOutput schema / properties / items / items / properties / sec_user_id / description
        Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"用户 sec_user_id;当前不可用时为空字符串"
    • Changeddouyin_search_videos2 fields changed
      • changedOutput schema / properties / items / items / properties / author / description
        Previous value: -"作品作者信息;如需抖音号等更多资料,可继续按作者 sec_user_id 查询用户信息"New value: +"作品作者信息"
      • changedOutput schema / properties / items / items / properties / author / properties / sec_user_id / description
        Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"用户 sec_user_id;当前不可用时为空字符串"
  3. 1 tool update
    • Addeddouyin_search_products
  4. 5 tool updates
    • Changeddouyin_get_user_posted_videos_by_profile_url1 field changed
      • changedOutput schema / properties / items / items / properties / video / anyOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "duration_ms": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "播放器资源时长,毫秒;当前不可用时为 null"
        -      },
        -      "media_type": {
        -        "description": "播放器资源类型:video 表示视频,audio 表示音频,unknown 表示未知",
        -        "enum": [
        -          "video",
        -          "audio",
        -          "unknown"
        -        ],
        -        "type": "string"
        -      },
        -      "play_url": {
        -        "description": "抖音平台播放器资源链接;视频作品通常为 mp4,图文作品可能为音频播放资源;不同于作品页面或分享链接,不用于查询作品详情或评论",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "play_url",
        -      "duration_ms",
        -      "media_type"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "duration_ms": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源时长,毫秒;当前不可用时为 null"
        +      },
        +      "height": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源高度,像素;当前不可用时为 null"
        +      },
        +      "media_type": {
        +        "description": "播放器资源类型:video 表示视频,audio 表示音频,unknown 表示未知",
        +        "enum": [
        +          "video",
        +          "audio",
        +          "unknown"
        +        ],
        +        "type": "string"
        +      },
        +      "play_url": {
        +        "description": "抖音平台播放器资源链接;视频作品通常为 mp4,图文作品可能为音频播放资源;不同于作品页面或分享链接,不用于查询作品详情或评论",
        +        "type": "string"
        +      },
        +      "width": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源宽度,像素;当前不可用时为 null"
        +      }
        +    },
        +    "required": [
        +      "play_url",
        +      "duration_ms",
        +      "width",
        +      "height",
        +      "media_type"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changeddouyin_get_user_posted_videos_by_sec_user_id1 field changed
      • changedOutput schema / properties / items / items / properties / video / anyOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "duration_ms": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "播放器资源时长,毫秒;当前不可用时为 null"
        -      },
        -      "media_type": {
        -        "description": "播放器资源类型:video 表示视频,audio 表示音频,unknown 表示未知",
        -        "enum": [
        -          "video",
        -          "audio",
        -          "unknown"
        -        ],
        -        "type": "string"
        -      },
        -      "play_url": {
        -        "description": "抖音平台播放器资源链接;视频作品通常为 mp4,图文作品可能为音频播放资源;不同于作品页面或分享链接,不用于查询作品详情或评论",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "play_url",
        -      "duration_ms",
        -      "media_type"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "duration_ms": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源时长,毫秒;当前不可用时为 null"
        +      },
        +      "height": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源高度,像素;当前不可用时为 null"
        +      },
        +      "media_type": {
        +        "description": "播放器资源类型:video 表示视频,audio 表示音频,unknown 表示未知",
        +        "enum": [
        +          "video",
        +          "audio",
        +          "unknown"
        +        ],
        +        "type": "string"
        +      },
        +      "play_url": {
        +        "description": "抖音平台播放器资源链接;视频作品通常为 mp4,图文作品可能为音频播放资源;不同于作品页面或分享链接,不用于查询作品详情或评论",
        +        "type": "string"
        +      },
        +      "width": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源宽度,像素;当前不可用时为 null"
        +      }
        +    },
        +    "required": [
        +      "play_url",
        +      "duration_ms",
        +      "width",
        +      "height",
        +      "media_type"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changeddouyin_get_video_detail_by_aweme_id1 field changed
      • changedOutput schema / properties / video / anyOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "duration_ms": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "播放器资源时长,毫秒;当前不可用时为 null"
        -      },
        -      "media_type": {
        -        "description": "播放器资源类型:video 表示视频,audio 表示音频,unknown 表示未知",
        -        "enum": [
        -          "video",
        -          "audio",
        -          "unknown"
        -        ],
        -        "type": "string"
        -      },
        -      "play_url": {
        -        "description": "抖音平台播放器资源链接;视频作品通常为 mp4,图文作品可能为音频播放资源;不同于作品页面或分享链接,不用于查询作品详情或评论",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "play_url",
        -      "duration_ms",
        -      "media_type"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "duration_ms": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源时长,毫秒;当前不可用时为 null"
        +      },
        +      "height": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源高度,像素;当前不可用时为 null"
        +      },
        +      "media_type": {
        +        "description": "播放器资源类型:video 表示视频,audio 表示音频,unknown 表示未知",
        +        "enum": [
        +          "video",
        +          "audio",
        +          "unknown"
        +        ],
        +        "type": "string"
        +      },
        +      "play_url": {
        +        "description": "抖音平台播放器资源链接;视频作品通常为 mp4,图文作品可能为音频播放资源;不同于作品页面或分享链接,不用于查询作品详情或评论",
        +        "type": "string"
        +      },
        +      "width": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源宽度,像素;当前不可用时为 null"
        +      }
        +    },
        +    "required": [
        +      "play_url",
        +      "duration_ms",
        +      "width",
        +      "height",
        +      "media_type"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changeddouyin_get_video_detail_by_url1 field changed
      • changedOutput schema / properties / video / anyOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "duration_ms": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "播放器资源时长,毫秒;当前不可用时为 null"
        -      },
        -      "media_type": {
        -        "description": "播放器资源类型:video 表示视频,audio 表示音频,unknown 表示未知",
        -        "enum": [
        -          "video",
        -          "audio",
        -          "unknown"
        -        ],
        -        "type": "string"
        -      },
        -      "play_url": {
        -        "description": "抖音平台播放器资源链接;视频作品通常为 mp4,图文作品可能为音频播放资源;不同于作品页面或分享链接,不用于查询作品详情或评论",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "play_url",
        -      "duration_ms",
        -      "media_type"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "duration_ms": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源时长,毫秒;当前不可用时为 null"
        +      },
        +      "height": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源高度,像素;当前不可用时为 null"
        +      },
        +      "media_type": {
        +        "description": "播放器资源类型:video 表示视频,audio 表示音频,unknown 表示未知",
        +        "enum": [
        +          "video",
        +          "audio",
        +          "unknown"
        +        ],
        +        "type": "string"
        +      },
        +      "play_url": {
        +        "description": "抖音平台播放器资源链接;视频作品通常为 mp4,图文作品可能为音频播放资源;不同于作品页面或分享链接,不用于查询作品详情或评论",
        +        "type": "string"
        +      },
        +      "width": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源宽度,像素;当前不可用时为 null"
        +      }
        +    },
        +    "required": [
        +      "play_url",
        +      "duration_ms",
        +      "width",
        +      "height",
        +      "media_type"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changeddouyin_search_videos1 field changed
      • changedOutput schema / properties / items / items / properties / video / anyOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "duration_ms": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "播放器资源时长,毫秒;当前不可用时为 null"
        -      },
        -      "media_type": {
        -        "description": "播放器资源类型:video 表示视频,audio 表示音频,unknown 表示未知",
        -        "enum": [
        -          "video",
        -          "audio",
        -          "unknown"
        -        ],
        -        "type": "string"
        -      },
        -      "play_url": {
        -        "description": "抖音平台播放器资源链接;视频作品通常为 mp4,图文作品可能为音频播放资源;不同于作品页面或分享链接,不用于查询作品详情或评论",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "play_url",
        -      "duration_ms",
        -      "media_type"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "duration_ms": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源时长,毫秒;当前不可用时为 null"
        +      },
        +      "height": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源高度,像素;当前不可用时为 null"
        +      },
        +      "media_type": {
        +        "description": "播放器资源类型:video 表示视频,audio 表示音频,unknown 表示未知",
        +        "enum": [
        +          "video",
        +          "audio",
        +          "unknown"
        +        ],
        +        "type": "string"
        +      },
        +      "play_url": {
        +        "description": "抖音平台播放器资源链接;视频作品通常为 mp4,图文作品可能为音频播放资源;不同于作品页面或分享链接,不用于查询作品详情或评论",
        +        "type": "string"
        +      },
        +      "width": {
        +        "anyOf": [
        +          {
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "播放器资源宽度,像素;当前不可用时为 null"
        +      }
        +    },
        +    "required": [
        +      "play_url",
        +      "duration_ms",
        +      "width",
        +      "height",
        +      "media_type"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
  5. 4 tool updates
    • Changeddouyin_get_video_comment_replies_by_comment_id3 fields changed
      • changedInput schema / properties / aweme_id / description
        Previous value: -"抖音作品的数字 aweme_id,通常可从搜索、详情或评论结果中的 aweme_id 字段复用;不要传作品链接、分享文案或带引号的字符串;调用评论回复工具时必填,需与 comment_id 同时传入"New value: +"抖音作品的数字 aweme_id,通常可从搜索、详情或评论结果中的 aweme_id 字段复用;不要传作品链接、分享文案或带引号的字符串;用户已提供时直接使用;调用评论回复工具时必填,需与 comment_id 同时传入,且两者须属于同一作品"
      • changedInput schema / properties / comment_id / description
        Previous value: -"一级评论 ID comment_id;可从一级评论结果 items[*].comment_id 复用,用于获取该评论下的回复;调用评论回复工具时必须同时传入 aweme_id"New value: +"一级评论 ID comment_id;用户已提供时直接使用,否则可从一级评论结果 items[*].comment_id 复用;调用评论回复工具时必须同时传入同一作品的 aweme_id;不要传评论回复结果里的 items[*].comment_id"
      • changedOutput schema / properties / items / items / properties / comment_id / description
        Previous value: -"评论 ID"New value: +"当前评论回复自身 ID;不是读取回复时输入的一级评论 comment_id"
    • Changeddouyin_get_video_comments_by_aweme_id1 field changed
      • changedOutput schema / properties / items / items / properties / comment_id / description
        Previous value: -"评论 ID"New value: +"当前一级评论 ID"
    • Changeddouyin_get_video_comments_by_url1 field changed
      • changedOutput schema / properties / items / items / properties / comment_id / description
        Previous value: -"评论 ID"New value: +"当前一级评论 ID"
    • Changeddouyin_get_video_speech_text_job1 field changed
      • changedInput schema / properties / job_id / description
        Previous value: -"口播转文字任务 ID;必须传 submit 工具返回的 job_id,不要传 aweme_id、作品链接或其他 ID。"New value: +"口播转文字任务 ID;用户已提供时直接使用,否则使用 submit 工具返回的 job_id;不要传 aweme_id、作品链接或其他 ID。"
  6. 3 tool updates
    • Changeddouyin_get_video_speech_text_job1 field changed
      • changedInput schema / properties / job_id / description
        Previous value: -"口播转文字任务 ID。"New value: +"口播转文字任务 ID;必须传 submit 工具返回的 job_id,不要传 aweme_id、作品链接或其他 ID。"
    • Changeddouyin_search_users1 field changed
      • changedInput schema / properties / keyword / description
        Previous value: -"抖音用户、账号、博主、创作者或达人搜索自然语言关键词;可传昵称、抖音号、账号名或达人名称;不用于搜索作品;不要传作品链接、用户主页链接、sec_user_id 或 page_token 作为 keyword。"New value: +"搜索词,可传昵称、抖音号、账号名、达人名称或创作者/博主名称;不用于搜索作品;不要传作品链接、用户主页链接、sec_user_id 或 page_token。"
    • Changeddouyin_search_videos1 field changed
      • changedInput schema / properties / keyword / description
        Previous value: -"抖音作品搜索自然语言关键词;传品牌名、话题、人物名、内容需求或研究主题;不要传作品链接、用户主页链接、aweme_id、sec_user_id 或 page_token 作为 keyword。"New value: +"搜索词,可传关键词或短语,例如品牌名、话题、人物名或产品名;不要传作品链接、用户主页链接、aweme_id、sec_user_id 或 page_token。"
  7. 15 tool updates
    • Changeddouyin_get_hot_search_list2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "hot_items"
        -]New value: +[
        +  "hot_items",
        +  "points"
        +]
    • Addeddouyin_get_user_info_by_douyin_id
    • Changeddouyin_get_user_info_by_profile_url2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "user_id",
        -  "sec_user_id",
        -  "name",
        -  "avatar_url",
        -  "profile_url",
        -  "bio",
        -  "verification_label",
        -  "verified",
        -  "follower_count",
        -  "following_count",
        -  "received_like_count",
        -  "douyin_id",
        -  "ip_location",
        -  "gender",
        -  "posted_content_count",
        -  "live_info"
        -]New value: +[
        +  "user_id",
        +  "sec_user_id",
        +  "name",
        +  "avatar_url",
        +  "profile_url",
        +  "bio",
        +  "verification_label",
        +  "verified",
        +  "follower_count",
        +  "following_count",
        +  "received_like_count",
        +  "douyin_id",
        +  "ip_location",
        +  "gender",
        +  "posted_content_count",
        +  "live_info",
        +  "points"
        +]
    • Changeddouyin_get_user_info_by_sec_user_id2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "user_id",
        -  "sec_user_id",
        -  "name",
        -  "avatar_url",
        -  "profile_url",
        -  "bio",
        -  "verification_label",
        -  "verified",
        -  "follower_count",
        -  "following_count",
        -  "received_like_count",
        -  "douyin_id",
        -  "ip_location",
        -  "gender",
        -  "posted_content_count",
        -  "live_info"
        -]New value: +[
        +  "user_id",
        +  "sec_user_id",
        +  "name",
        +  "avatar_url",
        +  "profile_url",
        +  "bio",
        +  "verification_label",
        +  "verified",
        +  "follower_count",
        +  "following_count",
        +  "received_like_count",
        +  "douyin_id",
        +  "ip_location",
        +  "gender",
        +  "posted_content_count",
        +  "live_info",
        +  "points"
        +]
    • Changeddouyin_get_user_posted_videos_by_profile_url2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "items",
        -  "next_page_token"
        -]New value: +[
        +  "items",
        +  "next_page_token",
        +  "points"
        +]
    • Changeddouyin_get_user_posted_videos_by_sec_user_id2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "items",
        -  "next_page_token"
        -]New value: +[
        +  "items",
        +  "next_page_token",
        +  "points"
        +]
    • Changeddouyin_get_user_series_by_profile_url2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "items",
        -  "next_page_token"
        -]New value: +[
        +  "items",
        +  "next_page_token",
        +  "points"
        +]
    • Changeddouyin_get_user_series_by_sec_user_id2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "items",
        -  "next_page_token"
        -]New value: +[
        +  "items",
        +  "next_page_token",
        +  "points"
        +]
    • Changeddouyin_get_video_comment_replies_by_comment_id2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "items",
        -  "next_page_token",
        -  "comment_count"
        -]New value: +[
        +  "items",
        +  "next_page_token",
        +  "comment_count",
        +  "points"
        +]
    • Changeddouyin_get_video_comments_by_aweme_id2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "items",
        -  "next_page_token",
        -  "comment_count"
        -]New value: +[
        +  "items",
        +  "next_page_token",
        +  "comment_count",
        +  "points"
        +]
    • Changeddouyin_get_video_comments_by_url2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "items",
        -  "next_page_token",
        -  "comment_count"
        -]New value: +[
        +  "items",
        +  "next_page_token",
        +  "comment_count",
        +  "points"
        +]
    • Changeddouyin_get_video_detail_by_aweme_id2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "aweme_id",
        -  "content_type",
        -  "description",
        -  "publish_time",
        -  "cover_image_url",
        -  "images",
        -  "video",
        -  "music",
        -  "share_url",
        -  "mentioned_users",
        -  "topic_tags",
        -  "like_count",
        -  "comment_count",
        -  "collect_count",
        -  "share_count",
        -  "author"
        -]New value: +[
        +  "aweme_id",
        +  "content_type",
        +  "description",
        +  "publish_time",
        +  "cover_image_url",
        +  "images",
        +  "video",
        +  "music",
        +  "share_url",
        +  "mentioned_users",
        +  "topic_tags",
        +  "like_count",
        +  "comment_count",
        +  "collect_count",
        +  "share_count",
        +  "author",
        +  "points"
        +]
    • Changeddouyin_get_video_detail_by_url2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "aweme_id",
        -  "content_type",
        -  "description",
        -  "publish_time",
        -  "cover_image_url",
        -  "images",
        -  "video",
        -  "music",
        -  "share_url",
        -  "mentioned_users",
        -  "topic_tags",
        -  "like_count",
        -  "comment_count",
        -  "collect_count",
        -  "share_count",
        -  "author"
        -]New value: +[
        +  "aweme_id",
        +  "content_type",
        +  "description",
        +  "publish_time",
        +  "cover_image_url",
        +  "images",
        +  "video",
        +  "music",
        +  "share_url",
        +  "mentioned_users",
        +  "topic_tags",
        +  "like_count",
        +  "comment_count",
        +  "collect_count",
        +  "share_count",
        +  "author",
        +  "points"
        +]
    • Changeddouyin_search_users2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "items",
        -  "next_page_token"
        -]New value: +[
        +  "items",
        +  "next_page_token",
        +  "points"
        +]
    • Changeddouyin_search_videos2 fields changed
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
        +  "properties": {
        +    "balance": {
        +      "description": "本次接口完成时看到的当前积分余额。",
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cost": {
        +      "description": "本次请求最终确认消耗的积分。",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "cost",
        +    "balance"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "items",
        -  "next_page_token"
        -]New value: +[
        +  "items",
        +  "next_page_token",
        +  "points"
        +]
  8. 2 tool updates
    • Changeddouyin_search_users1 field changed
      • changedInput schema / properties / keyword / description
        Previous value: -"抖音用户、账号、博主、创作者或达人搜索关键词;可传昵称、抖音号、账号名或达人名称;不用于搜索作品。"New value: +"抖音用户、账号、博主、创作者或达人搜索自然语言关键词;可传昵称、抖音号、账号名或达人名称;不用于搜索作品;不要传作品链接、用户主页链接、sec_user_id 或 page_token 作为 keyword。"
    • Changeddouyin_search_videos1 field changed
      • changedInput schema / properties / keyword / description
        Previous value: -"抖音搜索关键词"New value: +"抖音作品搜索自然语言关键词;传品牌名、话题、人物名、内容需求或研究主题;不要传作品链接、用户主页链接、aweme_id、sec_user_id 或 page_token 作为 keyword。"
  9. 1 tool update
    • Addedsocialdatax_get_points_balance
  10. 1 tool update
    • Changeddouyin_search_videos1 field changed
      • changedInput schema / properties / sort_type / description
        Previous value: -"搜索排序方式,可选:general(综合,默认)、time_descending(最新发布优先)、like_count_descending(最多点赞优先)。如无明确排序需求,保持 general。"New value: +"搜索排序方式,可选:general(综合,默认)、time_descending(最新发布优先)、like_count_descending(最多点赞优先)。综合或默认排序请传 general,最新发布请传 time_descending,最多点赞请传 like_count_descending。hot、latest、time、relevance、relevance_desc、default、综合、general_desc、liked、like_count、liked_desc、most_liked、most_hot、popularity_descending 等写法均不是可接受值,请直接使用上述三个标准值。"
  11. 1 tool update
    • Changeddouyin_get_video_speech_text_job1 field changed
      • removedInput schema / properties / wait_seconds
        Removed value: -{
        -  "default": 0,
        -  "description": "可选长轮询等待秒数;0 表示只查询一次,最大 240 秒。",
        -  "maximum": 240,
        -  "minimum": 0,
        -  "type": "integer"
        -}
  12. 1 tool update
    • Changeddouyin_get_video_speech_text_job2 fields changed
      • changedInput schema / properties / wait_seconds / description
        Previous value: -"可选长轮询等待秒数;0 表示只查询一次,最大 900 秒。"New value: +"可选长轮询等待秒数;0 表示只查询一次,最大 240 秒。"
      • changedInput schema / properties / wait_seconds / maximum
        Previous value: -900New value: +240
  13. 1 tool update
    • Changeddouyin_get_video_speech_text_job2 fields changed
      • changedInput schema / properties / wait_seconds / description
        Previous value: -"可选长轮询等待秒数;0 表示只查询一次,最大 240 秒。"New value: +"可选长轮询等待秒数;0 表示只查询一次,最大 900 秒。"
      • changedInput schema / properties / wait_seconds / maximum
        Previous value: -240New value: +900
  14. 3 tool updates
    • Changeddouyin_get_video_speech_text_job2 fields changed
      • addedInput schema / properties / wait_seconds
        Added value: +{
        +  "default": 0,
        +  "description": "可选长轮询等待秒数;0 表示只查询一次,最大 240 秒。",
        +  "maximum": 240,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • changedOutput schema / properties / next_action / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "job_id": {
        -        "description": "需要继续查询的 job_id。",
        -        "type": "string"
        -      },
        -      "tool_name": {
        -        "description": "下一步建议调用的查询工具。",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "tool_name",
        -      "job_id"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "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"
        +  }
        +]
    • Changeddouyin_submit_video_speech_text_by_aweme_id1 field changed
      • changedOutput schema / properties / next_action / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "job_id": {
        -        "description": "需要继续查询的 job_id。",
        -        "type": "string"
        -      },
        -      "tool_name": {
        -        "description": "下一步建议调用的查询工具。",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "tool_name",
        -      "job_id"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "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"
        +  }
        +]
    • Changeddouyin_submit_video_speech_text_by_video_url1 field changed
      • changedOutput schema / properties / next_action / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "job_id": {
        -        "description": "需要继续查询的 job_id。",
        -        "type": "string"
        -      },
        -      "tool_name": {
        -        "description": "下一步建议调用的查询工具。",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "tool_name",
        -      "job_id"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "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"
        +  }
        +]
  15. 3 tool updates
    • Changeddouyin_get_video_speech_text_job3 fields changed
      • addedOutput schema / properties / content_id
        Added value: +{
        +  "description": "平台内容 ID。",
        +  "type": "string"
        +}
      • addedOutput schema / properties / content_meta
        Added value: +{
        +  "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"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "job_id",
        -  "status",
        -  "is_terminal",
        -  "platform",
        -  "source_id",
        -  "content_type",
        -  "transcript",
        -  "error",
        -  "next_poll_after_seconds",
        -  "next_action",
        -  "message"
        -]New value: +[
        +  "job_id",
        +  "status",
        +  "is_terminal",
        +  "platform",
        +  "content_id",
        +  "source_id",
        +  "content_type",
        +  "content_meta",
        +  "transcript",
        +  "error",
        +  "next_poll_after_seconds",
        +  "next_action",
        +  "message"
        +]
    • Changeddouyin_submit_video_speech_text_by_aweme_id3 fields changed
      • addedOutput schema / properties / content_id
        Added value: +{
        +  "description": "平台内容 ID。",
        +  "type": "string"
        +}
      • addedOutput schema / properties / content_meta
        Added value: +{
        +  "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"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "job_id",
        -  "status",
        -  "is_terminal",
        -  "platform",
        -  "source_id",
        -  "content_type",
        -  "transcript",
        -  "error",
        -  "next_poll_after_seconds",
        -  "next_action",
        -  "message"
        -]New value: +[
        +  "job_id",
        +  "status",
        +  "is_terminal",
        +  "platform",
        +  "content_id",
        +  "source_id",
        +  "content_type",
        +  "content_meta",
        +  "transcript",
        +  "error",
        +  "next_poll_after_seconds",
        +  "next_action",
        +  "message"
        +]
    • Changeddouyin_submit_video_speech_text_by_video_url3 fields changed
      • addedOutput schema / properties / content_id
        Added value: +{
        +  "description": "平台内容 ID。",
        +  "type": "string"
        +}
      • addedOutput schema / properties / content_meta
        Added value: +{
        +  "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"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "job_id",
        -  "status",
        -  "is_terminal",
        -  "platform",
        -  "source_id",
        -  "content_type",
        -  "transcript",
        -  "error",
        -  "next_poll_after_seconds",
        -  "next_action",
        -  "message"
        -]New value: +[
        +  "job_id",
        +  "status",
        +  "is_terminal",
        +  "platform",
        +  "content_id",
        +  "source_id",
        +  "content_type",
        +  "content_meta",
        +  "transcript",
        +  "error",
        +  "next_poll_after_seconds",
        +  "next_action",
        +  "message"
        +]
  16. 6 tool updates
    • Changeddouyin_get_user_posted_videos_by_profile_url2 fields changed
      • removedOutput schema / properties / items / items / properties / images / items / properties / live_photo / default
        Removed value: -null
      • changedOutput schema / properties / items / items / properties / images / items / required
        Previous value: -[
        -  "url",
        -  "width",
        -  "height"
        -]New value: +[
        +  "url",
        +  "width",
        +  "height",
        +  "live_photo"
        +]
    • Changeddouyin_get_user_posted_videos_by_sec_user_id2 fields changed
      • removedOutput schema / properties / items / items / properties / images / items / properties / live_photo / default
        Removed value: -null
      • changedOutput schema / properties / items / items / properties / images / items / required
        Previous value: -[
        -  "url",
        -  "width",
        -  "height"
        -]New value: +[
        +  "url",
        +  "width",
        +  "height",
        +  "live_photo"
        +]
    • Changeddouyin_get_video_detail_by_aweme_id2 fields changed
      • removedOutput schema / properties / images / items / properties / live_photo / default
        Removed value: -null
      • changedOutput schema / properties / images / items / required
        Previous value: -[
        -  "url",
        -  "width",
        -  "height"
        -]New value: +[
        +  "url",
        +  "width",
        +  "height",
        +  "live_photo"
        +]
    • Changeddouyin_get_video_detail_by_url2 fields changed
      • removedOutput schema / properties / images / items / properties / live_photo / default
        Removed value: -null
      • changedOutput schema / properties / images / items / required
        Previous value: -[
        -  "url",
        -  "width",
        -  "height"
        -]New value: +[
        +  "url",
        +  "width",
        +  "height",
        +  "live_photo"
        +]
    • Changeddouyin_search_users9 fields changed
      • changedInput schema / properties / follower_count_range / default
        Previous value: -""New value: +"all"
      • changedInput schema / properties / follower_count_range / description
        Previous value: -"用户粉丝数量筛选,可选:空字符串(不限,默认)、0_1k(1000以下)、1k_1w(1000-1w)、1w_10w(1w-10w)、10w_100w(10w-100w)、100w_(100w以上)。如无明确筛选需求,保持空字符串。"New value: +"用户粉丝数量筛选,可选:all(不限,默认)、under_1k(1000 以下)、1k_to_10k(1000-1 万)、10k_to_100k(1 万-10 万)、100k_to_1m(10 万-100 万)、over_1m(100 万以上)。如无明确筛选需求,保持 all。"
      • changedInput schema / properties / follower_count_range / enum
        Previous value: -[
        -  "",
        -  "0_1k",
        -  "1k_1w",
        -  "1w_10w",
        -  "10w_100w",
        -  "100w_"
        -]New value: +[
        +  "all",
        +  "under_1k",
        +  "1k_to_10k",
        +  "10k_to_100k",
        +  "100k_to_1m",
        +  "over_1m"
        +]
      • changedInput schema / properties / keyword / description
        Previous value: -"抖音用户搜索关键词"New value: +"抖音用户、账号、博主、创作者或达人搜索关键词;可传昵称、抖音号、账号名或达人名称;不用于搜索作品。"
      • changedInput schema / properties / user_type / default
        Previous value: -""New value: +"all"
      • changedInput schema / properties / user_type / description
        Previous value: -"用户类型筛选,可选:空字符串(不限,默认)、common_user(普通用户)、enterprise_user(企业认证)、personal_user(个人认证)。如无明确筛选需求,保持空字符串。"New value: +"用户类型筛选,可选:all(不限,默认)、regular_user(普通用户)、enterprise_verified(企业认证)、individual_verified(个人认证)。如无明确筛选需求,保持 all。"
      • changedInput schema / properties / user_type / enum
        Previous value: -[
        -  "",
        -  "common_user",
        -  "enterprise_user",
        -  "personal_user"
        -]New value: +[
        +  "all",
        +  "regular_user",
        +  "enterprise_verified",
        +  "individual_verified"
        +]
      • addedOutput schema / properties / items / items / properties / posted_content_count
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "用户已发布作品数量,包含视频、图文等作品;当前不可用时为 null"
        +}
      • changedOutput schema / properties / items / items / required
        Previous value: -[
        -  "user_id",
        -  "sec_user_id",
        -  "name",
        -  "avatar_url",
        -  "profile_url",
        -  "bio",
        -  "verification_label",
        -  "verified",
        -  "follower_count",
        -  "following_count",
        -  "received_like_count",
        -  "douyin_id"
        -]New value: +[
        +  "user_id",
        +  "sec_user_id",
        +  "name",
        +  "avatar_url",
        +  "profile_url",
        +  "bio",
        +  "verification_label",
        +  "verified",
        +  "follower_count",
        +  "following_count",
        +  "received_like_count",
        +  "douyin_id",
        +  "posted_content_count"
        +]
    • Changeddouyin_search_videos2 fields changed
      • removedOutput schema / properties / items / items / properties / images / items / properties / live_photo / default
        Removed value: -null
      • changedOutput schema / properties / items / items / properties / images / items / required
        Previous value: -[
        -  "url",
        -  "width",
        -  "height"
        -]New value: +[
        +  "url",
        +  "width",
        +  "height",
        +  "live_photo"
        +]

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources