{
  "openapi": "3.1.0",
  "info": {
    "title": "GoldBean API",
    "version": "8.0.0",
    "description": "Pay-per-call AI API marketplace bridging Baidu AI to the global agent economy. 47 endpoints covering OCR, speech recognition, image generation, TTS, LLM chat, translation, and more. x402-native payments with USDC on Base. MCP-compatible.",
    "contact": {
      "email": "wuzenghai616@gmail.com",
      "name": "GoldBean API",
      "url": "https://goldbean-api.xyz"
    },
    "license": {
      "name": "MIT",
      "url": "https://github.com/wuzenghai616-lang/goldbean/blob/main/LICENSE"
    }
  },
  "servers": [
    {
      "url": "https://goldbean-api.xyz",
      "description": "Production"
    }
  ],
  "tags": [
    {
      "name": "OCR"
    },
    {
      "name": "Speech"
    },
    {
      "name": "LLM"
    },
    {
      "name": "Image"
    },
    {
      "name": "Translation"
    },
    {
      "name": "Payment"
    },
    {
      "name": "System"
    },
    {
      "name": "OpenAI-Compatible"
    }
  ],
  "paths": {
    "/health": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Health check",
        "description": "Service health status and version.",
        "operationId": "health",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/info": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Service info",
        "description": "API name, version, auth method, route count.",
        "operationId": "info",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/.well-known/x402.json": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "x402 discovery",
        "description": "x402 service discovery endpoint.",
        "operationId": "x402Discovery",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/.well-known/mcp.json": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "MCP server card",
        "description": "MCP server card with 21 tool capabilities.",
        "operationId": "mcpServerCard",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/.well-known/x402-bazaar": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "x402 Bazaar",
        "description": "Bazaar listing. Free: 50 calls/day, Standard: 0.01 USD/call.",
        "operationId": "x402Bazaar",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/llms.txt": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "LLM-readable catalog",
        "description": "Complete endpoint catalog for LLMs.",
        "operationId": "llmsTxt",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/openapi.json": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "OpenAPI spec",
        "description": "OpenAPI 3.1 specification.",
        "operationId": "openapi",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/api/routes": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "List all routes",
        "description": "All registered routes by type.",
        "operationId": "listRoutes",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/gas": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Gas price",
        "description": "Current Base network gas price.",
        "operationId": "gasPrice",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/btc-price": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Bitcoin price",
        "description": "Current BTC price in USD.",
        "operationId": "btcPrice",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/weather-now": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Weather",
        "description": "Current weather for a city.",
        "operationId": "weatherNow",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [],
        "parameters": [
          {
            "name": "city",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "City name"
          }
        ]
      }
    },
    "/api/pricing/plans": {
      "get": {
        "tags": [
          "Payment"
        ],
        "summary": "Pricing plans",
        "description": "Available plans and credit packages.",
        "operationId": "pricingPlans",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/api/pricing/endpoint": {
      "get": {
        "tags": [
          "Payment"
        ],
        "summary": "Endpoint pricing",
        "description": "Pricing for a specific endpoint.",
        "operationId": "endpointPricing",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [],
        "parameters": [
          {
            "name": "endpoint",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Endpoint path"
          }
        ]
      }
    },
    "/paid/baidu-ocr": {
      "get": {
        "tags": [
          "OCR"
        ],
        "summary": "Baidu OCR (general)",
        "description": "General-purpose text recognition.",
        "operationId": "baiduOcr",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Image URL"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-ocr-accurate": {
      "get": {
        "tags": [
          "OCR"
        ],
        "summary": "Baidu OCR (high-accuracy)",
        "description": "High-accuracy OCR for complex images.",
        "operationId": "baiduOcrAccurate",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Image URL"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.02",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-idcard": {
      "get": {
        "tags": [
          "OCR"
        ],
        "summary": "ID card recognition",
        "description": "Chinese ID card OCR.",
        "operationId": "baiduIdcard",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Image URL"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.02",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-tts": {
      "get": {
        "tags": [
          "Speech"
        ],
        "summary": "Text-to-speech",
        "description": "Baidu TTS with multiple voices. Returns MP3.",
        "operationId": "baiduTts",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Text to synthesize"
          },
          {
            "name": "voice",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            },
            "description": "Voice ID (0-4)"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-asr": {
      "get": {
        "tags": [
          "Speech"
        ],
        "summary": "Speech recognition",
        "description": "Baidu ASR. Audio to text.",
        "operationId": "baiduAsr",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Audio URL (WAV/MP3)"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.02",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-llm-chat": {
      "get": {
        "tags": [
          "LLM"
        ],
        "summary": "ERNIE LLM chat",
        "description": "Baidu ERNIE LLM chat completion.",
        "operationId": "baiduLlmChat",
        "parameters": [
          {
            "name": "message",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User message"
          },
          {
            "name": "model",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "ernie-speed"
            },
            "description": "Model name"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.03",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-nlp": {
      "get": {
        "tags": [
          "LLM"
        ],
        "summary": "NLP analysis",
        "description": "Sentiment analysis, keyword extraction.",
        "operationId": "baiduNlp",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Text to analyze"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-helixfold": {
      "get": {
        "tags": [
          "LLM"
        ],
        "summary": "HelixFold protein prediction",
        "description": "Protein structure from amino acid sequence.",
        "operationId": "baiduHelixfold",
        "parameters": [
          {
            "name": "sequence",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Amino acid sequence"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.03",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-translate": {
      "get": {
        "tags": [
          "Translation"
        ],
        "summary": "Baidu Translate",
        "description": "Multi-language translation.",
        "operationId": "baiduTranslate",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Text to translate"
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Source language"
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Target language"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-image-recognition": {
      "get": {
        "tags": [
          "Image"
        ],
        "summary": "Image recognition",
        "description": "Object and scene recognition.",
        "operationId": "baiduImageRecognition",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Image URL"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.02",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-image-enhance": {
      "get": {
        "tags": [
          "Image"
        ],
        "summary": "Image enhancement",
        "description": "Denoising, dehazing, contrast.",
        "operationId": "baiduImageEnhance",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Image URL"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.02",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-face-detect": {
      "get": {
        "tags": [
          "Image"
        ],
        "summary": "Face detection",
        "description": "Face location, age, gender, expression.",
        "operationId": "baiduFaceDetect",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Image URL"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.02",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/paid/baidu-body-analysis": {
      "get": {
        "tags": [
          "Image"
        ],
        "summary": "Body analysis",
        "description": "Keypoint detection, gesture recognition.",
        "operationId": "baiduBodyAnalysis",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Image URL"
          },
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ],
        "x-pricing": {
          "amount": "0.02",
          "currency": "USDC",
          "network": "base"
        }
      }
    },
    "/v1/chat/completions": {
      "post": {
        "tags": [
          "OpenAI-Compatible"
        ],
        "summary": "Chat completions",
        "description": "OpenAI-compatible chat completions via ERNIE.",
        "operationId": "chatCompletions",
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ]
      }
    },
    "/v1/models": {
      "get": {
        "tags": [
          "OpenAI-Compatible"
        ],
        "summary": "List models",
        "description": "OpenAI-compatible model listing.",
        "operationId": "listModels",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    },
    "/v1/images/generations": {
      "post": {
        "tags": [
          "OpenAI-Compatible"
        ],
        "summary": "Image generation",
        "description": "OpenAI-compatible image generation.",
        "operationId": "imageGenerations",
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ]
      }
    },
    "/v1/audio/speech": {
      "post": {
        "tags": [
          "OpenAI-Compatible"
        ],
        "summary": "Text to speech",
        "description": "OpenAI-compatible TTS.",
        "operationId": "audioSpeech",
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ]
      }
    },
    "/v1/audio/transcriptions": {
      "post": {
        "tags": [
          "OpenAI-Compatible"
        ],
        "summary": "Speech to text",
        "description": "OpenAI-compatible transcription.",
        "operationId": "audioTranscriptions",
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ]
      }
    },
    "/v1/embeddings": {
      "post": {
        "tags": [
          "OpenAI-Compatible"
        ],
        "summary": "Embeddings",
        "description": "OpenAI-compatible embeddings via Baidu.",
        "operationId": "embeddings",
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": [
          {
            "x402-payer": []
          }
        ]
      }
    },
    "/paid/user/register": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "Register user",
        "description": "Register and get user ID + free credits.",
        "operationId": "registerUser",
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": []
      }
    },
    "/paid/paypal/create-order": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "Create PayPal order",
        "description": "Create PayPal order for credits.",
        "operationId": "createPaypalOrder",
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": []
      }
    },
    "/paid/paypal/capture": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "Capture PayPal payment",
        "description": "Capture payment and add credits.",
        "operationId": "capturePaypalPayment",
        "responses": {
          "200": {
            "description": "Success"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "security": []
      }
    },
    "/user/credits": {
      "get": {
        "tags": [
          "Payment"
        ],
        "summary": "Check credits",
        "description": "Check remaining credits.",
        "operationId": "checkCredits",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [],
        "parameters": [
          {
            "name": "x-user-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "User ID"
          }
        ]
      }
    },
    "/paid/verify": {
      "get": {
        "tags": [
          "Payment"
        ],
        "summary": "Verify payment",
        "description": "Verify x402 on-chain payment.",
        "operationId": "verifyPayment",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": []
      }
    }
  },
  "components": {
    "securitySchemes": {
      "x402-payer": {
        "type": "http",
        "scheme": "x402",
        "description": "x402 pay-per-call payment via USDC on Base"
      }
    }
  },
  "externalDocs": {
    "description": "GoldBean Documentation",
    "url": "https://goldbean-api.xyz/llms.txt"
  }
}