Agent Exchange Media

Pay-per-call AI media and inference, no API key

13 routes on Cloudflare Workers AI, paid per call in USDC on Base with the x402 protocol. Prices from $0.001 to $5.00. No account, no key, no subscription; the first request answers 402 with the exact terms.

Routes and prices

RouteWhat it does (Workers AI model ids)Price (USDC)Free sample
POST /image
Text to image
One 1024x1024 JPEG from a text prompt with FLUX.1 [schnell] (1-8 steps); Stable Diffusion XL base (PNG) if FLUX fails.
@cf/black-forest-labs/flux-1-schnell, @cf/stabilityai/stable-diffusion-xl-base-1.0
$0.02sample
POST /caption
Image caption
One or two sentences describing an image (LLaVA 1.5 7B; Llama 3.2 11B Vision as fallback).
@cf/llava-hf/llava-1.5-7b-hf, @cf/meta/llama-3.2-11b-vision-instruct
$0.005sample
POST /speech
Text to speech
MP3 speech for up to 2,000 characters with MeloTTS (en, es, fr, zh, ja, ko); Deepgram Aura-1 (English) as fallback for texts under 600 characters.
@cf/myshell-ai/melotts, @cf/deepgram/aura-1
$0.01sample
POST /transcribe
Speech to text
Transcript of an audio file up to 10 MB with Whisper large-v3-turbo (Whisper as fallback up to 3 MB).
@cf/openai/whisper-large-v3-turbo, @cf/openai/whisper
$0.01sample
POST /translate
Translate
Translation between 100 languages with Meta M2M100 1.2B (Llama 3.1 8B with a translation prompt as fallback).
@cf/meta/m2m100-1.2b, @cf/meta/llama-3.1-8b-instruct-fp8
$0.002sample
POST /summarize
Summarize
A summary of up to 20,000 characters of text by Llama 3.1 8B instruct with a summarization prompt (BART-large-CNN is no longer in the Workers AI catalog).
@cf/meta/llama-3.1-8b-instruct-fp8, @cf/meta/llama-3.2-3b-instruct
$0.002sample
POST /embed
Embeddings
1024-dimension multilingual embeddings for up to 32 texts per call with BAAI bge-m3 (bge-base-en-v1.5, 768 dims, as fallback).
@cf/baai/bge-m3, @cf/baai/bge-base-en-v1.5
$0.001sample
POST /chat
Chat completions
OpenAI-style chat completion: Llama 3.1 8B instruct fp8 for $0.005, or Llama 3.3 70B instruct fp8-fast for $0.02 when model is "llama-3.3-70b".
@cf/meta/llama-3.1-8b-instruct-fp8, @cf/meta/llama-3.3-70b-instruct-fp8-fast, @cf/meta/llama-3.2-3b-instruct
$0.005
$0.02 70B
sample
POST /classify
Classify text
Sentiment (POSITIVE/NEGATIVE with scores) from DistilBERT SST-2, or zero-shot into 2-10 labels of your own with Llama 3.1 8B when labels are sent.
@cf/huggingface/distilbert-sst-2-int8, @cf/meta/llama-3.1-8b-instruct-fp8
$0.001sample
POST /ocr
Read text in an image
The text visible in an image, read by a vision-language model (LLaVA 1.5 7B; Llama 3.2 11B Vision as fallback). Not a dedicated OCR engine.
@cf/llava-hf/llava-1.5-7b-hf, @cf/meta/llama-3.2-11b-vision-instruct
$0.005sample
POST /detect-language
Detect language
Language of a text by a heuristic: Unicode script ranges plus stopword frequencies for 20 Latin-script languages. No model.
no model
$0.001sample
POST /batch
Batch of 100
Up to 100 items across embed, translate, summarize and classify in one request for $1.00, each item answered separately.
@cf/baai/bge-m3, @cf/meta/m2m100-1.2b, @cf/meta/llama-3.1-8b-instruct-fp8, @cf/huggingface/distilbert-sst-2-int8
$1.00sample
POST /image-set
Image set of 20
Twenty 1024x1024 JPEGs from a list of 1-20 prompts with FLUX.1 [schnell] at 1-4 steps each (schnell-grade quality), returned as base64.
@cf/black-forest-labs/flux-1-schnell
$5.00sample

Every paid route takes a JSON body by POST. Unpaid GET, HEAD and POST all answer 402 with the same terms. Limits and the fallback rules are on pricing; each sample shows a request and a response.

How to pay

