MixSo Open Platform developer documentation
Use MixSo Open Platform as an OpenAI-compatible model access layer. Create an API key, configure the Base URL, choose a model available in your console, and send requests with compatible clients.
Quick Start
Keep your existing OpenAI-compatible code and replace the Base URL and API key. Standard calls do not require a MixSo-specific SDK package.
https://open.mixsoai.com/v1Authorization: Bearer YOUR_MIXSO_API_KEYPOST /chat/completionscurl https://open.mixsoai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MIXSO_API_KEY" \
-d '{
"model": "gpt-5.5",
"messages": [
{
"role": "user",
"content": "Hello from MixSo Open Platform"
}
]
}'
from openai import OpenAI
client = OpenAI(
api_key="YOUR_MIXSO_API_KEY",
base_url="https://open.mixsoai.com/v1"
)
response = client.chat.completions.create(
model="gpt-5.5",
messages=[
{
"role": "user",
"content": "Hello from MixSo Open Platform"
}
]
)
print(response.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.MIXSO_API_KEY,
baseURL: "https://open.mixsoai.com/v1"
});
const response = await client.chat.completions.create({
model: "gpt-5.5",
messages: [
{
role: "user",
content: "Hello from MixSo Open Platform"
}
]
});
console.log(response.choices[0].message.content);
Authentication
All API requests use Bearer authentication. Create API keys in the console, keep production keys server-side, and rotate keys when needed.
| Item | Value | Note |
|---|---|---|
| Header | Authorization | Required for every API request. |
| Format | Bearer sk-xxxxxx | Use your MixSo API key. |
| Base URL | https://open.mixsoai.com/v1 | OpenAI-compatible endpoint root. |
Chat Completions
Use POST /v1/chat/completions for conversation, coding assistants, summarization, classification, extraction, tool calling, and multi-turn workflows.
| Parameter | Type | Description |
|---|---|---|
model | string | Model identifier enabled in your MixSo console. |
messages | array | Conversation messages using role and content. |
temperature | number | Controls randomness when supported by the selected model. |
stream | boolean | Set to true for incremental output. |
tools | array | Tool definitions for compatible models. |
response_format | object | Use only when supported by the selected model. |
Vision Input
For compatible models, include text and image content in the user message. Use image URLs or supported image payload formats according to the enabled model.
curl https://open.mixsoai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MIXSO_API_KEY" \
-d '{
"model": "gpt-5.5",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Describe this product image."
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/product.png"
}
}
]
}
]
}'
Streaming
Set stream to true to receive incremental chunks. Use streaming for chat interfaces, coding agents, and long responses.
curl https://open.mixsoai.com/v1/chat/completions \
-H "Authorization: Bearer $MIXSO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"stream": true,
"messages": [
{
"role": "user",
"content": "Write a concise product description."
}
]
}'
Embeddings
Embeddings convert text into vectors for search, retrieval, clustering, and RAG workflows. Model availability and vector dimensions depend on the selected embedding model.
curl https://open.mixsoai.com/v1/embeddings \
-H "Authorization: Bearer $MIXSO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-model",
"input": "MixSo Open Platform developer documentation"
}'
Models
Model access is controlled by your MixSo console configuration. Use the model ID shown in the console or returned by the models endpoint.
curl https://open.mixsoai.com/v1/models \
-H "Authorization: Bearer $MIXSO_API_KEY"
| Capability | Example use | Notes |
|---|---|---|
| Chat | General assistant, writing, coding | Use enabled chat models in the console. |
| Vision | Image analysis and multimodal input | Model dependent. |
| Embeddings | Search, RAG, clustering | Dimension depends on model. |
Errors
When debugging, check the request ID, status code, selected model, account quota, and usage logs in the console.
| Status | Meaning | Action |
|---|---|---|
| 400 | Invalid request body or unsupported parameter. | Check model compatibility and payload format. |
| 401 | Missing or invalid API key. | Check the Authorization header. |
| 429 | Rate limit, quota, or account usage issue. | Review quota, balance, and retry policy. |
| 503 | Model provider unavailable. | Retry after a short interval or choose another compatible model. |
Routing Overview
Routing defines how MixSo selects an available model route for a request. Your application sends a stable model ID, and MixSo handles provider-side routing according to console configuration, route availability, model compatibility, and fallback rules.
Request Routing
When a request arrives, MixSo evaluates account permission, selected model ID, parameter compatibility, route health, quota, and configured fallback options.
- Validate API key and account status.
- Resolve the public model ID to an enabled route.
- Check parameter compatibility for the selected model.
- Send the request to the best available route.
- Record usage logs and billing fields.
Fallback
Fallback protects production applications when a model route is temporarily unavailable. If an eligible route fails, MixSo can retry with another compatible route according to the configured policy.
| Item | Description |
|---|---|
| Retry policy | Controls whether a request can be retried after route failure. |
| Compatibility gate | Fallback only uses routes compatible with the requested model and parameters. |
| Logs | Usage logs show final route, status, and error details. |
Parameter Compatibility
Most standard chat parameters behave consistently, but optional capabilities vary by model. Confirm advanced parameters before production use.
| Parameter | Check |
|---|---|
tools | The selected model supports tool calling. |
response_format | The model supports JSON mode or JSON Schema output. |
stream_options | Streaming can return usage details if supported. |
reasoning | The selected model supports reasoning control parameters. |
cURL Examples
Use cURL for quick verification before integrating with an application or external client.
curl https://open.mixsoai.com/v1/chat/completions \
-H "Authorization: Bearer $MIXSO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"messages": [
{
"role": "user",
"content": "Ping"
}
]
}'
curl https://open.mixsoai.com/v1/chat/completions \
-H "Authorization: Bearer $MIXSO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"stream": true,
"messages": [
{
"role": "user",
"content": "Stream a short answer"
}
]
}'
curl https://open.mixsoai.com/v1/models \
-H "Authorization: Bearer $MIXSO_API_KEY"
Python Examples
Use an OpenAI-compatible Python client and set the MixSo endpoint.
from openai import OpenAI
client = OpenAI(
api_key="YOUR_MIXSO_API_KEY",
base_url="https://open.mixsoai.com/v1"
)
response = client.chat.completions.create(
model="gpt-5.5",
messages=[
{
"role": "user",
"content": "Explain MixSo in one sentence."
}
]
)
print(response.choices[0].message.content)
Node.js Examples
Use an existing compatible JavaScript client and set the MixSo Base URL.
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.MIXSO_API_KEY,
baseURL: "https://open.mixsoai.com/v1"
});
const response = await client.chat.completions.create({
model: "gpt-5.5",
messages: [
{
role: "user",
content: "Explain MixSo in one sentence."
}
]
});
console.log(response.choices[0].message.content);
Cursor Configuration
For clients that support custom OpenAI-compatible providers, configure MixSo as the API provider. Some client features may continue to use the client’s built-in models.
- Create a MixSo API key in the console.
- Set Base URL to https://open.mixsoai.com/v1.
- Choose a model ID enabled in your account.
- Verify with a short chat request.
Claude Code Configuration
If your client supports OpenAI-compatible custom endpoints, use the MixSo Base URL and API key. Keep model IDs aligned with your console configuration.
OpenCode Configuration
For custom provider configuration, create a provider entry with the MixSo Base URL and API key, then map your preferred model ID.
{
"provider": {
"mixso": {
"baseURL": "https://open.mixsoai.com/v1",
"apiKey": "{env:MIXSO_API_KEY}",
"models": {
"gpt-5.5": {}
}
}
}
}
LiteLLM Configuration
For LiteLLM or gateway-style clients, configure an OpenAI-compatible custom provider using the MixSo Base URL and key.
model_list:
- model_name: mixso-gpt-5-5
litellm_params:
model: openai/gpt-5.5
api_base: https://open.mixsoai.com/v1
api_key: os.environ/MIXSO_API_KEY
Console
Use the console to create API keys, manage model access, inspect request logs, monitor failures, and review billing details.
Billing and Usage
Usage and billing are visible in the console. Track requests by key, model, time, status, and cost fields where supported.
Troubleshooting
Most integration issues can be narrowed down by checking authentication, model availability, request parameters, route health, and account balance.
| Issue | What to check |
|---|---|
| 401 | API key format, Authorization header, key status. |
| 429 | Rate limits, quota, balance, retry behavior. |
| Model unavailable | Model access, route status, fallback policy. |
| Streaming interrupted | Client timeout, network proxy, stream parsing. |