x402-image-api
x402 Image API
Платная генерация изображений с помощью ИИ на протоколе x402 — $0.001/изображение, USDC на Base, без API-ключей.
Живая конечная точка: https://x402.chaly.org · health · OpenAPI 3.1 · .well-known/x402 · llms.txt
Стандарт x402 возрождает HTTP 402 Payment Required для машинных
платежей: покупатель (человек или ИИ-агент) отправляет POST с запросом,
получает подписанное платёжное предложение в заголовке PAYMENT-REQUIRED,
авторизует перевод USDC по EIP-3009 своим кошельком, повторяет запрос,
а сторонний фасилитатор проверяет и завершает расчёт в сети. Никаких
аккаунтов, API-ключей и газа для покупателя — платёж и есть аутентификация.
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: [...]}Цены
качество | мегапиксели | за изображение |
| 1K | $0.001 |
Итоговая сумма = цена за изображение × количество (
count1–8, или пакетitems: [["prompt", n], …], всего ≤ 8).Соотношение сторон бесплатно.
В внутренней таблице цен есть более крупные тарифы, но рекламируются только доступные для обслуживания.
Цены динамические: предложение 402 вычисляется для каждого запроса на основе тела (
PRICE_TABLEвserver.js), поэтому покупатель платит ровно столько, сколько генерирует обработчик.
Related MCP server: forgemesh-imagegen
Быстрый старт для покупателя
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"См. client.mjs для полного рабочего клиента (включая опрос).
MCP-сервер
mcp-server.mjs предоставляет API как MCP-инструменты
(image_generate, image_health, image_openapi, image_poll), чтобы
кодирующие агенты могли генерировать изображения напрямую:
{
"mcpServers": {
"x402-image-api": {
"command": "node",
"args": ["mcp-server.mjs"],
"env": {
"X402_API_URL": "https://x402.chaly.org",
"BUYER_PRIVATE_KEY": "0x…"
}
}
}
}Инструменты без оплаты (health/openapi/poll) работают без ключа.
Самостоятельный хостинг
npm install
cp .env.example .env # set PAY_TO_ADDRESS (public address only!)
npm start # node --env-file=.env server.js → :4021Ключевые переменные окружения: PAY_TO_ADDRESS, X402_NETWORK (eip155:8453),
X402_FACILITATOR_URL (например, PayAI), PORT, OUT_DIR, PUBLIC_URL,
MAX_COUNT, а также MEDIA_IO_PROJECT_DIR — путь к вашему генераторному бэкенду.
Подключаемый бэкенд: слой Express запускает одноразовый рабочий
подпроцесс для каждого запроса и читает одну строку JSON из stdout. В этом
репозитории поставляется сторона продавца; наш собственный мостовой воркер
(gen_worker.py) остаётся закрытым. Чтобы подключить свой генератор,
предоставьте исполняемый файл, который
читает
{prompt, aspect, megapixels, quality, count, …}как JSON из stdin,записывает
{ok, urls: [...], …}как последнюю строку stdout,завершается с ненулевым кодом при ошибке.
Публичный доступ (без VPS)
Единственный вход — Cloudflare Tunnel: TLS завершается на границе Cloudflare,
а упавший источник автоматически отдаёт 503/530 (бесплатный heartbeat).
Полное руководство в cloudflared/README.md;
параллельные скрипты запуска в scripts/ (+ systemd-юниты для Linux).
Заметки по дизайну
Порядок middleware важен:
express.json()выполняется до платёжного middleware, чтобы функция динамической цены могла прочитать разобранное тело — иначе пакет за $0.008 молча оценивается как одно изображение за $0.001.Ограничение ёмкости до оплаты: middleware до оплаты возвращает
503 insufficient_capacity, когда сегодня нельзя занять слот генерации, срабатывая до любого 402 — покупатели никогда не подписывают то, что мы не можем доставить.202 + опрос вместо долгоживущих ответов: генерация занимает ~50–90 с/изображение; немедленный возврат дескриптора задания избегает таймаутов шлюза (лимит Cloudflare 100 с) для пакетов до 8 изображений.
Белая маркировка вывода: PNG попадают под
GET /images/:file(хэш-имена, защита от обхода каталога), обслуживаемые с вашего домена.Обнаружение в Bazaar:
declareDiscoveryExtensionоткрывает этот сервис в x402 Bazaar; агенты могут найти его без указания URL.Идемпотентность: передайте
"id"для дедупликации повторов — кэшированные результаты возвращаются без повторной генерации (orders.jsonl+ in-memory jobs).
Безопасность
Сервер хранит только ваш публичный адрес получения; расчёт выполняется в сети и поступает на ваш кошелёк.
.env,jobs.json,orders.jsonlв .gitignore — никогда не коммитьте их.Используйте отдельный кошелёк для
PAY_TO_ADDRESS; держите казначейства холодными.
Лицензия
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