Skip to main content
Moss Inference serves the moss model and vendor models from OpenAI, Anthropic, Google and OpenRouter, each under one name. Responses and Chat Completions take the same names in model, and the search of your indexes works the same for every model.

Who pays

Retrievals are billed the same for every model, as the pricing page says.

Model list

GET /v1/models lists the models served now, so check it for the current list. Today it holds: On the Moss key, a vendor model takes prompts of up to 128,000 tokens, or 64,000 on anthropic/claude-haiku-5.5. The other limits are those of any vendor model. The Moss key sends a vendor only the fields that model takes there, and a request that sets any other field returns 400 with code: "unsupported_parameter" before the vendor is called. A null, false or empty value counts as not set, and so does a penalty or top_logprobs of 0 and a temperature or top_p of 1. Google models on the Moss key also refuse message parts other than text and base64 data URL images, and OpenRouter models refuse file parts.

Your own key

Send your OpenAI, Anthropic, Google or OpenRouter key in X-Moss-Provider-Key, the apiKey or api_key option of the SDKs, and the call runs on your key:
  • A name from the list reaches the same model on your key, whether or not your organization has it turned on.
  • A vendor’s own model name works only with your key. gpt-*, chatgpt-* and o1 to o9 names go to OpenAI, claude-* to Anthropic, gemini-* to Google, and openrouter/<OpenRouter model id> to OpenRouter, for example gpt-6-luna or claude-haiku-5-5. Without a key such a name returns 400 with code: "missing_provider_key".
  • The request reaches the vendor as you sent it, so it uses that vendor’s own fields.
  • A wrong or refused key gets the vendor’s own error and status. Moss never retries the call on the Moss key.
  • The key goes only to that vendor and is never stored.

The reply

The model of a reply is the name you sent, for every model, and moss when you sent none.

List models

GET /v1/models answers in OpenAI’s list shape, so client.models.list() in OpenAI’s clients reads it. It lists every model served now. Whether your organization has a vendor model turned on shows when you call it.
200 - OK

Errors

These come from the choice of model. The rest are on Chat Completions.