# Reasoning Source: https://docs.getworg.com/reasoning Some models can think before they answer. reasoning_effort turns that on or off, and the thinking comes back in reasoning_content. ## reasoning_effort Set `reasoning_effort` at the top level of the request: `none`, `low`, `medium`, `high` or `max`. `minimal` is read as `low` and `xhigh` as `max`. Any other value gets `400 invalid_request` before the request reaches a lane. cURL: ```bash curl https://api.getworg.com/v1/chat/completions \ -H "Authorization: Bearer $WORG_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "qwen3.8-27b:standard", "messages": [{"role": "user", "content": "Is 221 a prime number?"}], "reasoning_effort": "low", "max_tokens": 1024 }' ``` Worg sends the effort to each lane in the form that lane accepts, so a combo behaves the same whichever lane answers. Clients that send a `reasoning` object instead are read the same way: `{"enabled": false}` as `none`, `{"effort": "low"}` as `low`. ## Defaults per lane | Model ID | Without reasoning_effort | | --- | --- | | `deepseek-v4.1-flash:cached` | Answers without reasoning. | | `deepseek-v4.1-flash:standard` | Answers without reasoning. | | `qwen3.8-27b:standard` | Reasons. Send "none" to turn it off. | ## Where the reasoning appears - In `message.reasoning_content`, next to the answer in `content`. Without reasoning the field is absent. - In a stream, in `delta.reasoning_content`, before the answer. - It is never part of `content`, so [JSON output](https://docs.getworg.com/structured-output) stays parseable with reasoning on. ## Billing - Reasoning tokens are output tokens. They are counted inside `completion_tokens` and billed at the output rate. - A higher effort does not always mean more tokens: on a short question the levels gave similar lengths in testing. The question decides most of it. - Reasoning counts against `max_tokens`. With `"max_tokens": 30` and `high`, every lane spent all 30 tokens reasoning and returned an empty `content` with `finish_reason: "length"`. Leave room for the answer, or send `none`. Next: [Structured output](https://docs.getworg.com/structured-output) ยท [Responses and usage](https://docs.getworg.com/responses)