Models, providers and routing

Thinking settings fitted per provider

One reasoning effort, temperature and tool set from a chat client works on every provider instead of failing with a 400.

What it is

Chat clients such as Open WebUI send the same reasoning effort, temperature and tools to every model, and providers each refuse a different part of that. When a provider refuses a setting and names it, Janus fits the request and sends it again before anything reaches the caller, and remembers the fix per model.

Why you want it

People should not have to know which provider takes which reasoning level or temperature. Fitting the request keeps one client configuration working across every model in the catalog.

How it works

  • A refused reasoning level becomes the nearest one the model takes; a refused temperature or top_p is left out
  • GPT-5 and GPT-6 tool calls go through OpenAI's Responses API and return as a normal chat completion
  • Claude 4.6 and later get adaptive thinking with the requested effort; earlier Claude models get a thinking budget
  • Gemini thought signatures dropped by the client are restored on tool-call turns
  • Changes shown in X-Janus-Reasoning-Adjusted and the request log; what is learned is kept per model for a day

See it on your own network.

The Community edition is free for up to 25 people. The 30-day Business trial unlocks every Business feature.