# CrowdSpark Agent Tools – OCR from Uploaded Image

> CrowdSpark Agent Tools – OCR from Uploaded Image is a paid API for AI agents from agents.crowdspark.me, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-31).

Extracts text from an uploaded PNG, JPEG, or WebP image using OCR, returning the recognized text as a string

## Facts

- Endpoint: POST https://agents.crowdspark.me/v1/ocr/upload?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/crowdspark-agent-tools-ocr-from-uploaded-image-5291ffa7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_yI1O0Z2mx5OievEyxMRi4

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability crowdspark-agent-tools-ocr-from-uploaded-image-5291ffa7 -d '<json body>'
```

Example prompt: Can you extract all the text from this receipt image I'm uploading? It's a PNG of a printed restaurant receipt and I need the itemized text pulled out.

## When to prefer this

Use this endpoint when you have a raw image file (PNG, JPEG, or WebP) and need to extract its textual content programmatically. It supports multiple upload formats (raw body, multipart form-data, or base64 JSON), making it flexible for different pipeline architectures. It is best suited for receipts, invoices, scanned documents, screenshots, forms, and signage. Prefer the sibling PDF-to-text endpoint for PDF files, and the one-call document parsing endpoint when you also need structured field extraction (not just raw text).

## Known failure modes

- HTTP 400 if the uploaded file is not a valid PNG, JPEG, or WebP (with a hint message explaining the issue)
- HTTP 400 if the file exceeds the 10 MB size limit
- HTTP 400 if no image body is provided or the content-type is unsupported
- Poor OCR accuracy on very low-resolution, heavily skewed, or handwritten images (text returned but may contain errors)
- Empty or partial text if the image has very little contrast or is mostly non-textual

## How this service works

Pay-per-call utilities for AI agents over x402, USDC on Base.

## Output

A JSON object with a single field `text` containing all recognized text extracted from the image, preserving line breaks as they appear in the source image (e.g. {"text": "RECEIPT Cafe Nova\nOrder #: 4821\nTOTAL $12.40"}). On error, returns HTTP 400 with a descriptive hint about what went wrong; bad files are not charged.

## Request schema (JSON Schema)

```json
{
 "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",
     "required": [],
     "properties": {}
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "text": "RECEIPT Cafe Nova\nOrder #: 4821\nTOTAL $12.40"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/crowdspark-agent-tools-ocr-from-uploaded-image-5291ffa7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.crowdspark.me](https://www.zero.xyz/host/agents.crowdspark.me/llms.txt)
