Skip to main content

Reasoning Support

Some Emby models can show their step-by-step reasoning process before giving the final answer.
This is useful for:
  • Debugging & code explanation
  • Math & symbolic reasoning
  • Logic puzzles
  • Complex planning
  • Multi-step problem solving
You access reasoning through a single parameter: reasoning_effort.

Reasoning-Capable Models

You can find all reasoning models on the /models endpoint. These usually include:
  • Kimi 1.5+ (Emby-hosted)
  • DeepSeek-R1 & DeepSeek-V3 R1
  • Qwen 3.5 Reasoning
  • GLM-4 Reasoning series
  • OSS Reasoning Models (gpt-oss-20b, 120b, etc.)
Some models reason internally but do not show their chain-of-thought, which is expected behavior.
Emby returns only provider-approved reasoning fields.

Reasoning Levels

Add reasoning_effort to your request:

Example Request

Example Response


Streaming Reasoning

When using "stream": true, reasoning is streamed before the answer.
Reasoning arrives in chunks:
This allows UIs to show “thinking steps” in real time.

Usage Tracking

Every reasoning-enabled call includes:
  • reasoning_tokens
  • completion_tokens
  • prompt_tokens
  • total_tokens
You can inspect:
  • Full reasoning text
  • Latency
  • Token costs
  • Model behavior
All visible in the Emby dashboard.

Auto-Routing Behavior

When using generic models like "deepseek-r1" without specifying version: Emby will:
  • Choose a reasoning-enabled variant
  • Apply a safe default reasoning level
  • Only route to providers that support reasoning
  • Normalize the output format
This ensures stable behavior even when new reasoning models appear.

Model Differences

Not all models expose reasoning equally:

Full reasoning shown

DeepSeek R1, Qwen Reasoning, GLM Reasoning, OSS Reasoners

Internal reasoning only

Some vendor models compute reasoning internally but hide chain-of-thought.
Emby always respects the provider’s rules.

Best Practices

Choose the right effort

Use low/medium for most tasks.
High can greatly increase token usage.

Use streaming for UX

Let users see the model’s thought process as it unfolds.

Inspect logs

View full reasoning + token split in the dashboard.

Monitor usage

Reasoning can multiply token usage—plan accordingly.

Error Handling

If reasoning_effort is used on a model without reasoning support:
This prevents accidental cost spikes on non-reasoning models.

Need help choosing a reasoning model?

We help teams pick the right models for large codebases & refactoring workflows. 📞 Book a call: https://cal.com/absolum/30min
💬 WhatsApp us: https://wa.absolum.nl