← The evidence ledger
Evidence row 4354929
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 306c956c-dbe7-4d60-80d7-8d4770f9da33
- Recorded
- Previous row
- #2538813
- Body SHA-256
- 3de9dfcb57553b5e43bb2cf44d616a2b7f1c44cf9b93684009a41390914bf181
- Leaf
- 0xedc9c99202d15bf3bc54e65c377c65cbee64683e2afc9f3144f1d3bbeb41b778
What was observed
{
"count": 13,
"tools": [
{
"description": "Work other users chose to publish, with the prompt and model used. Public; anonymous.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"limit": {
"description": "1-50, default 12.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Skip this many (paging).",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"name": "browse_gallery"
},
{
"description": "Stop a job that is still processing and refund its hold. Requires a \"generate\" key.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"taskId": {
"description": "The taskId to cancel.",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"name": "cancel_task"
},
{
"description": "Send one chat turn to a TurboMax text model and return its reply. SPENDS CREDITS (held, then settled to actual usage). Stateless: send the whole conversation in messages, or just message for a single question. Requires a \"generate\" key.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"message": {
"description": "A single user message.",
"type": "string"
},
"messages": {
"description": "The conversation so far; the last message must be from the user.",
"items": {
"additionalProperties": false,
"properties": {
"content": {
"type": "string"
},
"role": {
"enum": [
"user",
"assistant"
],
"type": "string"
}
},
"required": [
"role",
"content"
],
"type": "object"
},
"type": "array"
},
"modelId": {
"description": "Chat model id from list_chat_models. Omit for the default.",
"type": "string"
},
"reasoningEffort": {
"description": "Only for models that support it.",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
}
},
"type": "object"
},
"name": "chat"
},
{
"description": "Approximate credits for a media generation from the live price list. The exact amount is held when you call generate_media; pass maxCredits there to make it a hard ceiling.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"duration": {
"description": "Seconds, for video models.",
"type": "number"
},
"modelId": {
"description": "Model id from list_models.",
"type": "string"
},
"resolution": {
"description": "e.g. \"720p\", \"1080p\". Omit for the model default.",
"type": "string"
}
},
"required": [
"modelId"
],
"type": "object"
},
"name": "estimate_cost"
},
{
"description": "Start a generation. SPENDS CREDITS from the wallet (held now, settled to the actual cost when the job ends; refunded if it fails). Returns a taskId immediately - follow it with get_task (waitSeconds) until completed. Use only the user's own prompt text. For image-to-video etc. upload the source first (upload_source_media). Requires an API key with the \"generate\" scope.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cameraMotion": {
"description": "From the model's cameraMotions.",
"type": "string"
},
"duration": {
"description": "Seconds, within the model's durationRange (respect its step).",
"type": "number"
},
"generateAudio": {
"description": "For models with an audio toggle.",
"type": "boolean"
},
"isInstrumental": {
"description": "Audio models: no vocals.",
"type": "boolean"
},
"maxCredits": {
"description": "Spending ceiling. If the cost would exceed it the server refuses and charges nothing. Always set this when no human is watching.",
"minimum": 0,
"type": "number"
},
"mode": {
"description": "From the model's modes, if it has any.",
"type": "string"
},
"modelId": {
"description": "Model id from list_models.",
"type": "string"
},
"negativePrompt": {
"description": "What to avoid (only models with hasNegativePrompt).",
"type": "string"
},
"prompt": {
"description": "What to create, in the user's words.",
"type": "string"
},
"ratio": {
"description": "Aspect ratio from the model's aspectRatios, e.g. \"16:9\".",
"type": "string"
},
"resolution": {
"description": "From the model's resolutions, e.g. \"720p\".",
"type": "string"
},
"sourceAudioUrl": {
"description": "Speech-to-video / lip-sync models only (schema.needsAudio): URL of an MP3 or WAV returned by upload_source_media. The job is priced on its measured length; no duration is needed.",
"type": "string"
},
"sourceImageUrl": {
"description": "URL returned by upload_source_media. Only uploads made through TurboMax are accepted.",
"type": "string"
},
"stylePreset": {
"description": "From the model's stylePresets. Omit for none (the prompt is used verbatim).",
"type": "string"
},
"task": {
"description": "Task, e.g. \"text-to-video\", \"image-to-video\". Must be one the model supports.",
"type": "string"
},
"waitSeconds": {
"description": "Wait up to this many seconds for the result before returning (0-55). Default 0: return the taskId at once.",
"maximum": 55,
"minimum": 0,
"type": "integer"
}
},
"required": [
"modelId",
"prompt"
],
"type": "object"
},
"name": "generate_media"
},
{
"description": "Full parameter details and pricing for one media model.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"modelId": {
"description": "Model id from list_models.",
"type": "string"
}
},
"required": [
"modelId"
],
"type": "object"
},
"name": "get_model"
},
{
"description": "Status, progress and result of a job started with generate_media. With waitSeconds it waits for completion. resultUrl is a time-limited link - download or use it promptly. Polling also settles the wallet when the job ends.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"taskId": {
"description": "The taskId from generate_media (starts with \"tbmx_\").",
"type": "string"
},
"waitSeconds": {
"description": "Wait up to this many seconds for a final state (0-55). Default 0.",
"maximum": 55,
"minimum": 0,
"type": "integer"
}
},
"required": [
"taskId"
],
"type": "object"
},
"name": "get_task"
},
{
"description": "Credit balance, credits-per-dollar, today's usage against the account limits, and recent ledger entries.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"transactions": {
"description": "How many recent ledger entries to include (0-50, default 10).",
"maximum": 50,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"name": "get_wallet"
},
{
"description": "The text/chat models available to chat, with the default and whether each is currently available.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_chat_models"
},
{
"description": "The account's generation history, newest first, with status, cost and result links.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"limit": {
"description": "1-50, default 12.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Skip this many (paging).",
"minimum": 0,
"type": "integer"
},
"status": {
"enum": [
"processing",
"completed",
"failed",
"canceled"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_generations"
},
{
"description": "List the image, video and audio models with what each accepts (tasks, aspect ratios, resolutions, duration range, modes) and its price in credits. Call this before generate_media; use the exact ids and values it returns.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"task": {
"description": "Only models supporting this task, e.g. \"text-to-video\", \"image-to-video\", \"text-to-image\", \"image-editing\", \"text-to-music\".",
"type": "string"
},
"type": {
"description": "Only models of this media type.",
"enum": [
"video",
"image",
"audio"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_models"
},
{
"description": "Re-run a failed or cancelled job as a new job. SPENDS CREDITS again (a fresh hold). Requires a \"generate\" key.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"taskId": {
"description": "The failed/cancelled taskId.",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"name": "retry_task"
},
{
"description": "Upload an image, video or audio file (PNG, JPEG, WebP, GIF, MP4, WebM, MOV, MP3, WAV) to use as sourceImageUrl (or, for audio, sourceAudioUrl) in generate_media. Send the bytes as base64 (or a local filePath when this server runs locally). Requires a \"generate\" key.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"description": "The file bytes, base64-encoded (no data: prefix).",
"type": "string"
},
"filePath": {
"description": "Absolute path to a local file. Only available when the MCP server runs on your own machine (stdio).",
"type": "string"
},
"filename": {
"description": "Original file name (informational).",
"type": "string"
}
},
"type": "object"
},
"name": "upload_source_media"
}
]
}What the leaf hashes
{"body":"3de9dfcb57553b5e43bb2cf44d616a2b7f1c44cf9b93684009a41390914bf181","id":4354929,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1794192362391071,"prev":2538813,"subject":"306c956c-dbe7-4d60-80d7-8d4770f9da33","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (209593 rows).
- 0xedc92a886819898b2884fea5c619cce7a32eb0be5b35ff32c6dfd386b7a956ac
- 0xd9cc7c26ac2f7a4433159deab7920b17b2eab210a5c6fccd34c0a876bfb88e46
- 0x7aa3418ef1aee81a0dff2a208ff6542901a6d08b037fdbaadfe6c7626d367fc0
- 0x5720c00f3069dc46a9e82014939b6fae5ce6c1a6896e90c08de0e46ea86731e1
- 0x990103bada067c328c0af5de142d58d905d56b94b8f183824f712e4efb3f4040
- 0x68b8297b265d56097656e72d4a92d61a2e483a0515e833bfe8d303bc4d9d4e87
- 0x6b69f94479c28e3eeb6b08b2f017437be2c3be14a129c980092949f42d9a426f
- 0xe18e7ecadf535c631a62d886395b5b9b114d5ce0fe5394f32d13a4e93d956ec3
- 0x4c3f82ab75fa56f2cd7603e59cadb696097afb642c8e1df154e40e31e3a4fe9a
- 0x47cc8f3e403a28e84af86b96e86639e8c80ae4fb4a38e9428d15e22ebefa5b91
- 0x3bcbdc5617a67688058e93fd1cd19d757642bc79664c7bbe72d87ede68320648
- 0xe5b005274c4585ef058e386cb1fc36315d7248d701a95eacd1930b9509744720
- 0x1b6ff232cef6ad928e795377776106a61c1b70258f91d11b0d94ac4411672637
- 0xf0760b500fce93f9d270897969daef4f0da67788416a8c50c716ee07145da953
- 0x520349e9ec1a43cc9a390fc0ffd8aa818c7b0bcb93d9f11422f34c8abda1641f
- 0xf48075ecb1f15a1bf7687654ef6f923785eb6d19aa5ea2f82b5fbaba07217106
- 0xb2a5a7fc33b6cc76cfeb52d8faa0b9c7d46ac212a5536cbec294f49ea9053ee0
- 0x328b01bfc71370ab67b40d5454193c20720a8c4458773b182964112206938c75
- Day root
- 0xadd23e68d2467b177541de6f25330599d6ddfbb2156c723aa2064f85e01c7cc2
- Chained
- 0xd527699f30feab3ee8deb2be1d65df3f65bd292a7fc58fbfcc8dfa8e9dc59bec
- Published
- On Arc Testnet, block 71621141: 0x8257214b88f5db5a00aad541f3322e6d61772740bc3a1b67ccfc1eff91e945bb