Unsiloed AI

Creates a parse job for a PDF, JPEG, PNG, WEBP or PPTX document sent by URL or as a multipart upload, and returns the job id at once. Word, TIFF and other formats are converted to PDF first. Poll GET /parse/{job_id} for the ordered chunks with Markdown, HTML, OCR text, bounding boxes and confidence per segment. Options select the layout model, OCR engine, page range, output fields and exports. Excel workbooks go to POST /parse/excel. Usage is the page count of the document.

InferenceLiveeip155:8453Exactvia cdp
Document-aiOcrPdfExtractionParsing
Calls · 30d
2→ 0%
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 3 snapshots so far.
$0.24
Verified settled volume
7 settlements proven x402 by their on-chain EIP-3009 marker.
$0.020
Listed price
As published in the catalog. Always read the live 402 before paying.
2
Calls · 30d
Upstream's own call count for this endpoint, not ours.
1
Unique payers · 30d
Last called 2026-10-12 20:26Z
—
Upstream on-chain volume
Reported by the source catalog.
Paid to
0x2e01c7239636d3c27eafd45d9a869a525aaa149f

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.02USDC≈ $0.02 USD
on Base · exact scheme

Pay 0.02 USDC on Base to 0x2e01…a149f. The signed payment is good for 5 minutes.

USD Coin contract
0x8335…02913
Payment window
5 minutes
As published
20000 smallest units
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "billing": {
        "model": "prepaid",
        "description": "amount is the price and is charged in full when you pay, and is not returned if delivery fails: this rail settles once and cannot give change. (Exact entries appear only on fixed-price requests - ceiling-priced requests are offered the reserve-and-pay-actual entry instead.)"
      },
      "version": "2",
      "zeroclick": {
        "kind": "transaction",
        "zcRequestId": "zcreq_MbyNitg2iCkkP29KNhdEN",
        "agentPaymentId": "apay_DV8v2f_Ezwb63zADpCDz9"
      }
    },
    "payTo": "0x2e01c7239636d3c27eafd45d9a869a525aaa149f",
    "amount": "20000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 300
  }
]

Extensions

