FAQ
Short answers to the questions developers ask most when they move an integration to Olive.
Why is content empty?
Reasoning used the whole output budget before Olive wrote the answer. The chat
completion has finish_reason length. Raise max_tokens, leave it unset, or
set a lower reasoning_effort. On the Responses API, set max_output_tokens:
without it, each model call stops at 4,096 tokens.
See Models and limits.
Why does a key that works elsewhere return 401?
The SDK sent a different key. When api_key is not passed, an OpenAI SDK reads
OPENAI_API_KEY from the environment and sends that. Pass your Avey key
explicitly. See Authentication.
Where is the reasoning?
On chat completions, in message.reasoning_content, beside content. Some
SDKs keep fields they do not know and some drop them. The
Reasoning page shows how to read it in each SDK. The
Responses API and completions do not return it.
Can I turn reasoning off?
No. reasoning_effort: "none" gives the smallest thinking budget, not zero.
See Effort.
Do I send the reasoning back on the next turn?
No. Send each earlier assistant turn's content. See
Multi-turn conversations.
Can Olive read images?
Not directly. Upload the image as a file and reference its file_id. Avey
turns the picture into a text description, and Olive reads that. An
image_url part returns 400. See Files.
Why is the first request with a new file slow?
The first request that uses a file converts it to text. Later requests reuse
the text. Warm a file right after you upload it by counting its tokens with
POST /responses/input_tokens,
which is free.
Is response_format supported?
It is untested. Ask for JSON in the prompt, then parse and validate the answer. See Structured outputs.
Do my keys have separate rate limits?
No. Every key on your account shares one set of limits and one credit balance. See Rate limits.
A 429 keeps coming back after I wait. Why?
Check error.type. If it is insufficient_quota, your account is out of credit
or at a spending cap, and waiting does not help. Add credit on the
API platform.
How do I know when the model changes?
Watch the Changelog. Re-run your evaluation set when it records a
model change. system_fingerprint is empty, so it cannot tell you.
Can I send patient data?
Do not send protected health information. Remove names, contact details, identifiers and dates of birth first, and give Olive only what the task needs. A qualified clinician reviews every output that affects care before it is acted on.
Something else?
Send the request, the status code, the response body and the time to
support@avey.ai.