x402-image-api
x402 Image API
Bezahlte KI-Bildgenerierung über das x402-Protokoll – $0.001/Bild, USDC auf Base, keine API-Schlüssel.
Live-Endpunkt: https://x402.chaly.org · health · OpenAPI 3.1 · .well-known/x402 · llms.txt
Der x402-Standard belebt HTTP 402 Payment für Zahlungen zwischen Maschinen neu: Ein Käufer (Mensch oder KI-Agent) sendet per POST einen Prompt, erhält ein signiertes Zahlungsangebot im PAYMENT-REQUIRED-Header, autorisiert mit seiner Wallet eine EIP-3009-USDC-Übertragung, wiederholt die Anfrage, und ein Drittanbieter-Facilitator verifiziert und wickelt das Settlement onchain ab. Keine Konten, keine API-Schlüssel, keine Gasgebühren für den Käufer – die Zahlung IST die Authentifizierung.
POST /generate {prompt} → 402 + PAYMENT-REQUIRED (machine-readable offer)
↳ buyer signs EIP-3009 authorization (USDC on Base)
POST /generate {prompt} + PAYMENT-SIGNATURE
→ 202 {jobId, pollUrl, estimatedSeconds}
GET /result/:id every ~5s → processing … → done {urls: [...]}Preise
Qualität | Megapixel | pro Bild |
| 1K | $0.001 |
Der Gesamtpreis = Einzelpreis × Anzahl (
count1–8, oder Batchitems: [["prompt", n], …], gesamt ≤ 8).Das Seitenverhältnis ist kostenlos.
Größere Stufen existieren in der internen Preistabelle, ausgewiesen werden aber nur auslieferbare Stufen.
Das Pricing ist dynamisch: Das 402-Angebot wird pro Anfrage aus dem
bodyberechnet (PRICE_TABLEinserver.js), sodass der Käufer genau die Zahlung angeboten bekommt, die vom Handler generiert wird.
Related MCP server: forgemesh-imagegen
Schnellstart für Käufer
npm i @x402/fetch @x402/evm viemimport { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.BUYER_PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPaymentFromConfig(fetch, {
schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }],
});
// 402 → auto-pay → retry → 202 {jobId, pollUrl}
const res = await fetchWithPay("https://x402.chaly.org/generate", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ prompt: "a red cube on a blue table", count: 1 }),
});
const job = await res.json();
// poll GET job.pollUrl every 5s until status === "done"Eine vollständig lauffähigen Client (inklusive Polling) findest du in client.mjs.
MCP-Server
mcp-server.mjs stellt die API als MCP-Tools bereit (image_generate, image_health, image_openapi, image_poll), sodass Coding-Agenten direkt Bilder generieren können:
{
"mcpServers": {
"x402-image-api": {
"command": "node",
"args": ["mcp-server.mjs"],
"env": {
"X402_API_URL": "https://x402.chaly.org",
"BUYER_PRIVATE_KEY": "0x…"
}
}
}
}Die nicht zahlungspflichtigen Tools (health/openapi/poll) funktionieren ohne Schlüssel.
Selbsthosting
npm install
cp .env.example .env # set PAY_TO_ADDRESS (public address only!)
npm start # node --env-file=.env server.js → :4021Wichtige Umgebungsvariablen: PAY_TO_ADDRESS, X402_NETWORK (eip155:8453), X402_FACILITATOR_URL (z. B. PayAI), PORT, OUT_DIR, PUBLIC_URL, MAX_COUNT sowie MEDIA_IO_PROJECT_DIR – der Pfad zu deinem Generation-Backend.
Plug-bar-Backend: Die Express-Layer startet pro Anfrage einen einmaligen Worker-Subprozess und liest eine einzelne JSON-Zeile als letzte stdout-Ausgabe. Dieses Repository liefert den eigentlichen Bridge-Worker (gen_worker.py) nicht mit; er wird privat gehalten. Um einen eigenen Generator anzubinden, stelle ein ausführbares Programm bereit, das
{prompt, aspect, megapixels, quality, count, …}als JSON vonstdinliest,{ok, urls: [...], …}als letztestdout-Zeile schreibt,im Fehlerfall mit einem Exit-Code ungleich 0 endet.
Öffentliche Bereitstellung (ohne VPS)
Ein Claude? No.
A Cloudflare Tunnel ist der einzige Eingang – TLS endet an Cloudflares Edge und ein ausgefallener Origin-Server liefert automatisch 503/530 aus (kostenloser Heartbeat). Die vollständige Anleitung steht in cloudflared/README.md; parallele Startskripte gibt es in scripts/ (+ systemd-Units für Linux).
Design-Hinweise
Middleware-Reihenfolge ist wichtig:
express.json()läuft vor der Payment-Middleware, damit die Dynamik-Preis-Funktion den geparsten Body lesen kann – sonst wird ein$0.008-Batch stillschweigend als ein einzelnes$0.001-Bild angeboten.Kapazitäts-Gate vor der Zahlung: Eine Middleware vor der Zahlung gibt
503 insufficient_capacityzurück, wenn heute kein Generierungsslot verfügbar ist, und bricht damit ab bevor ein 402 ausgelöst wird – Käufer signieren nichts, das wir nicht liefern können.202 + Polling statt langlaufender Antworten: Die Erzeugung dauert ~50–90 s/Bild. Ein Job-Handle wird sofort zurückgegeben, vermeidet so Gateway-Timeouts (Cloudflare-Grenze von 100 s) und eignet sich für Batches mit bis zu 8 Bildern.
White-Label-Ausgabe: PNGs landen unter
GET /images/:file(Hash-Namen, Trafficking guards) und werden von deiner Domain served.Bazaar-Entdeckung:
declareDiscoveryExtensionmacht den Dienst über den x402 Bazaar auffindbar; Agenten können ihn finden, ohne die URL zu kennen.Idempotenz:
"id"rendert deduziert – gecachte Ergebnisse werden ohne Neu-Generierung zurückgegeben (orders.jsonl+ In-Memory-Jobs).
Sicherheit
Der Server hält ausschließlich deine öffentliche Empfangsadresse; das Settlement erfolgt onchain und landet in deiner Wallet.
.env,jobs.jsonundorders.jsonlsind gitignored – committe sie niemals.Verwende eine eigene Wallet für
PAY_TO_ADDRESS; Tresore kühlst aufbewahren.
Lizenz
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers

forgemesh-imagegenofficial
AlicenseAqualityCmaintenanceMCP server for AI image generation with automatic USDC payments on Base mainnet. Generate, remove backgrounds, and upscale images via simple tool calls.41911MIT
paean-pay-mcpofficial
AlicenseNot gradedqualityDmaintenanceEnables AI agents to send and receive USDC stablecoin payments on Base and Solana blockchains through MCP tools for wallet operations, balance checks, payment requests, and transfers.87MIT- AlicenseNot gradedqualityDmaintenanceMCP server with X402 payment integration, enabling AI agents to access paid tools like weather, web search, and image generation with crypto payments via MetaMask on Base network.MIT
Related MCP Connectors
63 pay-per-call tools for agents: vision, text, data, web, blockchain. USDC on Base via x402.
Monetize any MCP server: x402 paywall, pay-per-call billing in USDC on Base, agent marketplace.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Calivvvv/x402-image-api'
If you have feedback or need assistance with the MCP directory API, please join our Discord server