Contract
{
"type": "object",
"required": [
"root"
],
"properties": {
"ps": {
"type": "integer",
"default": 20,
"description": "Page size"
},
"root": {
"type": "string",
"examples": [
"241743663521"
],
"description": "Root comment ID"
},
"av_id": {
"type": "string",
"examples": [
"113100682434775"
],
"description": "AV ID"
},
"bv_id": {
"type": "string",
"examples": [
"BV18SCrBGE9E"
],
"description": "BV ID"
},
"next_offset": {
"type": "integer",
"default": 0,
"description": "Next page cursor"
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"ttl": {
"type": "number",
"description": "1 on both fixtures observed."
},
"code": {
"type": "number",
"description": "0 on success. 12006 observed for a nonexistent root comment id."
},
"data": {
"type": "object",
"properties": {
"root": {
"type": "object",
"properties": {
"oid": {
"type": "number",
"description": "The video's object id (matches the queried av_id)."
},
"like": {
"type": "number"
},
"root": {
"type": "number",
"description": "0 for a root comment (it has no parent thread)."
},
"rpid": {
"type": "number",
"description": "This comment's own id."
},
"count": {
"type": "number",
"description": "Total reply count under this comment."
},
"ctime": {
"type": "number",
"description": "Unix seconds."
},
"floor": {
"type": "number",
"description": "The comment's position in the video's comment section."
},
"dialog": {
"type": "number",
"description": "The conversation/dialog id this comment opened."
},
"folder": {
"type": "object",
"properties": {
"is_folded": {
"type": "boolean"
},
"has_folded": {
"type": "boolean"
}
},
"description": "Whether this comment is auto-collapsed by bilibili's own moderation.",
"additionalProperties": true
},
"member": {
"type": "object",
"properties": {
"mid": {
"type": "string",
"description": "The author's public numeric bilibili member id, as a string."
},
"sex": {
"type": "string",
"description": "The author's self-declared, publicly displayed gender field, e.g. '男', '女', or '保密' ('kept private', bilibili's own opt-out sentinel and the most common value observed)."
},
"vip": {
"type": "object",
"properties": {
"label": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "e.g. '年度大会员'. Empty when not a member."
},
"bg_color": {
"type": "string",
"description": "Hex color for the membership badge."
},
"text_color": {
"type": "string",
"description": "Hex color for the badge text."
},
"label_theme": {
"type": "string",
"description": "e.g. 'annual_vip'. Empty when not a member."
}
},
"additionalProperties": true
},
"vipType": {
"type": "number",
"description": "0 = none, 1 = monthly, 2 = annual, observed."
},
"vipStatus": {
"type": "number",
"description": "0 = not active, 1 = active, observed."
},
"vipDueDate": {
"type": "number",
"description": "Unix milliseconds the membership expires. 0 when vipType is 0."
}
},
"description": "The author's bilibili premium-membership ('大会员') status.",
"additionalProperties": true
},
"sign": {
"type": "string",
"description": "The author's public profile bio/signature. Empty string when unset."
},
"uname": {
"type": "string",
"description": "The author's current public display name."
},
"avatar": {
"type": [
"string",
"null"
],
"description": "The author's public avatar image URL. Value withheld (stripped to `null`) in this tool's output -- only whether an avatar is set is observable, not the image itself."
},
"pendant": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The decoration's own title, e.g. 'Aimer'."
},
"image": {
"type": [
"string",
"null"
],
"description": "The decoration's image URL. Value withheld (stripped to `null`) in this tool's output."
}
},
"description": "A cosmetic avatar-frame decoration the author has equipped (not a personal name). All fields empty string when none is equipped.",
"additionalProperties": true
},
"nameplate": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The badge's own title, e.g. '有爱大佬'."
},
"image": {
"type": [
"string",
"null"
],
"description": "The badge's image URL. Value withheld (stripped to `null`) in this tool's output."
},
"level": {
"type": "string",
"description": "The badge's rarity tier label, e.g. '稀有勋章'."
},
"condition": {
"type": "string",
"description": "Human-readable text on how the badge was earned."
}
},
"description": "A cosmetic badge/medal the author has equipped from bilibili's own decoration system (not a personal name) -- e.g. a fan-club tenure medal. All fields empty string when none is equipped.",
"additionalProperties": true
},
"official_verify": {
"type": "object",
"properties": {
"desc": {
"type": "string",
"description": "The verification label text, empty when unverified."
},
"type": {
"type": "number",
"description": "-1 observed for an unverified author."
}
},
"description": "Official/verified-account status, when the author is a verified channel.",
"additionalProperties": true
},
"is_senior_member": {
"type": "number",
"description": "1 when the author holds bilibili's 'senior member' badge, 0 otherwise."
}
},
"description": "The comment's author, as bilibili's own app-reply-detail response describes them.",
"additionalProperties": true
},
"parent": {
"type": "number",
"description": "0 for a root comment."
},
"rcount": {
"type": "number",
"description": "Reply count returned in this page."
},
"content": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The comment's own text."
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"img_src": {
"type": [
"string",
"null"
],
"description": "The attached image's URL. Value withheld (stripped to `null`) in this tool's output."
},
"img_size": {
"type": "number",
"description": "Kilobytes, observed."
},
"img_width": {
"type": "number"
},
"img_height": {
"type": "number"
}
},
"additionalProperties": true
},
"description": "Images attached to the comment, when any."
}
},
"additionalProperties": true
},
"replies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"oid": {
"type": "number"
},
"like": {
"type": "number"
},
"root": {
"type": "number",
"description": "The root comment's own id."
},
"rpid": {
"type": "number"
},
"count": {
"type": "number"
},
"ctime": {
"type": "number"
},
"floor": {
"type": "number"
},
"dialog": {
"type": "number"
},
"folder": {
"type": "object",
"properties": {
"is_folded": {
"type": "boolean"
},
"has_folded": {
"type": "boolean"
}
},
"additionalProperties": true
},
"member": {
"type": "object",
"properties": {
"mid": {
"type": "string",
"description": "The author's public numeric bilibili member id, as a string."
},
"sex": {
"type": "string",
"description": "The author's self-declared, publicly displayed gender field, e.g. '男', '女', or '保密' ('kept private', bilibili's own opt-out sentinel and the most common value observed)."
},
"vip": {
"type": "object",
"properties": {
"label": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "e.g. '年度大会员'. Empty when not a member."
},
"bg_color": {
"type": "string",
"description": "Hex color for the membership badge."
},
"text_color": {
"type": "string",
"description": "Hex color for the badge text."
},
"label_theme": {
"type": "string",
"description": "e.g. 'annual_vip'. Empty when not a member."
}
},
"additionalProperties": true
},
"vipType": {
"type": "number",
"description": "0 = none, 1 = monthly, 2 = annual, observed."
},
"vipStatus": {
"type": "number",
"description": "0 = not active, 1 = active, observed."
},
"vipDueDate": {
"type": "number",
"description": "Unix milliseconds the membership expires. 0 when vipType is 0."
}
},
"description": "The author's bilibili premium-membership ('大会员') status.",
"additionalProperties": true
},
"sign": {
"type": "string",
"description": "The author's public profile bio/signature. Empty string when unset."
},
"uname": {
"type": "string",
"description": "The author's current public display name."
},
"avatar": {
"type": [
"string",
"null"
],
"description": "The author's public avatar image URL. Value withheld (stripped to `null`) in this tool's output -- only whether an avatar is set is observable, not the image itself."
},
"pendant": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The decoration's own title, e.g. 'Aimer'."
},
"image": {
"type": [
"string",
"null"
],
"description": "The decoration's image URL. Value withheld (stripped to `null`) in this tool's output."
}
},
"description": "A cosmetic avatar-frame decoration the author has equipped (not a personal name). All fields empty string when none is equipped.",
"additionalProperties": true
},
"nameplate": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The badge's own title, e.g. '有爱大佬'."
},
"image": {
"type": [
"string",
"null"
],
"description": "The badge's image URL. Value withheld (stripped to `null`) in this tool's output."
},
"level": {
"type": "string",
"description": "The badge's rarity tier label, e.g. '稀有勋章'."
},
"condition": {
"type": "string",
"description": "Human-readable text on how the badge was earned."
}
},
"description": "A cosmetic badge/medal the author has equipped from bilibili's own decoration system (not a personal name) -- e.g. a fan-club tenure medal. All fields empty string when none is equipped.",
"additionalProperties": true
},
"official_verify": {
"type": "object",
"properties": {
"desc": {
"type": "string",
"description": "The verification label text, empty when unverified."
},
"type": {
"type": "number",
"description": "-1 observed for an unverified author."
}
},
"description": "Official/verified-account status, when the author is a verified channel.",
"additionalProperties": true
},
"is_senior_member": {
"type": "number",
"description": "1 when the author holds bilibili's 'senior member' badge, 0 otherwise."
}
},
"description": "The comment's author, as bilibili's own app-reply-detail response describes them.",
"additionalProperties": true
},
"parent": {
"type": "number",
"description": "The comment id this reply directly answers."
},
"rcount": {
"type": "number"
},
"content": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"additionalProperties": true
},
"up_action": {
"type": "object",
"properties": {
"like": {
"type": "boolean"
},
"reply": {
"type": "boolean"
}
},
"additionalProperties": true
},
"reply_control": {
"type": "object",
"properties": {
"time_desc": {
"type": "string"
}
},
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "The first page of replies to this root comment."
},
"up_action": {
"type": "object",
"properties": {
"like": {
"type": "boolean"
},
"reply": {
"type": "boolean"
}
},
"description": "Whether the video's own uploader liked/replied to this comment.",
"additionalProperties": true
},
"reply_control": {
"type": "object",
"properties": {
"time_desc": {
"type": "string",
"description": "Human-readable relative time, e.g. '737天前发布'."
}
},
"additionalProperties": true
}
},
"description": "The root comment itself.",
"additionalProperties": true
},
"upper": {
"type": "object",
"properties": {
"mid": {
"type": "number",
"description": "The video uploader's public numeric bilibili member id."
}
},
"description": "The video's own uploader, identified only by id (not name/avatar) here.",
"additionalProperties": true
},
"cursor": {
"type": "object",
"properties": {
"next": {
"type": "number",
"description": "Pass as `next_offset` to fetch the next page."
},
"prev": {
"type": "number"
},
"is_end": {
"type": "boolean"
},
"is_begin": {
"type": "boolean"
}
},
"description": "Pagination state for the replies list.",
"additionalProperties": true
}
},
"description": "Absent entirely on the not-found case (see this schema's own top-level description).",
"additionalProperties": true
},
"message": {
"type": "string",
"description": "'OK' on success. The nonexistent-comment fixture returned '没有该评论' ('no such comment')."
}
},
"description": "The comment-thread record, as returned at routing.responseResultPath ($.output). `data` is ABSENT entirely (not merely empty) when `root` does not resolve to an existing comment -- confirmed against the `invalid-root-not-found` fixture, whose shaped output is just `{ code, message, ttl }`.",
"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 23, 2026
