Contract
{
"type": "object",
"required": [
"duration",
"start_time",
"item_id",
"end_time"
],
"properties": {
"item_id": {
"type": "string",
"examples": [
"7355433624046472498"
],
"description": "Video id"
},
"duration": {
"type": "integer",
"examples": [
15134
],
"description": "Video total duration"
},
"end_time": {
"type": "integer",
"examples": [
15133
],
"description": "End time"
},
"start_time": {
"type": "integer",
"description": "Start time"
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "The video's total danmaku count per the platform. e.g. 25 for a video that returned 24 comments in the requested window; 0 for a video id that is not found."
},
"end_time": {
"type": "number",
"description": "End of the returned danmaku window, in milliseconds. Observed as 32000 in testing regardless of the caller's requested `end_time` -- it is the platform's reported window bound, not a literal echo of the input."
},
"start_time": {
"type": "number",
"description": "Start of the returned danmaku window, in milliseconds (typically 0)."
},
"status_code": {
"type": "number",
"description": "Platform status code. Observed 0 for BOTH a populated video and a not-found video id, so it does not distinguish them -- use the absence of `danmaku_list` (or `total` 0) to detect the empty case, not this code."
},
"danmaku_list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The comment's text."
},
"is_ad": {
"type": "boolean",
"description": "Whether the comment is a platform ad placement (false on every entry)."
},
"score": {
"type": "number",
"description": "The platform's relevance/heat score for the comment (roughly 0.17 to 3.18 on populated entries observed)."
},
"status": {
"type": "number",
"description": "Comment status code. Observed 1 on every populated entry."
},
"item_id": {
"type": "string",
"description": "The video id this comment belongs to (matches the requested item_id)."
},
"has_emoji": {
"type": "boolean",
"description": "Whether the comment text contains emoji (true on some entries)."
},
"danmaku_id": {
"type": "string",
"description": "Opaque platform identifier for this comment."
},
"digg_count": {
"type": "number",
"description": "How many likes/votes the comment received (0 to 3 on entries observed)."
},
"offset_time": {
"type": "number",
"description": "The comment's position in the video, in milliseconds."
},
"danmaku_type": {
"type": "number",
"description": "Comment type code. Observed 0 on every populated entry."
}
},
"additionalProperties": true
},
"description": "The danmaku comments for the requested video within the window. Absent (not null) when the video has no retrievable comments."
}
},
"description": "The danmaku result for the requested video. On a video id with no retrievable comments, the result is `{ start_time, end_time, total: 0, status_code }` with no `danmaku_list` key -- hence no top-level `required` fields.",
"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
- Oct 12, 2026
