Endpoints
Every route the router serves, and how each one bills.
| Endpoint | Notes |
|---|---|
POST /v1/messages | Anthropic Messages; failover across every configured upstream |
POST /v1/chat/completions | OpenAI-compatible chat |
POST /v1/completions | OpenAI-compatible legacy completions |
POST /v1/responses | OpenAI-compatible Responses API |
POST /v1beta/models/{model}:generateContent | Gemini native; also :streamGenerateContent |
POST /v1/embeddings | bills from response usage, else a request-derived character count |
POST /v1/rerank | same fallback as embeddings |
POST /v1/images/generations | JSON in; bills per image returned |
POST /v1/images/edits | multipart in; same per-image rate |
POST /v1/audio/transcriptions | multipart in; bills per MiB uploaded, rounded up |
POST /v1/audio/speech | binary audio out; bills per character of input |
POST /v1/mj/submit/imagine | async submit; the maximum per task is held until the task settles |
GET /v1/mj/task/{id}/fetch | settles the task and releases the hold |
GET /v1/realtime | WebSocket; bills per audio second in both directions |
GET /v1/models, GET /v1/models/{id} | the catalog, in the shape your credential header implies |
GET /v1/credits, GET /v1/credits/cryptos | balance and accepted coins |
POST /v1/credits/topup, GET /v1/credits/topup/{id} | crypto top-ups |
Every path here is relative to
https://api.blastrouter.com, and every one of them takes the same key. The credential header you send decides which error envelope comes back.