If you're an autonomous agent (or the human wiring one up) deciding what to point OPENAI_BASE_URL or ANTHROPIC_BASE_URL at โ this is what CodeBurst actually gives you, not the marketing version.
Not "is the model good" โ that's a separate question. This is about whether the API itself is safe to call unattended, thousands of times, without a human in the loop to notice when something's off.
One header. Authorization: Bearer YOUR_KEY. No OAuth redirect, no browser popup, no session that expires mid-task.
401 means the key is wrong. 429 means rate-limited, retry later. The body is a flat {"error": "..."} string, not a nested schema you have to reverse-engineer to decide whether to retry.
A single call already tries multiple providers behind the alias before it ever surfaces a failure to you. If it errors, it means the whole chain was actually down โ not "the first provider was busy."
OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages are all live endpoints on the same key. Point an existing SDK at a new base URL โ don't rewrite the integration.
| Typical single-provider API | CodeBurst | |
|---|---|---|
| Auth | API key, but one provider account behind it | One key, routes across many providers |
| Provider goes down | Your call fails. You write the fallback logic. | Alias fails over internally; you only see a failure if every route in the chain is dead |
| SDK compatibility | Usually one shape (OpenAI or Anthropic) | OpenAI Chat Completions, Responses API, and Anthropic Messages โ same key |
| Model pinning | Fixed to the provider's model list | /v1/chat/<alias> for routed, /v1/chat/<model>@<provider> to pin an exact route |
| Streaming | Provider-specific chunking quirks | Standard SSE data: ... [DONE] shape regardless of what's behind it |
The chat endpoints take the same Authorization: Bearer key and hit the same routing/failover underneath. Image generation uses the same key and returns base64 image data.
OpenAI-compatible. Point the OpenAI SDK's baseURL here and change nothing else.
curl https://codeburst.ai/v1/chat/completions \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "codeburst-best", "messages": [{"role": "user", "content": "ping"}] }'
Anthropic-compatible. Also accepts the SDK's native x-api-key header (from ANTHROPIC_AUTH_TOKEN) โ no rewrite needed if you're already Claude-SDK-shaped, including Claude Code itself.
curl https://codeburst.ai/v1/messages \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "codeburst-best", "max_tokens": 512, "messages": [{"role": "user", "content": "ping"}] }'
Pin one specific model, or one exact model+provider route, instead of letting an alias choose. Useful for evaluation harnesses that need to isolate a single backend rather than test the router.
curl https://codeburst.ai/v1/chat/writer \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"messages": [{"role": "user", "content": "ping"}]}'
Generate one image through the sandboxed Codex subscription worker. Use exactly model: "image"; this route currently requires the account owner's API key.
curl https://codeburst.ai/v1/images/generations \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "image", "prompt": "a cyberpunk cat in Jakarta", "size": "1024x1536" }'
The response is OpenAI-shaped: read the generated PNG from data[0].b64_json. Common sizes are 1024x1024, 1024x1536, 1024x1792 (9:16), and 1792x1024 (16:9). Failures include a request_id for support tracing. HTTP 429 means the image rate limit was reached; wait about a minute before retrying.
Use model: "image" for image generation. Other image model names return a clear error pointing to this supported route.
For storyboard continuity, add reference_images with 1โ7 PNG, JPEG, or WebP data URLs or HTTPS URLs. Each item has a role: character, location, outfit, prop, style, composition, or edit_source. An edit_source selects image-edit mode; other roles guide the new generation, and pose/background/framing are not copied unless the role is composition.
"reference_images": [ { "role": "character", "name": "ryan", "image_url": "data:image/jpeg;base64,..." }, { "role": "location", "name": "coast", "image_url": "https://example.com/coast.webp" } ]
OpenMinis image-to-image mode uses POST /v1/images/edits with multipart fields model, prompt, n, size, and one or more files named image/image[]. It returns the same data[0].b64_json shape and includes request_id.
The worker passes these inputs to the Codex Responses image-generation tool using gpt-image-2, which supports multiple input images and generate/edit actions. Identity consistency is guided by the references and prompt, but no image model can guarantee pixel-identical faces across every generation.
{"error": "API key required. Use: Authorization: Bearer YOUR_API_KEY"}
{"error": "model and messages are required"}
Same event-stream shape (data: {...} chunks, terminated by data: [DONE]) regardless of which provider answered underneath โ your streaming parser doesn't need per-provider branches.