Skip to content
Discord
V1 SDK (legacy)

Models

The Letta API supports all major frontier model providers

Select models shown below - for a complete model list with current pricing, see platform.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.