Errors & limits

Errors use the standard OpenAI JSON shape, so existing SDK error handling works unchanged. This page lists what the API actually returns and what the shared API serves today.

The error shape

{
  "error": {
    "message": "a human-readable description",
    "type": "...",
    "param": null,
    "code": "..."
  }
}

Status codes

StatusMeaningWhat to do
400Validation error — malformed JSON, unknown field, or a bad parameter valueFix the request; error.message names the problem
401Unauthorized — missing or invalid keyCheck the Authorization: Bearer header and your key
503model_not_hot — the model is not loaded right nowRetry with backoff

503 model_not_hot

The model is not loaded right now — retry with backoff. The condition is temporary; your request itself is fine.

HTTP/2 503
{
  "error": {
    "message": "The model for this role is not loaded. Retry with backoff.",
    "code": "model_not_hot"
  }
}
Python
import time

for wait in (1, 2, 4, 8, 16):
    try:
        r = client.chat.completions.create(model="qwen3.8-27b-nvfp4", messages=messages)
        break
    except openai.InternalServerError as e:   # SDK surfaces 503 here
        time.sleep(wait)

Limits, honestly

The shared API runs on a shared system. Today that means:

Context window65,536 tokens (chat model)
ConcurrencyUp to 4 concurrent sequences on the chat model

Those are the real serving numbers, not marketing tiers. Under concurrent load your requests queue; latency grows before anything fails. There are no hidden quotas — this table is the whole list.

If you need committed throughput — reserved concurrency, your own dedicated system, a specific model held hot — talk to an engineer.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms