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