Contract
{
"type": "object",
"required": [
"photo_id"
],
"properties": {
"pcursor": {
"type": "string",
"description": "Pagination cursor returned by a previous call as `pcursor`; re-pass it together with the same `photo_id` to fetch the next page of top-level comments. Omit for the first page."
},
"photo_id": {
"type": "string",
"examples": [
"3x7gxp2zhgjv832"
],
"description": "The Kuaishou video's photo id -- the id shown in its share link or app URL."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"result": {
"type": "number",
"description": "Status code: 1 on both calibration fixtures (found and not-found); any other value is unconfirmed."
},
"pcursor": {
"type": "string",
"description": "Opaque pagination cursor. Re-pass it together with the same `photo_id` input to fetch the next page of top-level comments; the literal value \"no_more\" means the list is exhausted (the not-found case returns \"no_more\")."
},
"commentCount": {
"type": "number",
"description": "Total number of comments on the video across all pages (105,119 on the calibration video; 0 on the not-found case)."
},
"rootComments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hot": {
"type": "boolean",
"description": "True on every comment observed in the calibration fixture."
},
"time": {
"type": "string",
"description": "The comment's post time as a local display string, `YYYY-MM-DD HH:MM:SS` (e.g. `2024-06-22 17:17:29`)."
},
"type": {
"type": "number",
"description": "Comment type code; 0 on every comment observed, other values unconfirmed."
},
"content": {
"type": "string",
"description": "The comment's text; observed as an empty string on some comments."
},
"user_id": {
"type": "number",
"description": "A numeric user id present on every comment observed; constant across all comments in the calibration fixture, unlike `author_id`."
},
"photo_id": {
"type": "number",
"description": "The video's photo id as a number as returned in the response body (the tool's own `photo_id` input uses the string form)."
},
"reply_to": {
"type": "number",
"description": "The comment id this comment replies to; 0 on every top-level comment observed."
},
"user_sex": {
"type": "string",
"description": "A single-letter code the commenter set on their public profile: \"M\", \"F\", or \"U\" (unknown/not set) in the calibration fixture."
},
"author_id": {
"type": "number",
"description": "The commenter's numeric account id."
},
"timestamp": {
"type": "number",
"description": "The same post time as a Unix-epoch millisecond count."
},
"authorArea": {
"type": "string",
"description": "The region the commenter set on their public profile (e.g. \"河北\"); Chinese-region strings in the calibration fixture."
},
"comment_id": {
"type": "number",
"description": "The comment's numeric id."
},
"likedCount": {
"type": "number",
"description": "Number of likes the comment has received."
},
"recallType": {
"type": "number",
"description": "An internal recall code; observed as 1 or 2 in the calibration fixture, meaning unconfirmed."
},
"author_name": {
"type": "string",
"description": "The commenter's public display name."
},
"author_liked": {
"type": "boolean",
"description": "Whether the author of the video liked this comment; false on every comment observed."
},
"authorVerified": {
"type": "boolean",
"description": "True when the commenter's account is verified; false on every comment observed."
},
"subCommentCount": {
"type": "number",
"description": "Number of replies to this comment (1,937 on the calibration video's top comment)."
},
"isKwaiShopItemComment": {
"type": "boolean",
"description": "True when the comment sits on a Kwai-shop item; false on every comment observed."
},
"displaySubCommentCount": {
"type": "boolean",
"description": "Present on some comments and absent on others (both observed in the calibration fixture); when present it indicates reply counts are shown."
}
},
"description": "One top-level comment. `author_name` is the display name the commenter chose to post under; `user_id` was a constant on every comment observed in the calibration fixture while `author_id` varied, so treat `user_id` as account context, not the commenter's own id.",
"additionalProperties": true
},
"description": "Top-level comments on this page, newest-not-guaranteed ordering per upstream; empty on the not-found case. Each item's `content` may be an empty string and may carry bracket-style sticker tokens (e.g. `[tick]`), and some comments carry an attached `emotion` sticker that this tool does not forward."
}
},
"description": "The comment-list record, as returned at routing.responseResultPath ($.output). Observed as `{ result, pcursor, commentCount, rootComments }` for both a real video and the not-found case (the latter with `rootComments: []`, `commentCount: 0`, `pcursor: \"no_more\"`).",
"additionalProperties": true
}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
- Sep 30, 2026
