x402-API für KI-Generierung: Zahlen pro Aufruf, ohne Konto
Bilder, Videos und Sprache per x402 generieren: Dein Agent zahlt pro Aufruf in USDC auf Base – ohne Registrierung, ohne API-Schlüssel. Echte Preise, ehrliche Fehlerbehandlung.

x402 ist ein offenes Zahlungsprotokoll, das den lange brachliegenden HTTP-Statuscode 402 in eine funktionierende Paywall verwandelt: Der Server beantwortet eine Anfrage mit 402 Payment Required plus maschinenlesbaren Zahlungsbedingungen, der Client signiert eine Stablecoin-Autorisierung, schickt dieselbe Anfrage erneut und bekommt seine Antwort. Kein Konto, kein API-Schlüssel, kein Monatstarif. Coinbase hat das Protokoll im April 2026 an die Linux Foundation übergeben, und als die x402 Foundation den Betrieb aufnahm, hatte sie bereits 40 Mitgliedsorganisationen, darunter AWS, Google, Stripe, Visa und Mastercard. Ein Krypto-Nebenschauplatz ist das also nicht mehr.
Kurze Antwort: Der x402-Endpunkt von BananaBanana ist https://bananabanana.pro/api/x402. Schick per POST { "tool": "...", "arguments": {...} }, erhalte eine 402-Antwort mit dem exakten Preis für genau diese Argumente, bezahl ihn in USDC auf Base und wiederhole die Anfrage. Bilder gibt es ab $0.03, Video ab $0.20, Sprache für $0.01 pro 200 Zeichen. Bei Bildern und Sprache wird nur abgerechnet, wenn die Datei tatsächlich existiert.

Den letzten Satz überspringen die meisten Texte über x402, deshalb widme ich ihm den Großteil dieses Beitrags. Abkassieren ist leicht. Spannend wird das Design da, wo es um die Aufrufe geht, die schiefgelaufen sind und nicht berechnet werden sollen.
Wie die Zahlung tatsächlich abläuft
Vier Schritte, drei davon erledigt dein HTTP-Client.
- Dein Agent schickt per POST eine normale JSON-Anfrage. Ohne Payment-Header.
- Der Server antwortet mit
402und einemaccepts-Array. Eine Zahlungsanforderung enthält den Betrag in atomaren Einheiten, die Empfängeradresse, den USDC-Contract, die Chain und ein Ablauffenster. - Dein Client signiert eine EIP-3009-Transfer-Autorisierung über genau diesen Betrag und packt sie base64-kodiert in den Header
X-PAYMENT. - Dieselbe Anfrage geht noch einmal raus, diesmal mit Header. Der Server übergibt die Signatur zur Prüfung an einen Facilitator, erledigt die Arbeit und bittet den Facilitator dann, on-chain abzuwickeln.
Die Signatur ist keine Transaktion. Sie ist eine Off-Chain-Autorisierung, die erst dann zur Überweisung wird, wenn jemand sie einreicht – und genau das macht das zweiphasige Design möglich: erst prüfen, dann arbeiten, zuletzt abrechnen.
Ein praktischer Haken. Die v2-Spezifikation benennt die Header in PAYMENT-SIGNATURE und PAYMENT-RESPONSE um, aber die meisten Clients da draußen senden weiterhin X-PAYMENT, also akzeptieren wir heute genau das. Wenn du mit dem offiziellen TypeScript-SDK arbeitest, merkst du davon so oder so nichts.

Was ein Aufruf kostet
Die Preise gelten pro Generierung und werden genannt, bevor du irgendetwas signierst. Die genaue Zahl hängt von den Argumenten ab (ein 4K-Bild ist kein 1K-Bild), daher bepreist die 402-Antwort deine Anfrage, nicht eine Kategorie.
| Tool | Modell | Preis |
|---|---|---|
generate_image | Nano Banana 2 Lite | $0.03 (nur 1K) |
generate_image | Nano Banana 2 | $0.03 – $0.13 (512 → 4K) |
generate_image | Nano Banana Pro | $0.11 – $0.20 (1K → 4K) |
generate_image | GPT Image 2.5 Flare / Sunburst | $0.05 – $0.18 (1K → 4K) |
generate_image | Qwen Image 3.0 Pro | $0.04 – $0.08 (1K → 2K) |
generate_video | Gemini Omni Flash | $0.03–$0.30 pro Sekunde je nach Auflösung, 3–10 s, immer mit Ton |
generate_video | Veo-3.1-Familie | $0.10 – $4.40 pro Clip |
generate_video | Wan 3.0 | $0.05–$0.20 pro Sekunde je nach Auflösung, 4–30 s, Ton inklusive |
generate_video | Grok Imagine Video 1.5 | $0.14–$0.25 pro Sekunde je nach Auflösung, 4–15 s, immer mit Ton |
generate_speech | Gemini Flash TTS | $0.01 pro angefangene 200 Zeichen |
Ein drei Sekunden langer Omni-Clip mit Ton kostet in 720p $0.30, als 360p-Entwurf $0.09, und Wan 3.0 liefert dir vier Sekunden in 480p mit Ton für $0.20. Das sind die günstigen echten Videos auf der Liste und ehrlich gesagt die, zu denen ich am häufigsten greife. Veo sieht besser aus, aber bei 8 Sekunden in 1080p mit Ton zahlst du eine Größenordnung mehr für einen Entwurf, den du vielleicht wegwirfst; Wan mit 30 Sekunden in 1080p ist mit $6.00 das andere Ende der Skala.
Wenn du einem Blogbeitrag nicht trauen willst, lies die aktuellen Zahlen direkt bei der Maschine ab: GET https://bananabanana.pro/api/x402 liefert den kompletten Katalog kostenlos, ganz ohne Zahlung.

