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. 25 on the populated fixture (which returned 24 comments in the requested window), 0 on the not-found one."
},
"end_time": {
"type": "number",
"description": "End of the returned danmaku window, in milliseconds. Observed 32000 on both fixtures 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 (0 on both fixtures)."
},
"status_code": {
"type": "number",
"description": "Platform status code. Observed 0 on BOTH the populated and the not-found fixture, 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, per the not-found fixture."
}
},
"description": "The danmaku result for the requested video, as returned at routing.responseResultPath ($.output). On a video id with no retrievable comments, the field map drops the null `danmaku_list` entirely, so the shaped output is `{ start_time, end_time, total: 0, status_code }` with no `danmaku_list` key (confirmed against the `nonexistent-video-error` fixture) -- 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
- Sep 25, 2026
