English PNG/JPEG static-ad OCR preflight: compare approved copy, locate low-confidence…
English PNG/JPEG static-ad OCR preflight: compare approved copy, locate low-confidence text and edge proximity, report image dimensions and annotated word boxes. Automated review aid, not a guarantee of spelling, contrast, product fidelity or ad-platform appr…
by signalforgestudios.com · discovered, not yet claimed by its owner · updated 2026-10-08
Mirrored from Coinbase's public x402 Bazaar. The description is the provider's own text and has not been reviewed here; the payment requirements are copied as published.
What it does
English PNG/JPEG static-ad OCR preflight: compare approved copy, locate low-confidence text and edge proximity, report image dimensions and annotated word boxes. Automated review aid, not a guarantee of spelling, contrast, product fidelity or ad-platform approval.
Tags: creative-qa · ocr · advertising · image-preflight · bazaar
Call contract
- Method
- POST
- Input
- json
- Output
- json
- Last paid call
- 2026-10-08
{
"approved_copy": [
"SIGNAL FORGE",
"Creative check sample"
],
"image_base64": "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",
"safe_margin_px": 20
}{
"data": {
"annotations": [
{
"box": [
100,
120,
80,
28
],
"confidence": 91,
"text": "Shop"
}
],
"assessment": "review",
"copy_checks": [
{
"approved": "Shop now",
"status": "not_found_by_ocr"
}
],
"image": {
"height": 1920,
"width": 1080
},
"limitations": [
"OCR can miss or misread stylized text. Human review is required."
]
},
"meta": {
"example_only": true
},
"success": true
}Use with an agent
- Discover. Agents find this listing with
GET https://bazaar.saylorinnovations.com/discovery/search?query=…, the MCP toolsearch_resources, or/discovery/resources. - Inspect. Fetch
/resources/28711.jsonfor the price and payment options. - Pay. Call
GET https://signalforgestudios.com/x402/creative-check. The provider answers402with its payment requirements. An x402 client signs one of the options below and retries withPAYMENT-SIGNATURE. - Execute. The provider returns
200with the data. Agent Bazaar is not in the request path and never sees your payment.
For humans
You don't need an account or an API key; you need a wallet holding a small amount of USDC on Base, and an x402-capable client (see the examples below). Call the endpoint unpaid first to see exactly what it asks for.
Pricing & payment
- Price
- $0.05 / request
- Protocol
- x402 v2
- Auth
- No account or API key. Pay per request.
- Networks
- Base
- Demand
- 2 calls · 2 unique payers in 30d (public x402 Bazaar data)
x402 payment requirements
| Scheme | Network | Asset | Amount | Pay to | Timeout |
|---|---|---|---|---|---|
| exact | Base eip155:8453 | USDC | $0.05 | 0x7e4d786057930b66cb45e2017a587425ebade587 | 1800s |
accepts[] (raw JSON)
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x7e4d786057930b66cb45e2017a587425ebade587",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "50000",
"amountUsd": 0.05,
"maxTimeoutSeconds": 1800
}
]Schemas
Output schema (JSON Schema)
{
"properties": {
"example": {
"properties": {
"data": {
"required": [
"assessment",
"image",
"copy_checks",
"annotations",
"limitations"
],
"type": "object"
},
"meta": {
"type": "object"
},
"success": {
"const": true
}
},
"required": [
"success",
"data",
"meta"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}Example shape — generated from the schema, not a captured live response
{
"example": {
"data": {},
"meta": {},
"success": null
},
"type": "string"
}Examples
curl "https://signalforgestudios.com/x402/creative-check"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paidconst res = await fetch("https://signalforgestudios.com/x402/creative-check");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}import httpx
res = httpx.get("https://signalforgestudios.com/x402/creative-check")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerDetails
- Provider
- signalforgestudios.com
- Endpoint
- https://signalforgestudios.com/x402/creative-check
- Machine-readable
/resources/28711.json