Docs / Open Platform

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.

OpenAI-compatible Routing Code examples Console managed

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.

Base URLhttps://open.mixsoai.com/v1
API KeyAuthorization: Bearer YOUR_MIXSO_API_KEY
EndpointPOST /chat/completions
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": "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);
SDK package: MixSo provides API invocation examples. Use any compatible client and configure the Base URL and API key.

Authentication

All API requests use Bearer authentication. Create API keys in the console, keep production keys server-side, and rotate keys when needed.

ItemValueNote
HeaderAuthorizationRequired for every API request.
FormatBearer sk-xxxxxxUse your MixSo API key.
Base URLhttps://open.mixsoai.com/v1OpenAI-compatible endpoint root.
Production security: Do not expose API keys in browser JavaScript, public repositories, mobile apps, logs, or screenshots.

Chat Completions

Use POST /v1/chat/completions for conversation, coding assistants, summarization, classification, extraction, tool calling, and multi-turn workflows.

ParameterTypeDescription
modelstringModel identifier enabled in your MixSo console.
messagesarrayConversation messages using role and content.
temperaturenumberControls randomness when supported by the selected model.
streambooleanSet to true for incremental output.
toolsarrayTool definitions for compatible models.
response_formatobjectUse 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
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
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
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
curl https://open.mixsoai.com/v1/models \
  -H "Authorization: Bearer $MIXSO_API_KEY"
CapabilityExample useNotes
ChatGeneral assistant, writing, codingUse enabled chat models in the console.
VisionImage analysis and multimodal inputModel dependent.
EmbeddingsSearch, RAG, clusteringDimension depends on model.

Errors

When debugging, check the request ID, status code, selected model, account quota, and usage logs in the console.

StatusMeaningAction
400Invalid request body or unsupported parameter.Check model compatibility and payload format.
401Missing or invalid API key.Check the Authorization header.
429Rate limit, quota, or account usage issue.Review quota, balance, and retry policy.
503Model 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.

Stable application codeKeep model IDs stable in application code while adjusting providers and routes in the console.
Operational visibilityUse logs to inspect selected routes, errors, latency, and usage details.

Request Routing

When a request arrives, MixSo evaluates account permission, selected model ID, parameter compatibility, route health, quota, and configured fallback options.

  1. Validate API key and account status.
  2. Resolve the public model ID to an enabled route.
  3. Check parameter compatibility for the selected model.
  4. Send the request to the best available route.
  5. 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.

ItemDescription
Retry policyControls whether a request can be retried after route failure.
Compatibility gateFallback only uses routes compatible with the requested model and parameters.
LogsUsage 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.

ParameterCheck
toolsThe selected model supports tool calling.
response_formatThe model supports JSON mode or JSON Schema output.
stream_optionsStreaming can return usage details if supported.
reasoningThe 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.

Python
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.

Node.js
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.

  1. Create a MixSo API key in the console.
  2. Set Base URL to https://open.mixsoai.com/v1.
  3. Choose a model ID enabled in your account.
  4. 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.

Compatibility note: Client-specific features may require dedicated providers. Use MixSo for supported standard model requests.

OpenCode Configuration

For custom provider configuration, create a provider entry with the MixSo Base URL and API key, then map your preferred model ID.

JSON
{
  "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.

YAML
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.

Create separate keys for development, staging, and production.
Review request logs when debugging model or routing issues.
Rotate keys if they may have been exposed.

Billing and Usage

Usage and billing are visible in the console. Track requests by key, model, time, status, and cost fields where supported.

Usage control: Set usage alerts or operational limits before production rollout.

Troubleshooting

Most integration issues can be narrowed down by checking authentication, model availability, request parameters, route health, and account balance.

IssueWhat to check
401API key format, Authorization header, key status.
429Rate limits, quota, balance, retry behavior.
Model unavailableModel access, route status, fallback policy.
Streaming interruptedClient timeout, network proxy, stream parsing.