Build
Request fields
Which request fields Kael uses, and which ones it accepts but ignores.
Fields Kael uses
| Field | Format | What it does |
|---|---|---|
model | All | Required. Must be kael-beta. |
messages | Chat Completions, Messages | The conversation, oldest turn first. |
input | Responses | A string, or a list of input items. |
instructions | Responses | The system prompt. |
system | Messages | The system prompt. |
stream | All | Set true to receive the answer as server-sent events. See Streaming. |
stream_options.include_usage | Chat Completions | Adds a final streamed chunk that carries usage. |
tools | All | Function tools Kael may call. See Tool calling. |
reasoning_effort | Chat Completions, Messages | off, low, high, max, z-low or z-high. See Thinking levels. |
reasoning.effort | Responses | The same setting, in the Responses shape. |
Accepted but ignored
So existing code keeps working, Kael accepts every standard parameter without an error. Only the fields above change what Kael does. These are the ones people most often expect to work:
| Field | What to do instead |
|---|---|
temperature, top_p, seed, n, stop, penalties, logprobs | Nothing. Sampling is managed inside Kael. Output is not deterministic, so the same request can return different answers. |
max_tokens, max_output_tokens | A response can run up to 128,000 tokens. To keep answers short, ask for that in your prompt. The Messages format requires max_tokens, so send any value. |
response_format | JSON mode is not enforced. Ask for JSON in your prompt and validate what comes back. |
tool_choice | Kael decides whether and which tool to call. |
thinking | Messages-format extended thinking. Use reasoning_effort instead. |