Models and limits

The model id, every limit that shapes a request, what each feature supports, and how to read the limits from the API.

API keys call one model, Olive. Send its id, olive, as model. A version suffix such as olive@<version> returns 404.

Olive

olive
InputText. Documents and images are read as text after you upload them. See Files
OutputText. Chat completions also return the reasoning, in reasoning_content
Context window65,536 tokens, prompt and output together
Maximum output16,384 tokens, reasoning included
Output when you set no limitUp to 16,384 tokens on chat completions and completions. 4,096 tokens per model call on the Responses API
Reasoning effortnone, minimal, low, medium, high, xhigh
StreamingChat completions, completions, Responses
Function toolsResponses API. Untested on chat completions
File searchResponses API, over your own vector stores
Structured outputsAsk for JSON in the prompt, then parse and validate it. response_format is untested
Web searchComing soon
Embeddings, audio, images outNot available

An unknown model id returns 404 with the message the model "<name>" does not exist.

Read the limits from the API

GET /models lists the models your key can call, with the context window and output ceiling of each. Read the limits from here rather than hardcoding them.

{
  "object": "list",
  "data": [
    {
      "id": "avey/olive",
      "object": "model",
      "created": 1762560000,
      "owned_by": "avey",
      "context_length": 65536,
      "max_output_tokens": 16384
    }
  ]
}

The list prefixes the id with avey/. Requests accept either form.

Token budget

The context window holds the prompt and the output together. The output alone is capped at 16,384 tokens.

Reasoning is output. It counts toward max_tokens (max_output_tokens on Responses) along with the answer. If the budget runs out while Olive is still reasoning, the answer is cut off or missing:

EndpointWhat you see
Chat completionsfinish_reason is length. content can be empty or null
Responsesstatus is incomplete

When you set a limit, leave room for both. Leave max_tokens unset on chat completions and the ceiling of 16,384 applies. On the Responses API, set max_output_tokens yourself: without it, each model call stops at 4,096 tokens.

A prompt that does not fit returns 400. Files you reference count as input, and their text must fit the window too. Count a prompt before you send it with POST /responses/input_tokens. The count is free.

A large max_tokens holds headroom in your per-minute token limit while the request runs. See Rate limits.

Long prompts take longer to answer. Stream long requests and set your client timeout as described in Errors.

Updates

Avey may update the model behind olive. The same prompt can then get a different answer. Watch the Changelog, and re-run your evaluation set when it records a model change.

Last updated