# Image > AI text-to-image generation from a text prompt — pay per image in USDC or EURC. No API key, no account required. Text-to-image generation behind x402 micropayments, modelled on music.x402.press. A single POST /image/generate endpoint accepts a natural-language prompt (plus optional model and size) and returns an image_id. The image is generated asynchronously by the DashScope qwen-image backend; poll GET /image/status/{image_id} (free) until completed, then download the PNG via GET /image/download/{image_id} (free). Three models: qwen-image-3.0-pro and qwen-image-3.0 (latest flagship family, 2K output) and qwen-image-2.0-pro-2026-06-22 (pinned 2.0 snapshot for reproducibility). Sizes are flexible WIDTH*HEIGHT up to 2048 pixels per side. Images are stored for 2 hours after generation. ## Pricing - `premium` tier — **$0.106125** on Base: `/image/generate` - Chains: Base, Arbitrum, Polygon, Avalanche. Per-chain prices in `/.well-known/x402.json`. ## Operations ### inference - **POST /image/generate** — Generate an image from a text prompt. Billed on the Premium tier (same tier as /music/generate), per image. Returns an image_id immediately; poll /image/status/{image_id} then download /image/download/{image_id} (both free). — params: `prompt` (string)*, `model` (string), `size` (string) (tier: `premium`) ## Workflows - **image_generate** (Generate an image from a prompt: POST /image/generate (paid) → poll GET /image/status/{image_id} (free) until status is completed → GET /image/download/{image_id} (free) for the PNG): `generate` ## Data sources - Alibaba DashScope API (dashscope-intl.aliyuncs.com) — qwen-image family via the native multimodal-generation endpoint. Proxied server-side; the service's own API key is never exposed to callers. Upstream image URLs are short-lived — the service downloads and re-serves the bytes. ## Free endpoints - GET `/`, `/health`, `/about`, `/.well-known/x402.json`, `/llms.txt`, `/openapi.json` (standard) - GET `/image/models` — List available image models with accepted size ranges - GET `/image/status/{image_id}` — Poll a generation: generating | completed | failed (with error) | not_found - GET `/image/download/{image_id}` — Download a completed image (PNG) — free, retained 2 hours - GET `/image/feedback` — Return the 50 most recent feedback entries - POST `/image/feedback` — Submit feedback (response_id, rating 1-5, optional comment) ## Examples - `generate` — Generate a square 1K image with the default flagship model: `{"prompt": "a red apple on a wooden table, studio light, photorealistic", "size": "1024*1024"}`