Docs menu

Limitations and known issues

Honest and current. If something here is fixed, it is removed from this page.

Endpoints not served#

  • /v1/embeddings — not served. It answers 404 with code unknown_url.

/v1/messages/count_tokens is served, as an estimate — see Messages.

The Responses wire is stateless#

/v1/responses serves the request and response shape but keeps no store of past responses. previous_response_id, conversation, item_reference input items and background: true are refused 400 unsupported_parameter; store is always false. Send the whole conversation in input every turn — Codex CLI, the OpenAI SDKs and LangChain already do. OpenAI's built-in tools (web search, file search, computer use, code interpreter, MCP, custom grammars) are not available on any model. See Responses.

Behaviour that differs from the model's own documentation#

  • Two models serve a lower max output than published elsewhere: glm-5.1 32,768; kimi-k2.6 65,536. A larger max_tokens is lowered to these, not rejected. Models has the figure for every model.
  • muse-spark-1.2 is served on Meta's Contributor tier. Its low rate comes with that tier's terms: prompts and outputs sent to it may be used to train future models. Use another model for anything that must stay private.
  • Images on the OpenAI wire must be base64 data URLs. Remote image URLs are not fetched.
  • redacted_thinking blocks on the Anthropic wire are dropped silently rather than passed through.
  • thinking blocks from a model translated onto the Anthropic wire appear only when the request enables thinking. A reasoning model reasons either way and bills it as output; without thinking enabled the reasoning is left out of the reply. Blocks returned this way carry no signature. A model native to the Anthropic wire returns its own blocks, signatures included, unchanged.
  • max_tokens counts reasoning. On models that always think (kimi-k3), a small cap can be spent entirely on reasoning, leaving an empty answer with finish_reason: "length".
  • Models are offered on both wires. Where the wire you call differs from a model's own protocol, the request is translated; a field with no equivalent in the other protocol is refused with a 400 naming it rather than dropped.

Service#

  • No SLA. The service is provided as-is and as-available; models may be added, changed or removed at any time. See the Terms of Service.
  • No public status endpoint. Check the dashboard or write to support@princep.org.
  • Context windows are not enforced by Sator. Over-long prompts are rejected by the model and the message is relayed.
  • Service stops at $0 — including mid-response. See Billing.