OCR for agents
OCR for agents: send an image URL or base64 (PNG, JPEG, WebP, GIF; up to 3 MB) and get the text it contains in reading order, as plain text or Markdown (tables, lists). Works on screenshots, receipts, invoices, signs and documents. $0.002 USDC per image on Base; images with no readable text are not charged. Gemma 4 vision. By DevX.
Not tested: has real-world effectsour last check, 2026-10-24
0 of 0checks answered this week
n/amedian answer time
$0.002listed price per call
n/aprice it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://voice.madebydevx.com/v1/ocr
| Category | Image and media |
|---|---|
| Provider host | voice.madebydevx.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"body": {
"image_url": "https://voice.madebydevx.com/samples/invoice.png"
},
"bodyType": "json",
"discoverable": true,
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"format": {
"description": "Output format (default text)",
"enum": [
"text",
"markdown"
],
"type": "string"
},
"image_base64": {
"description": "Base64 image; a data: URI prefix is allowed",
"type": "string"
},
"image_url": {
"description": "Public http(s) URL of the image (max 3 MB)",
"type": "string"
},
"language_hint": {
"description": "Optional expected language",
"maxLength": 40,
"type": "string"
},
"requestKey": {
"description": "Optional idempotency key: the same payer + requestKey + input within 7 days returns the stored result without a second charge.",
"maxLength": 128,
"minLength": 8,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$",
"type": "string"
}
},
"type": "object"
},
"bodyType": {
"enum": [
"json"
],
"type": "string"
},
"discoverable": {
"type": "boolean"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"operation_id": {
"type": "string"
},
"payment": {
"type": "object"
},
"result": {
"type": "object"
},
"status": {
"type": "string"
}
},
"required": [
"operation_id",
"status",
"result"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}