Skip to main content

Model

Overview

Llumen allows you to configure individual models with specific capabilities and parameters. This enables fine-tuned control over how each AI model behaves.

Basic Configuration

Minimal Example

display_name = "GPT-OSS 20B"
# openrouter suffix are supported
model_id = "openai/gpt-oss-20b:nitro"
note

If openrouter is used, Llumen will always infer correct value. Feel free to omit [capability].

Complete Example

display_name = "Claude 4.5 Sonnet"
model_id = "anthropic/claude-4.5-sonnet"

[capability]
image = true
audio = false
video = true
tool = true
json = true
reasoning = "high"

[parameter]
temperature = 0.7
top_p = 0.9
top_k = 40
repeat_penalty = 1.1

[media_gen]
image_model = "sourceful/riverflow-v2-fast"
video_model = "google/veo-3.1-lite"

Task Model

You can optionally specify a separate model for internal tasks like title generation. This lets you use a cheaper/faster model for tasks while keeping the primary model for conversations.

display_name = "Claude 4.5 Sonnet"
model_id = "anthropic/claude-4.5-sonnet"
task_model_id = "openai/gpt-4o-mini"

When task_model_id is omitted, the primary model is used for all tasks.

Capability

Configure what features the model supports.

note

You don't need specify capability if you are using openrouter. Openrouter API allow llumen to detect it for you.

Multi-modality Input

FieldTypeDescription
imageboolimage input
audioboolaudio input
videoboolvideo input

Tool Use

FieldTypeDescription
toolboolEnable function calling (search, deep research)

Controls whether the model can call external functions. When enabled, search and deep research modes become available.

  • When true: search/deep research modes enabled.
  • When false: normal mode only.
  • When not set: Llumen will guess its support.

Structured Output

FieldTypeDescription
jsonboolEnable structured output (JSON mode)

Controls whether the model supports structured/JSON output. When enabled, deep research mode can enforce structured responses for more reliable parsing.

  • When true: deep research mode will be more accurate. Eliminate error like "Here is research..." is not a valid plan.
  • When false: deep research mode will retry once if error.
  • When not set: Llumen will guess its support.

Thinking

Enable or configure reasoning effort for models that support extended thinking.

Boolean values (backward compatible):

[capability]
reasoning = true # Enable reasoning with default effort
reasoning = false # Disable reasoning

String values (effort levels):

[capability]
reasoning = "low" # Low reasoning effort
reasoning = "medium" # Medium reasoning effort
reasoning = "high" # High reasoning effort
reasoning = "none" # Disable reasoning
reasoning = "auto" # Use provider's default
  • When set to "high", "medium", "low": Enable reasoning with specified effort level
  • When set to "none": Disable reasoning
  • When set to "auto": Use the model's default reasoning behavior
  • When set to true: Enable reasoning with default effort
  • When set to false: Disable reasoning
  • When not set: Llumen will guess its support, enable if supported
note

Llumen does not support interleaved thinking due to the limitation of chat completion API.

OCR

[capability]
ocr = "Mistral" # Options: "Native", "Text", "Mistral", "Cloudflare", "Disabled"

All options are case-insensitive.

Engine differences:

  • "Cloudflare" (free): Converts PDFs to markdown using Cloudflare Workers AI
  • "Mistral": Best for scanned documents or PDFs with images (paid, per 1,000 pages)
  • "Text": Alias for Cloudflare AI (deprecated, redirects to Cloudflare)
  • "Native": Uses model's built-in file input (if supported)

Parameter

Fine-tune inference behavior:

Temperature

[parameter]
temperature = 0.7 # Range: 0.0 - 1.0

Examples:

# For coding assistance
temperature = 0.2

# For creative writing
temperature = 0.7

# For balanced chat
temperature = 0.7

Top P (Nucleus Sampling)

[parameter]
top_p = 0.9 # Range: 0.0 - 1.0

Controls diversity by limiting token selection:

  • 0.1 - Very focused, predictable
  • 0.5 - Moderate diversity
  • 0.9 - High diversity (recommended)
  • 1.0 - All tokens considered
note

Use either temperature OR top_p, not both. OpenRouter recommends top_p.

Top K

[parameter]
top_k = 40 # Range: 0 - 100

Repeat Penalty

[parameter]
repeat_penalty = 1.1 # Range: 1.0 - 2.0

Reduces repetition in responses:

  • 1.0 - No penalty (repetitive)
  • 1.1 - Light penalty (recommended)
  • 1.2-1.3 - Moderate penalty
  • 1.5+ - Strong penalty (may affect quality)

Media Generation

Configure dedicated models for image and video generation. When omitted, the primary model is used.

[media_gen]
image_model = "sourceful/riverflow-v2-fast"
video_model = "google/veo-3.1-lite"

Configuring Models in Llumen

Via Web Interface

  1. Log in to llumen
  2. Go to Settings -> Openrouter
  3. Add or edit model configurations
  4. Save changes