← The evidence ledger
Evidence row 565431
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 21b4f792-45e0-4001-905b-f6a8c5ac6f33
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 39d3923af2ddd1c78ca67fcc372fdb119369c7ff9eb49741cf2f78c29b609251
- Leaf
- 0xcd0c8bb557c7cc3f0dbf84b7f32fc31fb278e7f55ca1d71ab7624e41061ddc7c
What was observed
{
"count": 1,
"tools": [
{
"description": "Build a consistent prompt set for one human character: a canonical image prompt with every appearance fact labelled, negative prompts that stop traits like glasses or a cane from vanishing, a video prompt, and optionally a contact sheet that holds everything fixed and walks one axis. Works with any image or video model. Text keeps wardrobe and framing stable; for the same FACE across images, generate the canonical frame once and pass it back as a reference image (has_reference). Paid per call over x402: the first attempt answers HTTP 402 with the price. Invalid arguments are refused before any payment.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"appearance": {
"additionalProperties": false,
"description": "The canon. Every prompt carries it verbatim. At least one field, or a trait, is required.",
"properties": {
"build": {
"description": "height, frame, posture",
"type": "string"
},
"distinguishing": {
"description": "the one detail someone would describe first",
"type": "string"
},
"eyes": {
"description": "colour, shape, anything unusual",
"type": "string"
},
"face": {
"description": "features, apparent age, how they hold their expression",
"type": "string"
},
"hair": {
"description": "colour, length, style",
"type": "string"
},
"held": {
"description": "bag, phone, cup, tool — what the hands actually hold",
"type": "string"
},
"outfit": {
"description": "materials, colours, silhouette",
"type": "string"
},
"skin": {
"description": "tone, texture, freckles, scars, lines",
"type": "string"
}
},
"type": "object"
},
"choices": {
"additionalProperties": false,
"description": "The shot. Unset axes use neutral defaults.",
"properties": {
"action": {
"description": "Action. One of: standing, squared, walking, turning, over-shoulder, seated, leaning, arms-crossed, reaching, crouched, speaking, still-profile, sitting-desk, hands-pockets, laughing — or free text of your own.",
"type": "string"
},
"angle": {
"description": "Camera angle. One of: eye, low, high, three-quarter-turn, profile, none",
"enum": [
"eye",
"low",
"high",
"three-quarter-turn",
"profile",
"none"
],
"type": "string"
},
"environment": {
"description": "Environment. One of: seamless, neutral, interior, street, landscape, none — or free text of your own.",
"type": "string"
},
"lens": {
"description": "Lens. One of: 35, 50, 85, 135, none",
"enum": [
"35",
"50",
"85",
"135",
"none"
],
"type": "string"
},
"lighting": {
"description": "Lighting. One of: soft-key, rim, golden, overcast, low-key, practical, none",
"enum": [
"soft-key",
"rim",
"golden",
"overcast",
"low-key",
"practical",
"none"
],
"type": "string"
},
"seed": {
"description": "Hold it across a set; a contact sheet is only comparable with the seed fixed.",
"type": "string"
},
"shot": {
"description": "Shot size. One of: full, three-quarter, medium, close, extreme-close",
"enum": [
"full",
"three-quarter",
"medium",
"close",
"extreme-close"
],
"type": "string"
},
"style": {
"description": "Render style. One of: photo, cinematic, illustration, painterly, render3d, anime",
"enum": [
"photo",
"cinematic",
"illustration",
"painterly",
"render3d",
"anime"
],
"type": "string"
}
},
"type": "object"
},
"custom_traits": {
"items": {
"additionalProperties": false,
"description": "A trait not in the list.",
"properties": {
"description": {
"description": "e.g. Red knit scarf, wrapped twice",
"type": "string"
},
"name": {
"description": "e.g. Scarf",
"type": "string"
}
},
"type": "object"
},
"maxItems": 6,
"type": "array"
},
"has_reference": {
"description": "True when a canonical image will be attached; the prompts then defer the face to it.",
"type": "boolean"
},
"name": {
"description": "What to call the character in the prompt. Optional.",
"type": "string"
},
"traits": {
"additionalProperties": false,
"description": "Details models tend to drop. Include a key only if the character has it.",
"properties": {
"facial-hair": {
"description": "style, length, how grey. Adds a negative prompt that stops it disappearing between generations.",
"type": "string"
},
"glasses": {
"description": "frame shape, colour, thickness, tint. Adds a negative prompt that stops it disappearing between generations.",
"type": "string"
},
"headwear": {
"description": "what it is, how it sits, how much hair it covers. Adds a negative prompt that stops it disappearing between generations.",
"type": "string"
},
"ink": {
"description": "where they are, what they show, how visible under clothing. Adds a negative prompt that stops it disappearing between generations.",
"type": "string"
},
"mobility": {
"description": "wheelchair, cane, crutches, prosthesis — type, material, which side. Adds a negative prompt that stops it disappearing between generations.",
"type": "string"
}
},
"type": "object"
},
"video": {
"additionalProperties": false,
"description": "The clip.",
"properties": {
"ambient": {
"description": "Ambient",
"enum": [
"still",
"breeze",
"dust",
"flicker"
],
"type": "string"
},
"camera": {
"description": "Camera move",
"enum": [
"locked",
"push-in",
"push-out",
"orbit"
],
"type": "string"
},
"motion": {
"description": "Motion",
"enum": [
"blink",
"breathe",
"weight",
"turn-to",
"look-away",
"smile",
"step",
"speak",
"hair"
],
"type": "string"
}
},
"type": "object"
},
"walk_axis": {
"description": "Return a contact sheet: one prompt per option of this axis, everything else held.",
"enum": [
"action",
"shot",
"angle",
"lens",
"lighting",
"environment",
"style"
],
"type": "string"
}
},
"type": "object"
},
"name": "build_character_prompts"
}
]
}What the leaf hashes
{"body":"39d3923af2ddd1c78ca67fcc372fdb119369c7ff9eb49741cf2f78c29b609251","id":565431,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793138156971693,"prev":null,"subject":"21b4f792-45e0-4001-905b-f6a8c5ac6f33","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0xcd0c595cf86e82ec5378a9ac88c5250abe12ca358801e83f550905f799568658
- 0x273f154203f8463510bdefe058d84e26e60cfda9d4df8d44c2f9f5a906472d72
- 0xbfbd3981a0148f431db7ace8b250528475b93195c3844f02493e3b400c42a581
- 0x438f6f21efc0229e4ea118419c428dce792fa041f327782da602c708b4b4b64f
- 0xf58657886255594231675e878efce546e3e80258264ac7826295dd8a40108501
- 0x3d9aab6f31e2f4f279977fa261dd4044299c65b8edd26e7d1557baad8f36b613
- 0x6d288696d985dc86371d474c2fda64fb85c121919b9e1d993c4981b345cdae3f
- 0x0877eca85d2882180b41453b5721d62e63d956a197eb58e521a0bc790e5c9c4c
- 0x1ca8f16d15a32037141b41350f45e89e3f2e67002547320aaced65fd644ab9b0
- 0xb8405eeba75c6be56beb524c5fd7accc70de5ceb18b5c0866feaa3130c03653b
- 0xf6faea553d6354c2881afaf6cc13a2f3a8290ee9597618bbe3c61a828c5e4c23
- 0x6c0803f2d7123e0bcd2a148e9fde0f429f31dc964ced287e760ee656fcd9912f
- 0xeb77e9d1884bf470f4a13a5869956a83ac37957112a29ccb9e63ddf7791b5a0b
- 0xcc49fd573532e5a29f5be4033f62a2eff71456c020bd2258312b98e95cfe301e
- 0x969cd44e5a4e8dc3110540398fbf689659eb51df735c1cda5d8f021ef9ff5683
- 0xa94627de1af0e823832e05a9069b304ecccb8c0cdb8f9cfc4f2039bfb9799dc5
- 0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310
- 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4