How does `reasoning_effort` work?
Last updated: July 31, 2026
reasoning_effort controls how much a reasoning model "thinks" before answering. Higher values can produce more thorough output at the cost of latency. It only affects reasoning models — others ignore it. (Friendli Docs)
There's no universal set of values. Accepted values are model-dependent and may include none, minimal, low, medium, high, xhigh, and max; defaults differ per model too. Both the accepted values and how each one changes behavior are defined by the model's chat template, which reads this field and adjusts the prompt accordingly. Friendli honors reasoning_effort according to that template, so effective behavior always follows what the model supports.
To find which values a model accepts, check its chat template — usually chat_template.jinja, or the chat_template field in tokenizer_config.json, in the model's Hugging Face repository. For example, see the GLM-5.2 chat template, which sets reasoning_effort default to max and allow high when specified.
Example request:
curl -X POST https://api.friendli.ai/serverless/v1/chat/completions \
-H "Authorization: Bearer $FRIENDLI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "zai-org/GLM-5.2",
"messages": [
{ "role": "user", "content": "Solve 37 * 42." }
],
"reasoning_effort": "high"
}'If a value is accepted by the model's chat template but our API rejects it or doesn't apply it, let us know through your support channel and we'll look into it.