addrbookFor publishers
← The evidence ledger

Evidence row 295695

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint ee1f8e2b-2a3d-4ba9-b967-5fb8f39d81e7
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
5c8448b593c69e1ced1133e0f1e55ebe4edd5f7463ff2b017539c6257e64a72b
Leaf
0xaa3b0e6b0930a7908684d4e124b9701703df81172f2eb2b2f2780e4b53f94a42

What was observed

{
  "count": 7,
  "tools": [
    {
      "description": "Start generating a video from a text description with GenMagic (or animate an image: pass 'image' as the opening frame), with any text-to-video model, clip length, resolution and sound the model supports (list_models with category \"video\" shows them and the per-second price). Video is asynchronous, so this returns a job id immediately (nothing is charged yet). Poll it with the get_video tool every few seconds until the status is \"completed\" to get the hosted video URL. A failed render is never charged. On-brand automatically when the account has brand personalization on.",
      "inputSchema": {
        "properties": {
          "aspect_ratio": {
            "description": "Aspect ratio: 16:9 (landscape), 9:16 (portrait), or 1:1 (square). Defaults to 16:9.",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "type": "string"
          },
          "duration": {
            "description": "Clip length in seconds, one of the lengths the model supports (list_models shows durations_seconds). Omit for the model's default.",
            "type": "integer"
          },
          "generate_audio": {
            "description": "Generate sound with the clip on models that support it (list_models shows audio_supported). Omit for the model's default.",
            "type": "boolean"
          },
          "image": {
            "description": "Optional image (an https URL or a data:image URL) the clip opens on: image-to-video. The prompt then describes the motion. list_models shows each model's frame_images, and in its video prices image_input_usd or image_to_video_usd_per_second where a model bills image-to-video apart.",
            "type": "string"
          },
          "last_frame": {
            "description": "Optional image (an https URL or a data:image URL) the clip ends on, for models whose frame_images include last_frame.",
            "type": "string"
          },
          "model": {
            "description": "Optional GenMagic model id for the video (call list_models with category \"video\" for the ids and prices). Omit it to let GenMagic choose its default.",
            "type": "string"
          },
          "prompt": {
            "description": "A description of the video to create.",
            "type": "string"
          },
          "resolution": {
            "description": "Output resolution the model supports, e.g. 720p or 1080p (list_models shows resolutions). Omit for the model's default.",
            "type": "string"
          }
        },
        "required": [
          "prompt"
        ],
        "type": "object"
      },
      "name": "create_video"
    },
    {
      "description": "Generate an image from a text description with GenMagic. Pass 'image' (an https or data URL) to transform THAT image instead of generating from scratch (image-to-image), and type \"logo\" to make a brand mark. Returns the image inline plus a hosted URL. On-brand automatically when the account has brand personalization on.",
      "inputSchema": {
        "properties": {
          "image": {
            "description": "Optional reference image (an https URL or a data:image URL) to transform (image-to-image), e.g. a character to keep consistent.",
            "type": "string"
          },
          "model": {
            "description": "Optional GenMagic model id for the image (call list_models with category \"image\" for the ids and prices). Omit it to let GenMagic choose its default.",
            "type": "string"
          },
          "prompt": {
            "description": "A description of the image to create (or the edit to make when 'image' is given).",
            "type": "string"
          },
          "size": {
            "description": "Image size, e.g. 1024x1024 (square), 1792x1024 (wide), 1024x1792 (tall).",
            "enum": [
              "1024x1024",
              "1792x1024",
              "1024x1792"
            ],
            "type": "string"
          },
          "type": {
            "description": "Set to 'logo' to generate a brand mark instead of a picture.",
            "enum": [
              "image",
              "logo"
            ],
            "type": "string"
          }
        },
        "required": [
          "prompt"
        ],
        "type": "object"
      },
      "name": "generate_image"
    },
    {
      "description": "Generate an original music track from a text description with GenMagic. Returns the audio inline plus a hosted URL. On-brand in mood automatically when the account has brand personalization on.",
      "inputSchema": {
        "properties": {
          "model": {
            "description": "Optional GenMagic model id for the music (call list_models with category \"audio\" for the ids and prices). Omit it to let GenMagic choose its default.",
            "type": "string"
          },
          "prompt": {
            "description": "A description of the music to create (genre, mood, instruments, tempo).",
            "type": "string"
          }
        },
        "required": [
          "prompt"
        ],
        "type": "object"
      },
      "name": "generate_music"
    },
    {
      "description": "Turn text into spoken audio with GenMagic. Returns the audio inline plus a hosted URL. The text is voiced verbatim.",
      "inputSchema": {
        "properties": {
          "input": {
            "description": "The text to speak, read aloud verbatim.",
            "type": "string"
          },
          "model": {
            "description": "Optional GenMagic model id for the speech (call list_models with category \"audio\" for the ids and prices). Omit it to let GenMagic choose its default.",
            "type": "string"
          },
          "voice": {
            "description": "Optional voice name (e.g. alloy); list_models shows each speech model's voices. Defaults to a neutral voice.",
            "type": "string"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      },
      "name": "generate_speech"
    },
    {
      "description": "Generate text with GenMagic: copy, an answer, a draft, code, an SVG graphic, or a complete web page. Pass 'type' to make a specific artifact (\"website\" for a full self-contained HTML page, \"svg\" for a vector graphic, \"code\" for a code snippet, \"writing\" for prose); omit it for plain text. Attach files for the model to read via 'attachments' (PDF, Word/Excel/PowerPoint, CSV, text/code, images, audio); GenMagic converts anything a model cannot ingest natively. If the caller's account has brand personalization on, the output comes out on-brand automatically, and a website or svg also picks up the brand's palette and typeface.",
      "inputSchema": {
        "properties": {
          "attachments": {
            "description": "Files for the model to read. Each item is { name, mime, dataUrl } where dataUrl is a base64 data URL (data:<mime>;base64,...). Any type is accepted: PDF, docx/xlsx/pptx, csv, text/code, images, audio.",
            "items": {
              "properties": {
                "dataUrl": {
                  "description": "data:<mime>;base64,<bytes>",
                  "type": "string"
                },
                "mime": {
                  "description": "MIME type, e.g. application/pdf.",
                  "type": "string"
                },
                "name": {
                  "description": "Filename, e.g. report.pdf.",
                  "type": "string"
                }
              },
              "required": [
                "dataUrl"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "model": {
            "description": "Optional GenMagic model id for the text (call list_models with category \"text\" for the ids and prices). Omit it to let GenMagic choose its default.",
            "type": "string"
          },
          "prompt": {
            "description": "What to write or produce.",
            "type": "string"
          },
          "system": {
            "description": "Optional system instruction to steer tone, role, or format.",
            "type": "string"
          },
          "type": {
            "description": "The kind of artifact to make. Omit for plain text.",
            "enum": [
              "writing",
              "code",
              "svg",
              "website"
            ],
            "type": "string"
          }
        },
        "required": [
          "prompt"
        ],
        "type": "object"
      },
      "name": "generate_text"
    },
    {
      "description": "Check a video started with create_video. Returns \"queued\" or \"processing\" while it renders, \"completed\" with the hosted video URL when it is ready, or a terminal failure if the render failed. Poll every few seconds until it is either completed or failed (both are terminal: stop polling once you see one). The clip is charged once, on completion.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "The video job id returned by create_video.",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "get_video"
    },
    {
      "description": "List the AI models GenMagic runs, newest first, with each one's id, price and key details (context window and capabilities for text, voices for speech, resolutions, clip lengths and sound for video). Pass a model's id as 'model' to generate_text, generate_image, generate_speech, generate_music or create_video. Filter by category and search; the model marked default is the one that runs when no model is named (for generate_text, when no type is given either). Needs no API key and costs nothing.",
      "inputSchema": {
        "properties": {
          "capability": {
            "description": "Text models only: keep models with this capability.",
            "enum": [
              "reasoning",
              "vision",
              "tools",
              "structured"
            ],
            "type": "string"
          },
          "category": {
            "description": "Only models of this kind. audio holds both speech and music models.",
            "enum": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "type": "string"
          },
          "limit": {
            "description": "How many models to return (1-100, default 25).",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "search": {
            "description": "Only models whose id or name contains this text, e.g. veo, flux, claude.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_models"
    }
  ]
}

What the leaf hashes

{"body":"5c8448b593c69e1ced1133e0f1e55ebe4edd5f7463ff2b017539c6257e64a72b","id":295695,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793051104032010,"prev":null,"subject":"ee1f8e2b-2a3d-4ba9-b967-5fb8f39d81e7","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0xaa3b05cfe4ed1919646c58b635d216bbf4fb71371baaa17cbdb8834ac0ea9d2a
  2. 0x420960853fa9a6100b0613ece009693217d8992f541ad5644df6844230bc3313
  3. 0x6c3fcc43400f77865e1e0b83f72544ebcd379ca8ded3b83ea38e7cc4462c9241
  4. 0x8f97fe17849b64b5c5c285da90b10bb503a2fb71fefa6dd07be3e3f70105dd84
  5. 0xaa13a58051ebb24260db2689d6c8d82eeb48ef10dce75a94430da5f50f93ec31
  6. 0xbf0e2fdf59927827fef01e055aaec88cc9b55a3560841bf638c0cea1f23fd139
  7. 0xe765975b9a79549be5205a2b533ec318c374d0a97c08d107780d12da00b406a0
  8. 0x1384e1ef3d0d8138ca28b70f42df9158e31049aa3e35eba3cecfa1f55851e740
  9. 0xe7f83b801d018002e7531c4480322b014df1895f3992ff851869b6321bddda45
  10. 0x382774117c6a99ced4320ca176d4e72cc7226f2fa6e3d8ac0173511fe55d6919
  11. 0x55ba80743bf45624f0b04651dfd0a37e2a85f91f45e334ff14efbb74a49dd361
  12. 0x09a19b8d31a6e948e5051cb72b98b1d2b2bfe053f62d6d24d61c22b3ed1c3f24
  13. 0x4700d6dfdb40e52e2ceb8ffe62c75f3f708d23452f828255fd003d795f5d9d66
  14. 0x3b4dba7d874fc323b0a364140a9c60f37bf547fe671897653118a9873fe03420
  15. 0x1a74ed3b3756b9cd946da49701bcec120ec88645013da99fa9eea60b39e1a570
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON