Contract
{
"type": "object",
"required": [
"item_id",
"comment_id"
],
"properties": {
"count": {
"type": "integer",
"default": 20,
"description": "Number"
},
"cursor": {
"type": "integer",
"default": 0,
"description": "Cursor"
},
"item_id": {
"type": "string",
"examples": [
"7354666303006723354"
],
"description": "Video id"
},
"comment_id": {
"type": "string",
"examples": [
"7354669356632638218"
],
"description": "Comment id"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"comments",
"cursor",
"has_more",
"total"
],
"properties": {
"total": {
"type": "number",
"description": "Total reply count under the queried comment. Can be 0 even when replies are returned (e.g. 0 alongside 8 replies) -- do not treat this as an accurate count."
},
"cursor": {
"type": "number",
"description": "Pass back as `cursor` to fetch the next page."
},
"comments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The reply's own comment id (source: cid)."
},
"text": {
"type": "string"
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Source: uid."
},
"handle": {
"type": "string",
"description": "The author's public Douyin handle. Empty string when unset (source: unique_id)."
},
"region": {
"type": "string",
"description": "Country code, e.g. 'CN'."
},
"sec_uid": {
"type": "string",
"description": "Douyin's opaque secure user id."
},
"nickname": {
"type": "string",
"description": "The author's public display name."
},
"short_id": {
"type": "string"
}
},
"description": "The reply's author.",
"additionalProperties": false
},
"is_hot": {
"type": "boolean"
},
"video_id": {
"type": "string",
"description": "The video this reply belongs to (source: aweme_id)."
},
"can_share": {
"type": "boolean",
"description": "Not present on every reply observed."
},
"is_hidden": {
"type": "boolean",
"description": "Whether the reply is buried/collapsed by moderation (source: user_buried)."
},
"badge_text": {
"type": "string",
"description": "A badge label Douyin shows next to the reply, e.g. '作者' (author). Empty string when none."
},
"badge_type": {
"type": "number"
},
"created_at": {
"type": "number",
"description": "Unix seconds."
},
"like_count": {
"type": "number",
"description": "Source: digg_count."
},
"can_collect": {
"type": "boolean"
},
"reply_count": {
"type": "number",
"description": "Total replies to this specific reply, when the endpoint reports it (source: comment_reply_total). Not always present."
},
"author_liked": {
"type": "boolean",
"description": "Whether the video's own author liked this reply (source: is_author_digged)."
},
"nesting_level": {
"type": "number",
"description": "Source: level."
},
"root_comment_id": {
"type": "string",
"description": "The thread's top-level comment id. Present on some responses and absent on others -- the endpoint does not always return it, not required."
},
"reply_to_user_id": {
"type": "string",
"description": "Public user id of the user this reply is addressed to (source: reply_to_userid)."
},
"parent_comment_id": {
"type": "string",
"description": "The comment id this reply was posted under (source: reply_id)."
},
"reply_to_nickname": {
"type": "string",
"description": "Display name of the user this reply is addressed to. Present only on replies nested under another reply, not on a reply addressed directly to the root comment (source: reply_to_username)."
},
"reply_to_comment_id": {
"type": "string",
"description": "The specific reply this one is addressed to within the thread, when nested more than one level deep (source: reply_to_reply_id). '0' on a reply addressed directly to the root comment."
},
"reply_to_user_sec_id": {
"type": "string",
"description": "Douyin's opaque secure user id for the user this reply is addressed to."
}
},
"additionalProperties": false
},
"description": "The replies to the given comment. Typically non-empty."
},
"has_more": {
"type": "number",
"description": "Observed as 0 or 1 (not a boolean) on real calls -- truthy/falsy integer."
}
},
"description": "The reply-list record.",
"additionalProperties": false
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.0020475 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Oct 12, 2026
