Skip to content
Back to Nano Banana — Gemini Image Generation (RAEN x402)

Card snapshot

nanobanana-x402.fly.dev · 2026-10-02 05:28:59 UTC · b202b44813f7d099a06640d138981d86cd398f9a3ca6538b806bee6343dd741a

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "Nano Banana \u2014 Gemini Image Generation (RAEN x402)",
  "description": "Pay $0.08 USDC on eip155:8453 and get a Google Gemini image as base64 PNG: POST /api/generate-image turns a text prompt into an image (10 aspect ratios, in-image text rendering); POST /api/edit-image edits an existing base64 image from a natural-language prompt (style transfer, object add/remove, color shifts). Pay per call via x402 \u2014 no API keys, no subscription. Free surfaces: GET /sample (exact output shape), GET /openapi.json, GET /pricing.md, GET /llms.txt, GET /about, GET /health, GET /.well-known/x402.json.",
  "version": "1.0.0",
  "protocolVersion": "1.0",
  "url": "https://nanobanana-x402.fly.dev/a2a",
  "supportedInterfaces": [
    {
      "url": "https://nanobanana-x402.fly.dev/a2a",
      "transport": "JSONRPC",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "preferredTransport": "JSONRPC",
  "provider": {
    "organization": "Royal Agentic Enterprises",
    "url": "https://nanobanana-x402.fly.dev"
  },
  "documentationUrl": "https://nanobanana-x402.fly.dev/pricing.md",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": [
      {
        "uri": "https://x402.org",
        "description": "x402 v2 payment gating: USDC on eip155:8453, scheme exact, $0.08 per image, facilitator https://raen-facilitator.fly.dev/facilitator, payTo treasury 0x7861db4efc14a1ed5dd8c96c528a3796560f1393. The live 402 challenge is authoritative.",
        "required": false
      }
    ]
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "generate-image-guide",
      "name": "Paid image generation guide",
      "description": "Explains how to buy POST /api/generate-image ($0.08 USDC on eip155:8453): body { prompt, aspectRatio? }; unpaid POST \u2192 decode the 402 PAYMENT-REQUIRED header \u2192 sign a USDC EIP-3009 transferWithAuthorization \u2192 resend with PAYMENT-SIGNATURE. Returns { ok, model, image_b64, mime_type } base64 PNG from gemini-3.1-flash-image-preview.",
      "tags": [
        "image",
        "generation",
        "gemini",
        "prompt",
        "x402",
        "usdc"
      ],
      "examples": [
        "How do I generate a product hero image for $0.01 with x402?"
      ]
    },
    {
      "id": "edit-image-guide",
      "name": "Paid image edit guide",
      "description": "Points to POST /api/edit-image (same price): send the source image as base64 plus a prompt describing the edit \u2014 style transfer, object addition/removal, color shifts, scene modifications \u2014 and receive the edited base64 PNG.",
      "tags": [
        "image",
        "edit",
        "base64",
        "style-transfer",
        "x402"
      ],
      "examples": [
        "Can I edit an existing image instead of generating from scratch?"
      ]
    },
    {
      "id": "machine-readable-surfaces",
      "name": "Machine-readable discovery surfaces",
      "description": "Guides agents to this wall's free machine surfaces: /pricing.md, /llms.txt, /openapi.json, /about, /health, /sample, /.well-known/x402.json (live 402 accepts), /.well-known/agent-card.json (this card), POST /a2a (A2A v1 JSON-RPC).",
      "tags": [
        "discovery",
        "openapi",
        "x402",
        "a2a",
        "json"
      ],
      "examples": [
        "Where is the machine-readable pricing manifest for this service?"
      ]
    }
  ],
  "securitySchemes": {},
  "security": []
}