{
  "terms": {
    "info": {
      "note": "By paying this challenge, whether directly or through an agent acting on your behalf, you accept Unsiloed AI's terms of service and the platform's buyer terms of service; an agent's payment and acceptance are attributed to you and bind you as if you had taken them yourself.",
      "links": [
        {
          "url": "https://www.unsiloed.ai/terms",
          "kind": "terms_of_service"
        },
        {
          "url": "https://www.unsiloed.ai/privacy",
          "kind": "privacy_policy"
        },
        {
          "url": "https://www.zeroclick.ai/legal/buyer-terms-of-service",
          "kind": "platform_terms_of_service"
        }
      ]
    },
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "links"
      ],
      "properties": {
        "note": {
          "type": "string"
        },
        "links": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "kind",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "kind": {
                "enum": [
                  "terms_of_service",
                  "privacy_policy",
                  "additional_terms",
                  "platform_terms_of_service"
                ],
                "type": "string"
              }
            }
          }
        }
      }
    }
  },
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "url": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
        },
        "type": "http",
        "method": "POST",
        "bodyType": "json"
      }
    },
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "properties": {
            "body": {
              "type": "object",
              "example": {
                "url": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
              },
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "format": "uri",
                  "description": "Public or presigned URL of the document to process. To upload the file itself instead, send multipart/form-data with the file in the file field as the Unsiloed docs show; uploads above 10 MB must use a URL."
                },
                "detect_pii": {
                  "type": "boolean",
                  "default": false,
                  "description": "Run a PII detection pass first. When PII at or above pii_block_severity is found the job is not created and the response says so."
                },
                "ocr_engine": {
                  "enum": [
                    "UnsiloedHawk",
                    "UnsiloedBeta",
                    "UnsiloedStorm"
                  ],
                  "type": "string",
                  "description": "OCR engine: Hawk for complex layouts and mixed content (the documented default), Beta for rotated or warped text, Storm for 50 plus languages."
                },
                "page_range": {
                  "type": "string",
                  "description": "Pages to process, for example 1-5, 2,4,6 or [1,3,5]. Defaults to all pages."
                },
                "pii_engine": {
                  "enum": [
                    "standard",
                    "advanced"
                  ],
                  "type": "string",
                  "default": "standard",
                  "description": "PII detector: standard is the fast pattern engine, advanced has higher precision."
                },
                "agentic_ocr": {
                  "enum": [
                    "standard",
                    "advanced"
                  ],
                  "type": "string",
                  "description": "Re-reads each segment with an agentic OCR model after layout detection for higher accuracy; omit to disable."
                },
                "merge_tables": {
                  "type": "boolean",
                  "default": false,
                  "description": "Stitch tables that continue across page breaks into one table by matching headers and columns."
                },
                "ocr_strategy": {
                  "enum": [
                    "auto_detection",
                    "force_ocr"
                  ],
                  "type": "string",
                  "default": "auto_detection",
                  "description": "auto_detection runs OCR only where the page needs it; force_ocr runs it on every page."
                },
                "xml_citation": {
                  "type": "boolean",
                  "default": false,
                  "description": "Extract the bibliography of a research PDF and hyperlink in-text citations in the Markdown. PDFs only."
                },
                "export_format": {
                  "type": "array",
                  "items": {
                    "enum": [
                      "docx",
                      "markdown",
                      "json"
                    ],
                    "type": "string"
                  },
                  "description": "Export files to generate after parsing; their download links appear in the exports field of the result."
                },
                "extract_links": {
                  "type": "boolean",
                  "default": false,
                  "description": "Attach hyperlink URLs from PDF annotations to the OCR results."
                },
                "output_fields": {
                  "type": "string",
                  "description": "JSON-encoded object of booleans to drop fields from each segment: html, markdown, ocr, image, content, bbox, confidence, embed, chart_data. All default to true."
                },
                "error_handling": {
                  "enum": [
                    "Continue",
                    "Fail"
                  ],
                  "type": "string",
                  "default": "Continue",
                  "description": "Continue skips segments that fail (for example a model refusal); Fail stops the job on the first error."
                },
                "extract_colors": {
                  "type": "boolean",
                  "default": false,
                  "description": "Carry text colour from the PDF text layer into the OCR results."
                },
                "segment_filter": {
                  "type": "string",
                  "default": "all",
                  "description": "Comma-separated segment types to keep (table, picture, formula, text, sectionheader, title, listitem, caption, footnote, pageheader, pagefooter, keyvaluepair, signature, seal, page) or all."
                },
                "layout_analysis": {
                  "enum": [
                    "smart_layout_detection",
                    "page_by_page",
                    "advanced_layout_detection"
                  ],
                  "type": "string",
                  "default": "smart_layout_detection",
                  "description": "How pages are segmented: smart_layout_detection finds headers, sections, tables and figures with bounding boxes; page_by_page treats each page as one segment (fastest); advanced_layout_detection runs a vision model for dense or unusual layouts."
                },
                "merge_batch_size": {
                  "type": "integer",
                  "default": 20,
                  "minimum": 2,
                  "description": "Most tables per merge group when merge_tables is on."
                },
                "response_profile": {
                  "enum": [
                    "slim",
                    "full",
                    "custom"
                  ],
                  "type": "string",
                  "description": "slim returns only embed text, bbox, page number, segment id and type plus HTML for tables or Markdown for the rest; full returns everything; custom honours output_fields."
                },
                "segment_analysis": {
                  "type": "string",
                  "description": "JSON-encoded object setting, per segment type, whether HTML and Markdown come from a vision model (VLM) or straight from OCR (Auto), the model id, a custom prompt and optional translation. See the Unsiloed parse reference for the per-type defaults."
                },
                "validate_segments": {
                  "type": "string",
                  "description": "JSON-encoded array of segment types to re-check with a vision model, for example [\"Table\",\"Formula\",\"Picture\"]. Defaults to Table and Picture."
                },
                "pii_block_severity": {
                  "enum": [
                    "any",
                    "low",
                    "medium",
                    "high"
                  ],
                  "type": "string",
                  "default": "any",
                  "description": "Severity that blocks the job when detect_pii is on: any finding, quasi-identifiers (names, dates, locations), contact details (email, phone), or direct identifiers only (SSN, passport, card numbers)."
                },
                "segment_type_naming": {
                  "enum": [
                    "Unsiloed",
                    "Other"
                  ],
                  "type": "string",
                  "default": "Unsiloed",
                  "description": "Segment type names: Unsiloed (PageHeader, ListItem, Picture) or Other (Header, List Item, Figure)."
                },
                "use_high_resolution": {
                  "type": "boolean",
                  "description": "Use high-resolution page images for cropping and OCR. Better on poor scans, about 2 to 3 seconds more per page."
                },
                "segmentation_version": {
                  "enum": [
                    "v1",
                    "v2"
                  ],
                  "type": "string",
                  "default": "v1",
                  "description": "Layout model. v2 is form-aware and also returns KeyValuePair, Signature and Seal segments; use it for forms and applications."
                },
                "enhance_reading_order": {
                  "type": "boolean",
                  "default": false,
                  "description": "Reorder segments into natural reading order; recommended for multi-column layouts. No effect with page_by_page."
                },
                "extract_strikethrough": {
                  "type": "boolean",
                  "default": false,
                  "description": "Keep strikethrough formatting in the HTML and Markdown output."
                }
              }
            },
            "type": {
              "type": "string",
              "const": "http"
            },
            "method": {
              "enum": [
                "POST",
                "PUT",
                "PATCH"
              ],
              "type": "string"
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      }
    }
  },
  "zeroclick": {
    "info": {
      "payment": {
        "id": "apay_DV8v2f_Ezwb63zADpCDz9",
        "amountUsd": "0.020000"
      },
      "service": "parse",
      "requestId": "zcreq_MbyNitg2iCkkP29KNhdEN"
    },
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "payment"
      ],
      "properties": {
        "agentId": {
          "type": "string"
        },
        "payment": {
          "type": "object",
          "required": [
            "id",
            "amountUsd"
          ],
          "properties": {
            "id": {
              "type": "string"
            },
            "amountUsd": {
              "type": "string"
            }
          }
        },
        "service": {
          "type": "string"
        },
        "requestId": {
          "type": "string"
        }
      }
    }
  }
}

Provenance

Seen in the source catalog
2026-10-12 20:26Z
Last indexed by Roundhouse
2026-10-14 01:11Z
Last enriched (probe, favicon, geo)
2026-10-12 21:15Z
x402 version
2
Max timeout
300s
Liveness probe
HTTP 404
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 3 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service Unsiloed AI and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=Unsiloed%20AI'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://agents.prod.visionapi.unsiloed.ai/parse, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Either pay over x402 (mint a personal key for $0.01 at
GET https://api.roundhouseai.io/v0/test/x402), or ask me for an organization key, which I create at
https://roundhouseai.io/dashboard/connections. If you have neither, ask before going further.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.