Contract
{
"type": "object",
"required": [
"room_id"
],
"properties": {
"room_id": {
"type": "string",
"examples": [
"7462723839303093032"
],
"description": "The Douyin live room ID to look up"
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "The room's numeric Douyin room id."
},
"cover": {
"type": "object",
"properties": {
"url_list": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Withheld -- image URLs are not passed through, so only whether a cover exists is observable, not the image itself."
}
},
"description": "The room's cover image.",
"additionalProperties": true
},
"owner": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Self-disclosed city, when set."
},
"id_str": {
"type": "string",
"description": "The owner account's numeric Douyin user id."
},
"sec_uid": {
"type": "string",
"description": "The owner account's opaque, stable public user id."
},
"nickname": {
"type": "string",
"description": "The owner account's public display name."
},
"verified": {
"type": "boolean"
},
"signature": {
"type": "string",
"description": "The owner's self-published bio text; empty when unset."
},
"follow_info": {
"type": "object",
"properties": {
"follower_count": {
"type": "number"
},
"following_count": {
"type": "number"
},
"follower_count_str": {
"type": "string"
},
"following_count_str": {
"type": "string"
}
},
"additionalProperties": true
},
"avatar_large": {
"type": "object",
"properties": {
"url_list": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Withheld -- see usage.md."
}
},
"additionalProperties": true
},
"avatar_thumb": {
"type": "object",
"properties": {
"url_list": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Withheld -- see usage.md."
}
},
"additionalProperties": true
},
"avatar_medium": {
"type": "object",
"properties": {
"url_list": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Withheld -- see usage.md."
}
},
"additionalProperties": true
},
"location_city": {
"type": "string",
"description": "Same self-disclosed city, duplicated (identical to `city`)."
}
},
"description": "The room owner's Douyin account.",
"additionalProperties": true
},
"stats": {
"type": "object",
"properties": {
"fan_ticket": {
"type": "number",
"description": "0 observed on the one real room."
},
"like_count": {
"type": "number",
"description": "0 observed on the one real room."
},
"total_user": {
"type": "number",
"description": "Total viewers; 0 observed."
},
"total_user_str": {
"type": "string",
"description": "Total viewers as a human-readable string, e.g. \"3万+\"."
},
"user_count_str": {
"type": "string",
"description": "Current viewer count as a string."
}
},
"description": "The room's live engagement counters.",
"additionalProperties": true
},
"title": {
"type": "string",
"description": "The room's current live-stream title."
},
"id_str": {
"type": "string",
"description": "The same room id, as a string."
},
"status": {
"type": "number",
"description": "Numeric room status code. 0 observed on the one real room calibrated; the vendor does not document this enum, so a caller should not assume 0 universally means 'live'."
},
"message": {
"type": "string",
"description": "Only present on the not-found path, e.g. 'Request params error'."
},
"prompts": {
"type": "string",
"description": "Only present on the not-found path -- a human-readable (Chinese-language) reason the room could not be resolved."
},
"user_count": {
"type": "number",
"description": "Current viewer count; 0 observed."
},
"short_title": {
"type": "string",
"description": "Short title variant, when set; empty otherwise."
}
},
"additionalProperties": true
},
"status_code": {
"type": "number",
"description": "0 on the resolvable-room fixture, 10011 on the not-found fixture."
}
},
"description": "The room record, as returned at routing.responseResultPath ($.output). On a resolvable room_id, `data` carries the room's live-stream fields below. On a room_id that does not resolve, `data` instead carries only `message`/`prompts` (the endpoint's own error envelope, confirmed against the `nonexistent-room-not-found` fixture) and none of the room fields -- a caller should check for the presence of `status_code` / `data.title` rather than assume the room shape.",
"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