Send the request. The answer is 402 Payment Required with an accepts list: scheme exact, network Base (eip155:8453), asset USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, payTo 0xc91cE6291eDC0713ec753BAFBA002506ffb2b95c, amount in USDC atomic units (10000 = $0.01). Sign the EIP-3009 authorization for that amount and resend the identical request with the X-PAYMENT header (v1) or PAYMENT-SIGNATURE (v2). The facilitator (facilitator.payai.network) verifies and settles on chain, the model runs, and the response carries PAYMENT-RESPONSE. Any x402 client works (x402-fetch, @x402/fetch, Coinbase AgentKit). If the model fails after settlement the call answers 502 and the same X-PAYMENT is honoured once more within 10 minutes (terms).

curl -s -X POST https://media.agentexchange.work/image -H 'content-type: application/json' -d '{"prompt":"a lighthouse at dawn"}'
# -> 402 {"x402Version":1,"accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"20000","payTo":"0xc91cE6291eDC0713ec753BAFBA002506ffb2b95c",...}]}
curl -s -X POST https://media.agentexchange.work/image -H 'content-type: application/json' -H "X-PAYMENT: $SIGNED" -d '{"prompt":"a lighthouse at dawn"}'
# -> 200 {"image_base64":"/9j/...","mime":"image/jpeg","model":"@cf/black-forest-labs/flux-1-schnell","seed":null,"steps":4,"took_ms":2900}

Models

All inference runs on this account's Workers AI binding; the model ids below were checked against the Workers AI catalog on 2026-09-30 (each model page answered 200). Unit prices are Cloudflare's list prices from the pricing page (fetched 2026-09-30 23:17 UTC); pricing sets them against ours.

Model idUsed forWorkers AI list price
@cf/black-forest-labs/flux-1-schnelltext-to-image
1024x1024 JPEG, 1-8 steps
$0.0000528 per 512x512 tile + $0.0001056 per step
@cf/stabilityai/stable-diffusion-xl-base-1.0text-to-image (fallback)
PNG
$0.00 per step (beta; listed price on the model page)
@cf/llava-hf/llava-1.5-7b-hfimage caption, OCR
vision-language model
no unit price published (beta); billed in neurons at $0.011 per 1,000
@cf/meta/llama-3.2-11b-vision-instructcaption, OCR (fallback)
needs a one-time 'agree' request on the account (Meta licence)
$0.049 per M input tokens, $0.676 per M output tokens
@cf/myshell-ai/melottstext to speech
MP3; en, es, fr, zh, ja, ko
$0.0002 per audio minute
@cf/deepgram/aura-1text to speech (fallback, <600 chars)
MP3, English
$0.015 per 1,000 input characters
@cf/openai/whisper-large-v3-turbospeech to text
base64 audio in
$0.0005 per audio minute
@cf/openai/whisperspeech to text (fallback, <=3 MB)
byte-array audio in
$0.0005 per audio minute
@cf/meta/m2m100-1.2btranslation
100 languages
$0.342 per M input tokens, $0.342 per M output tokens
@cf/baai/bge-m3embeddings
1024 dims, multilingual
$0.012 per M input tokens
@cf/baai/bge-base-en-v1.5embeddings (fallback)
768 dims, English
$0.067 per M input tokens
@cf/meta/llama-3.1-8b-instruct-fp8chat, summarize, zero-shot classify, translate fallback
32k context
$0.152 per M input tokens, $0.287 per M output tokens
@cf/meta/llama-3.3-70b-instruct-fp8-fastchat ($0.02 tier)
24k context
$0.293 per M input tokens, $2.253 per M output tokens
@cf/meta/llama-3.2-3b-instructsummarize, chat 8B fallback$0.051 per M input tokens, $0.335 per M output tokens
@cf/huggingface/distilbert-sst-2-int8sentiment
POSITIVE/NEGATIVE
$0.026 per M input tokens

Three ids requested for this host are no longer in the catalog and were substituted: @cf/meta/llama-3.1-8b-instruct → @cf/meta/llama-3.1-8b-instruct-fp8; @cf/facebook/bart-large-cnn → @cf/meta/llama-3.1-8b-instruct-fp8 with a summarization prompt; @cf/unum/uform-gen2-qwen-500m → @cf/meta/llama-3.2-11b-vision-instruct as the caption fallback.

Today

Route402s servedPaid callsSucceededFailed (replayable)
/image0000
/caption0000
/speech0000
/transcribe0000
/translate0000
/summarize0000
/embed0000
/chat0000
/classify0000
/ocr0000
/detect-language0000
/batch0000
/image-set0000

Counts for 2026-10-02 UTC from KV; totals for the last days in live.json. Money is not counted here: settlements are on chain to 0xc91cE6291eDC0713ec753BAFBA002506ffb2b95c.

Machine access