Reasoning mode
Reasoning levels for GetVibe API: reasoning_effort in Chat Completions, reasoning.effort in the Responses API, and native thinking for Claude on /v1/messages. The values none, minimal, low, medium, high, xhigh and max depend on the model and must be checked against its model card; GPT-5.6 Luna, Terra and Sol publish all six levels from minimal through max.
Reasoning can improve quality on hard tasks but usually increases latency and output-token spend. The parameter format depends on the endpoint, and the available levels on the specific model.
Parameter format
| Parameter | Type | Description |
|---|---|---|
reasoning_effort | string | Top-level field for /v1/chat/completions. |
reasoning.effort | string | Nested field for /v1/responses — the canonical Responses API format. |
none, minimal, low, medium, high, xhigh and max. GPT-5.6 Luna, Terra and Sol publish all six levels from minimal through max; other models may publish a smaller set. The correct spelling is medium, not middle.How levels are applied
| Parameter | Type | Description |
|---|---|---|
GPT-5 / o3 / o4 | native | The level is passed to the model in the chosen endpoint format. |
GLM / Qwen | binary | none, minimal, low disable thinking; medium and above enable it. |
Gemini | binary | Lower levels give thinkingBudget=0, medium and above an automatic budget. |
DeepSeek / Kimi | native | Reasoning is built into the model and is not toggled by this parameter. |
Claude | /v1/messages | Newer models use thinking: {type: adaptive, display: summarized} and output_config.effort; older models support budget_tokens. |
Chat Completions (curl)
curl https://getvibeapi.com/v1/chat/completions \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"reasoning_effort": "high",
"messages": [{"role": "user", "content": "Solve step by step: 17 * 23"}]
}'Chat Completions (OpenAI SDK)
from openai import OpenAI
client = OpenAI(base_url="https://getvibeapi.com/v1", api_key=os.environ["GETVIBE_API_KEY"])
r = client.chat.completions.create(model="gpt-6.1-sol", reasoning_effort="high",
messages=[{"role":"user","content":"Hello!"}])
print(r.choices[0].message.content)Responses API (curl)
curl https://getvibeapi.com/v1/responses \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"reasoning": {"effort": "high"},
"input": "Solve step by step: 17 * 23"
}'Claude: native thinking
Newer Claude models (Sonnet 5.5, Haiku 5.5, Opus 5.5 and some 4.7+ models) use thinking.type=adaptive, thinking.display=summarized to return readable reasoning, and output_config.effort to set its level. Older models, including Haiku 4.5 and Sonnet 4.5, use thinking.type=enabled with budget_tokens. Example for newer models:
from anthropic import Anthropic
client = Anthropic(base_url="https://getvibeapi.com", api_key=os.environ["GETVIBE_API_KEY"])
r = client.messages.create(model="claude-sonnet-5.5", max_tokens=2048,
thinking={"type":"adaptive","display":"summarized"},
output_config={"effort":"medium"},
messages=[{"role":"user","content":"Hello!"}])
print(r.content)thinking with /v1/messages, or Chat Completions with reasoning_effort; the gateway maps the effort and requests a visible reasoning summary. Tool setup lives in the Tool connectionssection.