Zwei Anfragen, von Anfang bis Ende
Hier das Ganze mit curl, ohne den Signaturschritt (den übernimmt deine x402-Client-Bibliothek).
# 1. Ask. No payment header: this is the quote.
curl -s -X POST https://bananabanana.pro/api/x402 \
-H 'Content-Type: application/json' \
-d '{"tool":"generate_image","arguments":{"prompt":"a paper boat on still water at dawn","model":"nano-banana-pro","resolution":"2048"}}'
{
"x402Version": 1,
"error": "Payment required: $0.11 for generate_image.",
"accepts": [{
"scheme": "exact",
"network": "base",
"maxAmountRequired": "110000",
"resource": "https://bananabanana.pro/api/x402",
"payTo": "0x7c0e9abd1c48380e27ab5bfced1be54f23ce773f",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"maxTimeoutSeconds": 300,
"extra": { "name": "USD Coin", "version": "2" }
}]
}

Signier das, schick die Anfrage mit Header erneut, und die zweite Antwort enthält das fertige Bild:
{
"paid_usd": 0.11,
"result": {
"status": "completed",
"images": [{ "url": "https://bananabanana.pro/api/files/..." }]
}
}
Zwei Details, die du dir abschauen solltest, wenn du einen eigenen x402-Server baust. maxAmountRequired steht in atomaren Einheiten. USDC hat sechs Nachkommastellen, $0.11 sind also 110000 – und genau hier passiert der häufigste Integrationsfehler überhaupt. Außerdem muss extra.name exakt dem entsprechen, was die name()-Funktion des USDC-Contracts zurückgibt, denn der Wert fließt in den EIP-712-Domain-Separator ein. Auf dem Base-Mainnet lautet dieser String USD Coin, auf Base Sepolia USDC. Sie unterscheiden sich, die Signatur lässt sich nicht verifizieren, wenn du rätst, und die Fehlermeldung, die zurückkommt, sagt dir fast nichts Brauchbares. Frag nicht, woher ich das weiß.
Video ist anders: erst zahlen, bei Fehlschlag Token zurück
Bilder und Sprache werden innerhalb der Anfrage fertig. Deshalb lautet die Reihenfolge prüfen → generieren → abrechnen, und abgerechnet wird nur, wenn am anderen Ende eine Datei herausgekommen ist. Eine Ablehnung durch den Inhaltsfilter, ein Fehler beim Anbieter, ein Timeout: Nichts davon kostet den Zahlenden etwas. Die Signatur wird einfach nie eingereicht.
Bei Video funktioniert das nicht. Ein Veo- oder Omni-Rendering dauert eine bis zehn Minuten, niemand hält so lange eine HTTP-Verbindung offen, und eine bei Google bereits laufende Generierung lässt sich nicht abbrechen (deren interactions.cancel liefert 501 UNIMPLEMENTED – ich habe es geprüft, weil ich das schönere Design wollte). Video wird deshalb vorab abgerechnet, liefert eine job_id zurück, und du fragst einen kostenlosen Ergebnis-Endpunkt ab.
Bleibt die ehrliche Frage: Was, wenn ein bereits bezahlter Clip abgelehnt zurückkommt?
Du bekommst einen Rückerstattungstoken. Voller Betrag, bb_rf_…, 90 Tage gültig, einlösbar bei jedem späteren Aufruf, indem du ihn als refund_token übergibst. Zahlst du $1.30 für einen Clip, den der Sicherheitsklassifikator stoppt, kostet dein nächster Aufruf $1.30 weniger. Gibst du weniger aus als das Guthaben, kommt das Wechselgeld als neuer Token zurück.
Das ist keine USDC-Rückerstattung, und das sage ich lieber klar, als es schönzureden. Dieser Server hält keinen Private Key. Er kann kein Geld hinausbewegen, nur darauf verzichten, es zu nehmen – eine On-Chain-Rückerstattung ist hier also architektonisch unmöglich. Wenn man bedenkt, wie viele x402-Dienste sehr wohl Schlüssel halten, halte ich das für ein Feature.
Dieser Clip hat über denselben Endpunkt $0.30 gekostet. Gemini Omni Flash, drei Sekunden, der Prompt war eine einzige durchgehende Einstellung von Tinte, die sich in einem Glasbecken im Wasser ausbreitet, weiches Seitenlicht, der Ton beschrieben als leise Raumatmosphäre. Den Ton erzeugt das Modell gleich mit; einen Modus ohne Ton gibt es nicht.
Wie ein Agent den Endpunkt findet
Ein Agent, der die URL schon kennt, braucht keine Discovery. Alle anderen schon, daher veröffentlicht der Dienst ein Manifest unter /.well-known/x402 (und unter /.well-known/x402.json, weil Crawler beide Schreibweisen etwa gleich oft ausprobieren – wir haben ihnen dabei zugesehen).
Das Manifest führt jedes Tool als eigene Ressource mit vollständigem Block an Zahlungsanforderungen, das Netzwerk als CAIP-2, die Auszahlungsadresse und den Facilitator. Eine bewusste Entscheidung darin: Der accepts-Block enthält den Mindestpreis des Tools, nicht den Höchstpreis. Blind aus einem Manifest heraus signieren kannst du ohnehin nicht, weil der Preis von deinen Argumenten abhängt. Würde ich aber die Obergrenze veröffentlichen, würde ein braver Agent für ein $0.03-Bild bereitwillig zu viel zahlen. Mindestpreis plus angegebene Spanne ist die ehrliche Form.
Kataloge testen Endpunkte außerdem, indem sie einen POST mit Datenmüll schicken und den Statuscode prüfen. Unserer antwortet darauf mit 402 und einem Hinweis, wie man ein Tool angibt. Früher kam 400, was als „nimmt keine Zahlungen an“ gelesen wurde und uns eine Woche lang still aus zwei Verzeichnissen ferngehalten hat.

