Reasoning
Some Mixlayer models support an extended thinking mode where the model produces reasoning before its visible answer. Chat Completions returns this in a separate reasoning_content field on the assistant message. The Responses API returns reasoning as separate output items and streams it through response.reasoning_text.delta events.
Enabling thinking
Use reasoning_effort with Chat Completions:
Use reasoning.effort with the Responses API:
Both APIs recognize default, none, minimal, low, medium, high, xhigh, and max. Mixlayer maps these standardized values to each model’s reasoning capabilities and rejects values the model cannot support. An accepted value does not necessarily represent a distinct native effort level or a fixed token budget.
Omit the effort or send "default" to use the model’s default.
Model mappings
For the models in the model catalog:
Native effort levels all enable thinking. Qwen 3.5/3.6 and Kimi K2.7 Code map every non-none effort to their default thinking behavior. GLM 5.3 and Kimi K2.7 Code always reason and reject none. Budget enough output tokens for both reasoning and the final answer.
DeepSeek V4.1 Flash also accepts an integer from 1 to 100 directly through reasoning_effort in Chat Completions or reasoning.effort in Responses. Numeric values are passed through to the model’s native effort scale, not interpreted as token budgets. See DeepSeek V4.1 Flash for examples.
Legacy boolean controls
Chat Completions still accepts thinking (or its boolean alias reasoning). When reasoning_effort is omitted or default, true maps to medium and false maps to none. An explicit non-default effort takes precedence over either boolean. These values then follow the model mappings above, so thinking: false is rejected by GLM 5.3 and Kimi K2.7 Code. Prefer the effort field for new integrations.
Reading reasoning_content
A non-streaming response with thinking enabled includes both fields on the assistant message:
content is the visible answer you’d typically show to the user. reasoning_content is the model’s chain of thought — useful for debugging, evaluation, or building “show your work” UI.
Mixlayer extracts reasoning from <think>...</think> tags in the model’s
raw output and routes it to reasoning_content automatically. You will
never see the tags in either field.
Examples
curl
Python
TypeScript
Rust
Streaming reasoning
When stream: true, reasoning arrives in delta.reasoning_content chunks alongside delta.content chunks. They interleave in the order the model produces them — typically reasoning first, then visible content.
To render reasoning and content in separate UI areas, route each delta based on which field is set:
Structured output
Set response_format alongside reasoning_effort in Chat Completions, or text.format alongside reasoning.effort in the Responses API.