The job
An agent mid-run needs an image from a text prompt. It doesn't know yet whether it'll need this again tomorrow, or ever.
Key + invoice, the traditional shape
OpenAI's Images API, Stability AI's Stable Image API, and Replicate's hosted model endpoints all follow the same pattern: create an account, generate an API key, store it somewhere the agent can read it, and get billed on a recurring cycle, sometimes per-call against a prepaid balance, sometimes a flat monthly charge regardless of how many calls actually happened.
That's a reasonable shape for a service that generates images constantly. It's friction for an agent that wants to try a prompt once, or that's spinning up a sub-task and shouldn't be handed a long-lived vendor credential to do it.
Pay-per-call, the x402 shape
Three tiers, priced by model quality:
image-generate, $0.01. Tiers:fast(z-image-turbo, default),creative(chroma),anime(wai-Illustrious),sd35(venice-sd35). Returns a permanent fal-hosted PNG URL in under 5 seconds.image-generate-pro, $0.06. Tiers:balanced(flux-2-pro, default),recraft(recraft-v4),seedream(seedream-v4),grok(grok-imagine-image),qwen(qwen-image).image-generate-ultra, $0.22. Tiers:nano-banana(nano-banana-pro, Google Gemini Image 3, default),nano-banana-2,nano-banana-lite,grok-sota.
No signup. The x402 402 response quotes the exact price before the agent's wallet pays it, and settlement is USDC on Base per call, not a running balance, not a monthly bill.
curl -X POST https://x402.agentutility.ai/image-generate \
-H "Content-Type: application/json" \
-d '{"prompt": "a red bicycle leaning against a brick wall, overcast light", "tier": "creative"}'
The first response is a 402 with the price in the payment-required header. Pay it, resend with the payment attached, get the image URL back.
Tradeoffs, honestly
- Volume favors the account. A product that renders thousands of images a day on a negotiated per-call rate will usually beat $0.01-$0.22 per call on unit cost, and the vendor relationship gives you support and SLAs an anonymous paid call doesn't.
- Model choice is bounded on both sides. We carry z-image-turbo through nano-banana-pro across the three tiers. If the job needs a specific house-tuned model or a fine-tune we don't host, the account-based route is the only route.
- x402 wins on the first call, not the thousandth. An agent that's never generated an image before, a one-off script, a sub-agent spun up for a single task: none of them want to hold a vendor API key for a call they'll make once. x402 removes the account step entirely.
- Price visibility is different in kind. A key-and-invoice API tells you the price in documentation you read beforehand and reconciles it on a bill you see later. x402 puts the price in the response to the actual request, at the moment the agent decides whether to pay it.
When the workflow needs more than an image
image-generate-localize (compose cluster, $0.04) runs image-generate and translate behind one call, returning the generated image plus a caption already translated into the target language, the pairing agents were already doing as two separate calls, collapsed into one.
Bottom line
Use a traditional account-based image API when the volume is high and predictable and the vendor relationship matters. Use image-generate (or its -pro / -ultra tiers) when the call is occasional, the agent shouldn't hold a stored key, or the price needs to be visible in the response instead of on next month's invoice.