Pricing

img402 is an image hosting API with three tiers. No accounts, no API keys, no billing dashboard.

Free1 yearPermanent*
Price$0$0.01 USDC$1.00 USDC
Endpoint/api/free/api/upload/token/api/upload/token/permanent
Max file size1 MB5 MB5 MB
Retention7 days1 yearPermanent
AuthNonex402 paymentx402 payment
FormatsPNG, JPEG, GIF, WebP
CDNCloudflare (global edge caching)

* Permanent images are retained for the life of the service. If we ever shut down, we will give at least 90 days notice on this site before taking images offline. See the Terms of Service for details.

Why pay?

The free tier is good for trying things out. Paid tiers are for anything you want to keep:

At $0.01 per upload, 10 screenshots in a PR costs $0.10. A blog post's hero image hosted forever is $1.

How payment works

img402 uses x402, an open protocol for HTTP-native payments. There are no accounts to create and no API keys to manage. Payment is authentication.

  1. Request a token from POST /api/upload/token (or /api/upload/token/permanent for the $1 tier) — the server responds 402 with payment instructions
  2. Your client pays USDC on Base and retries — the server returns a single-use upload token
  3. Upload your image to POST /api/upload with the token in the X-Upload-Token header

x402-compatible clients (like the Payments MCP tool) handle steps 1-2 automatically. From your perspective, it's one HTTP call for the token, then a curl to upload the file.

Full example
# Step 1: Pay for a token (x402 handles payment)
POST /api/upload/token            # $0.01 / 1 year
POST /api/upload/token/permanent  # $1 / permanent
# → {"token": "a1b2c3...", "expiresAt": "..."}

# Step 2: Upload with the token
curl -X POST https://img402.dev/api/upload \
  -H "X-Upload-Token: a1b2c3..." \
  -F [email protected]
# → {"url": "https://i.img402.dev/abc123.png"}

Try it now

No wallet needed. Upload an image right now:

bash
curl -F [email protected] https://img402.dev/api/free

See the API docs for full endpoint reference, error codes, and integration examples.