Docs
Build, then ship.
MixerBox Cloud is OpenAI-compatible. Point your client at our inference endpoint and start sending requests — 30 seconds to ship.
Quick start
- 1. Sign in at /dashboard with your MixerBox ID.
- 2. Create an API key from /dashboard. Treat it like a password — don't share or commit it.
- 3. Top up at least $5 of credit (Stripe).
- 4. Point your OpenAI client at https://cloud.mixerbox.com/v1.
Authentication
All requests require a Bearer token in the Authorization header. Get your key from the dashboard.
Authorization: Bearer sk-mb-...
Chat completions
Send a list of messages to our inference endpoint and receive a model-generated reply. Identical to the OpenAI /v1/chat/completions spec.
Request
curl -X POST https://cloud.mixerbox.com/v1/chat/completions \
-H "Authorization: Bearer sk-mb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "mixerbox/kimi-k2.5",
"messages": [
{"role": "user", "content": "Explain quantum computing in one paragraph."}
]
}' Response
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"model": "mixerbox/kimi-k2.5",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "Quantum computing harnesses..."
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 14,
"completion_tokens": 85,
"total_tokens": 99
}
} Streaming
Add "stream": true to receive Server-Sent Events (SSE). The final chunk includes usage.
curl -X POST https://cloud.mixerbox.com/v1/chat/completions \
-H "Authorization: Bearer sk-mb-..." \
-H "Content-Type: application/json" \
-d '{
"model": "mixerbox/kimi-k2.5",
"messages": [
{"role": "user", "content": "Hello"}
],
"stream": true
}' SSE output
data: {"id":"chatcmpl-abc","object":"chat.completion.chunk","choices":[{"delta":{"role":"assistant"},"index":0}]}
data: {"id":"chatcmpl-abc","object":"chat.completion.chunk","choices":[{"delta":{"content":"Hello"},"index":0}]}
data: {"id":"chatcmpl-abc","object":"chat.completion.chunk","choices":[{"delta":{"content":"!"},"index":0,"finish_reason":"stop"}],"usage":{"prompt_tokens":9,"completion_tokens":2,"total_tokens":11}}
data: [DONE] Python
Works with the official openai package. Just change the base_url.
from openai import OpenAI
client = OpenAI(
base_url="https://cloud.mixerbox.com/v1",
api_key="sk-mb-...",
)
response = client.chat.completions.create(
model="mixerbox/kimi-k2.5",
messages=[{"role": "user", "content": "Hello!"}],
stream=True,
)
for chunk in response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="") Node.js / TypeScript
Works with the official openai package. Just change the baseURL.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://cloud.mixerbox.com/v1",
apiKey: "sk-mb-...",
});
const stream = await client.chat.completions.create({
model: "mixerbox/kimi-k2.5",
messages: [{ role: "user", content: "Hello!" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
} API reference
Endpoints exposed under /v1:
| Method | Path | Purpose |
|---|---|---|
| POST | /v1/chat/completions | Inference endpoint for chat-style generation (streaming or non-streaming) |
| GET | /v1/models | List models hosted on the Service with pricing and capabilities |
Available models
Models hosted on our serverless inference. Prices per 1M tokens, in USD.
| Model ID | Context | Input $/1M | Output $/1M |
|---|---|---|---|
| mixerbox/kimi-k2.5 | 256K | $0.39 | $1.89 |
| mixerbox/minimax-m2.5 | 196K | $0.14 | $0.89 |
| mixerbox/glm-5 | 200K | $0.59 | $1.91 |
| mixerbox/glm-4.7 | 203K | $0.39 | $1.74 |
| mixerbox/qwen3-coder | 256K | $0.21 | $0.99 |
| mixerbox/nemotron-30b | 256K | $0.04 | $0.19 |
| mixerbox/nemotron-super | 256K | $0.08 | $0.44 |
| mixerbox/kimi-k2-thinking | 256K | $0.59 | $2.49 |
| mixerbox/gemma-3-4b | 128K | $0.03 | $0.07 |
| mixerbox/nemotron-9b | 128K | $0.03 | $0.15 |
| mixerbox/nemotron-12b-vl | 128K | $0.17 | $0.50 |
| mixerbox/gpt-oss-safeguard | 128K | $0.13 | $0.50 |
Error codes
Standard HTTP status codes. Error responses follow the OpenAI error format.
| Code | Meaning |
|---|---|
| 401 | Missing or invalid API key. |
| 402 | Insufficient balance. Top up at /dashboard. |
| 404 | Model not found. Check /v1/models for available IDs. |
| 429 | Rate limited. Back off and retry with exponential delay. |
| 500 | Internal error. Retry once; if persistent, contact cloud@mixerbox.com. |
| 503 | Model temporarily unavailable. Retry or try a different model. |
SDKs
No bespoke SDK needed. The official OpenAI client libraries work out of the box — just override the base URL.
- openai-python ·
base_url= - openai-node ·
baseURL: - langchain ·
ChatOpenAI(base_url=...) - llama-index ·
api_base - vercel ai sdk ·
openai({ baseURL }) - cursor / cline · custom provider
OpenAI compatible
Our inference service implements the OpenAI spec exactly — every endpoint shape, field, and error code matches. Use it to generate client SDKs, import into Postman / Insomnia, or feed an AI agent. Just point the base URL at https://cloud.mixerbox.com/v1.