x402 oder ein Konto?

Beide Eingänge führen zu denselben Generatoren. Entscheide danach, was dein Agent mitbringt.
| x402 | Konto (MCP oder Web) | |
|---|---|---|
| Einrichtung | Eine gedeckte Wallet | Registrierung per E-Mail, dann API-Schlüssel oder OAuth |
| Pro Aufruf | Signieren, zahlen, fertig | Abbuchung vom Prepaid-Guthaben |
| Einzahlungsboni | Keine | 5 % ab $50, 10 % ab $100 bei Krypto-Einzahlungen, weitere 10 % mit Promo-Code |
| Generierungsverlauf | Wird nicht gespeichert | Vollständiger Verlauf, wiederverwendbare Job-IDs |
| Videobearbeitung | Nicht verfügbar | edit_video, dialogbasierte Nachbearbeitung |
| Ideal für | Einmalige Aufrufe, kein Mensch beteiligt | Laufende Arbeit, Kostenkontrolle, Iteration |
Die Bonus-Spalte ist die eigentliche Weggabelung. Zahl $100 in Krypto mit aktivem Promo-Code ein, und auf deinem Guthaben landen $120 – das sind 17 % Rabatt, die x402 strukturell nicht bieten kann, weil es kein Guthaben zum Aufladen gibt. Andererseits kann ein Agent mit Wallet und ohne E-Mail nach einem einzigen Roundtrip loslegen, und genau darum geht es.
Wenn du den Weg übers Konto gehen willst: Der MCP-Server deckt Claude Code, Cursor, VS Code und alles andere ab, was Streamable HTTP spricht, und der Generator läuft im Browser. Dieselben Modelle, dieselben Preise, eine andere Tür.
FAQ
Brauche ich ein Coinbase-Konto, um zu bezahlen?
Nein. Jede EVM-Wallet mit USDC auf Base funktioniert. Der Facilitator wickelt die Überweisung ab; auch bei ihm legst du nie ein Konto an.
Was passiert, wenn meine Generierung vom Inhaltsfilter blockiert wird?
Bei Bildern und Sprache wird nichts berechnet: Abgerechnet wird erst, wenn eine Datei existiert. Bei Video bekommst du einen Rückerstattungstoken über den vollen Betrag, einlösbar bei einem späteren Aufruf.
Welche Chains und Tokens werden unterstützt?
USDC auf dem Base-Mainnet, Schema exact. Das Manifest unter /.well-known/x402 enthält die CAIP-2-Chain-ID und die Token-Adresse, sodass ein Client vor dem Signieren prüfen kann.
Kann ich ein über x402 generiertes Video bearbeiten?
Nicht über x402. Bearbeitung funktioniert nur mit Clips, die zu einem Konto gehören, deshalb bleiben edit_video und die dialogbasierte Nachbearbeitung auf der MCP-Seite. Eine neue Generierung ist jederzeit möglich.
Wie lange gilt ein genannter Preis?
Das Signaturfenster beträgt standardmäßig 300 Sekunden und steht in maxTimeoutSeconds. Die Preise selbst stammen aus derselben Tabelle, die auch die Website nutzt, und ändern sich nicht mitten in der Sitzung.
Fang mit einem $0.03-Bild am Live-Endpunkt an. Wenn dein Client eine EIP-3009-Autorisierung signieren kann, bist du etwa vier Codezeilen von einem fertigen Bild entfernt.