Skip to content
Letta Platform Letta Platform Letta Docs
Sign up
Get started

Models

The Letta API supports all major frontier model providers

Select models shown below - for a complete model list with current pricing, see app.letta.com/models.

ModelProviderMax ContextVision Support?
Claude Opus 4.6Anthropic200k
Claude Opus 4.5Anthropic200k
Claude Sonnet 4.5Anthropic200k
Claude Haiku 4.5Anthropic200k
GPT-5.2-CodexOpenAI272k
GPT-5.2OpenAI272k
Gemini 3 ProGoogle1M
Gemini 3 FlashGoogle1M
GLM 4.7Z.ai200k-
MiniMax M2.1MiniMax180k-
Kimi K2.5Moonshot262k

Connect your own LLM API keys to use additional models from providers like OpenRouter, or to connect external coding plans. When using BYOK instead of hosted models through the Letta API, you are billed directly by the LLM API provider.

To configure BYOK in Letta Code, use the /connect command (see full docs). Providers can also be configured via the Letta Platform models page.


Models are specified using provider/model-name formatted handles:

agent = client.agents.create(
model="anthropic/claude-sonnet-4-5-20250929",
)
ProviderPrefixExample
OpenAIopenai/openai/gpt-5.2
Anthropicanthropic/anthropic/claude-sonnet-4-5-20250929
Google AIgoogle_ai/google_ai/gemini-3-flash
Azureazure/azure/gpt-4o
AWS Bedrockbedrock/bedrock/anthropic.claude-3-5-sonnet
OpenRouteropenrouter/openrouter/anthropic/claude-3.5-sonnet
Ollamaollama/ollama/llama3.2

Configure temperature, max tokens, and other settings:

agent = client.agents.create(
model="openai/gpt-5.2",
model_settings={
"provider_type": "openai",
"temperature": 0.7,
"max_output_tokens": 4096,
},
context_window_limit=128000
)

For OpenAI reasoning models (o1, o3):

agent = client.agents.create(
model="openai/o3-mini",
model_settings={
"provider_type": "openai",
"reasoning": {
"reasoning_effort": "medium" # "low", "medium", or "high"
}
}
)

For Claude extended thinking:

agent = client.agents.create(
model="anthropic/claude-sonnet-4-5-20250929",
model_settings={
"provider_type": "anthropic",
"thinking": {
"type": "enabled",
"budget_tokens": 10000
}
}
)

Update an existing agent’s model:

client.agents.update(
agent_id=agent.id,
model="openai/gpt-5.2",
context_window_limit=64000
)

Agents keep their memory and tools when you change models.