# superprompt.io A prompt in, a superprompt out. Three tiers of lift. No account. POST https://superprompt.io/v1/superprompt {"prompt": "...", "tier": "polish" | "elevate" | "scaffold", "context": "optional: code, notes, prior thread", "target": "optional: who runs it, e.g. claude code / chatgpt / a junior engineer", "stream": false} -> {"tier","model","superprompt","usage":{"cost_usd","tokens"}} Plain-text body in, plain text out: -H 'content-type: text/plain' ... ?format=text GET https://superprompt.io/v1/superprompt?q=&tier=polish&format=text GET https://superprompt.io/v1/tiers the tiers and what each one does GET https://superprompt.io/v1/stats shared budget level, lifetime totals Tiers polish the same ask, made excellent: one kernel, real constraints, an output shape, a definition of done. Paste and go. elevate the ask re-posed at the register where the best prior work lives: named framings, decisions bound, a verification plan. scaffold a whole project brief with a strong baseline: intent, non-goals, architecture, style regimes, milestones, AGENTS.md, definition of done. Limits prompt <= 24000 chars, context <= 60000 chars. Free use draws on a shared budget that drains continuously (429 names retry_after_s). Bring your own OpenRouter key to skip the budget and pick any model: -H 'X-OpenRouter-Key: sk-or-...' with optional "model": "anthropic/claude-opus-4.8" Streaming: "stream": true or Accept: text/event-stream -> SSE of {"delta"} then {"done","usage"}. Nothing is stored. Prompts pass through to the model and are gone.