layers.llm when you Create PAL or update a PAL. For how a PAL fits together, see PAL overview.
Tavus-Hosted Models
1. model
Select one of the available models. tavus-glm-4.7 is recommended as the default; the table below helps you choose based on your priorities.
| Model | Speed | Intelligence | Naturalness | Best For |
|---|---|---|---|---|
tavus-glm-4.7 | β‘β‘ | π§ π§ π§ | π¬π¬ | Default for most PALs; agentic tool use, multi-step reasoning |
tavus-gpt-oss | β‘β‘β‘ | π§ | π¬ | Snappy, low-latency fallback |
tavus-gpt-4.1 (deprecated) | β‘β‘ | π§ π§ π§ | π¬π¬π¬ | Long-context reasoning |
tavus-gemini-2.5-flash | β‘β‘ | π§ π§ | π¬π¬π¬ | Latency + logical deduction |
tavus-claude-haiku-4.5 | β‘β‘ | π§ π§ | π¬π¬ | Grounded, fewer hallucinations |
tavus-gpt-5.2 | β‘β‘ | π§ π§ | π¬π¬ | General use, latency less critical |
tavus-gemini-3-flash | β‘ | π§ π§ π§ | π¬π¬π¬ | Highest intelligence, lower speed |
Context Window Limit
- Performance and intelligence are best when prompts are limited to 5,000 tokens. You may see degradations in speed and instruction following in the 15,000β20,000 token range.
- Context limits vary by model (for example,
tavus-glm-4.7supports up to 200,000 tokens); staying within 5k is recommended for optimal behavior.
2. tools
Legacy field. Do not use for new integrations.
Inline LLM tools were historically defined here as OpenAI-style function objects on the PAL body. That approach still runs for existing PALs but is deprecated - it cannot use the tools registry features (delivery, on_call, on_resolve, API auth, or reuse across PALs).
Use the Tools overview and Tool Calling for LLM instead. If you maintain a PAL that still sets
layers.llm.tools, see Legacy inline tool calling.3. speculative_inference
When set to true, the LLM begins processing speech transcriptions before user input ends, improving responsiveness. This is the default value; you can set it to false to disable.
This field is optional. It defaults to
true for better performance.4. extra_body
Add parameters to customize the LLM request. For Tavus-hosted models, you can pass temperature and top_p:
This field is optional.
Example Configuration
Custom LLMs
Prerequisites
To use your own OpenAI-compatible LLM, youβll need:- Model name
- Base URL
- API key
- Streamable (i.e. via SSE)
- Uses the
/chat/completionsendpoint
1. model
Name of the custom model you want to use.
2. base_url
Base URL of your LLM endpoint.
Do not include route extensions in the
base_url.3. api_key
API key to authenticate with your LLM provider.
4. tools
Legacy field. Do not use for new integrations.
Same inline shape as layers.llm.tools on Tavus-hosted models - deprecated in favor of the tools registry. See Legacy inline tool calling if you still patch tools on a custom-LLM PAL this way.
5. speculative_inference
When set to true, the LLM begins processing speech transcriptions before user input ends, improving responsiveness. This is the default value; you can set it to false to disable.
This field is optional. It defaults to
true for better performance.6. headers
Optional additional headers to include when making requests to your LLM. Use this for any extra headers your provider requires beyond the API key (which should be set via the api_key field).
This field is optional, depending on your LLM providerβs requirements.
7. extra_body
Add parameters to customize the LLM request. You can pass any parameters that your LLM provider supports:
This field is optional.
8. default_query
Add default query parameters that get appended to the base URL when making requests to the /chat/completions endpoint.
This field is optional. Useful for LLM providers that require query parameters for authentication or versioning.
Example Configuration
Refer to Create PAL for a full list of supported fields.
Perception
When using theraven-1 perception model with a custom LLM, your LLM will receive system messages containing visual context extracted from the userβs video input. See Perception for how perception is configured and what is sent to the model.

