Reasoning
On models that support it, reasoning_effort controls how much the model thinks before answering. Higher efforts cost more time and more reasoning tokens, and usually give better answers on hard problems.
Supported values
Weakest first. Each model supports a different subset — check reasoning_effort.values in GET /v1/models and send only a value from that list.
none
No reasoning. On a model without reasoning, this is simply ignored.
low
Light reasoning for easy questions. Fastest and cheapest.
medium
Balanced reasoning for everyday tasks.
high
Deep reasoning for hard problems. Slower and more tokens.
xhigh
Very deep reasoning. Only listed on some models.
max
The strongest reasoning available. Only listed on some models.
Unsupported values return 400
Any effort the model does not list — including any effort at all on a model without reasoning — returns
400 invalid_request. The error names the values that model accepts.Example
terminal
curl https://api.astorias.ai/v1/chat/completions \
-H "Authorization: Bearer $ASTORIAS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "{huggingface-model-id}",
"messages": [{"role": "user", "content": "Count the primes below 30."}],
"reasoning_effort": "high"
}'Reasoning tokens count toward completion_tokens in the usage object. When the model lists a separate reasoning price, they are billed at that rate instead of the completion rate. See Usage and billing.