Theme
Language

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

ParameterTypeDescription
reasoning_effortstringTop-level field for /v1/chat/completions.
reasoning.effortstringNested field for /v1/responses — the canonical Responses API format.
GetVibe recognizes 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

ParameterTypeDescription
GPT-5 / o3 / o4nativeThe level is passed to the model in the chosen endpoint format.
GLM / Qwenbinarynone, minimal, low disable thinking; medium and above enable it.
GeminibinaryLower levels give thinkingBudget=0, medium and above an automatic budget.
DeepSeek / KiminativeReasoning is built into the model and is not toggled by this parameter.
Claude/v1/messagesNewer 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)
For Claude, use native 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.
GetVibe API reasoning — reasoning_effort and thinking | GetVibe API