From 4e2bf3ecd6190bda9eb3e27f080749ff74203524 Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Tue, 3 Mar 2026 13:09:06 -0800 Subject: [PATCH] feat: add gpt-5.3-chat-latest model support (#9746) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add OpenAI's GPT-5.3 Chat model (128K context, 16K output) with pricing specs, and remove the "chat" keyword filter so chat variants are listed. 🐾 Generated with [Letta Code](https://letta.com) Co-authored-by: Letta Code --- .../model_prices_and_context_window.json | 26 +++++++++++++++++++ letta/schemas/providers/openai.py | 2 +- .../openai-gpt-5.3-chat-latest.json | 11 ++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 tests/model_settings/openai-gpt-5.3-chat-latest.json diff --git a/letta/model_specs/model_prices_and_context_window.json b/letta/model_specs/model_prices_and_context_window.json index e932d734..1ee4e463 100644 --- a/letta/model_specs/model_prices_and_context_window.json +++ b/letta/model_specs/model_prices_and_context_window.json @@ -17295,6 +17295,32 @@ "supports_tool_choice": true, "supports_vision": true }, + "gpt-5.3-chat-latest": { + "cache_read_input_token_cost": 1.75e-7, + "cache_read_input_token_cost_priority": 3.5e-7, + "input_cost_per_token": 1.75e-6, + "input_cost_per_token_priority": 3.5e-6, + "litellm_provider": "openai", + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 1.4e-5, + "output_cost_per_token_priority": 2.8e-5, + "supported_endpoints": ["/v1/chat/completions", "/v1/responses"], + "supported_modalities": ["text", "image"], + "supported_output_modalities": ["text"], + "supports_function_calling": true, + "supports_native_streaming": true, + "supports_parallel_function_calling": true, + "supports_pdf_input": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_system_messages": true, + "supports_tool_choice": true, + "supports_vision": true + }, "gpt-5.3-codex": { "cache_read_input_token_cost": 1.75e-7, "cache_read_input_token_cost_priority": 3.5e-7, diff --git a/letta/schemas/providers/openai.py b/letta/schemas/providers/openai.py index c5431596..2611a209 100644 --- a/letta/schemas/providers/openai.py +++ b/letta/schemas/providers/openai.py @@ -14,7 +14,7 @@ from letta.schemas.providers.base import Provider logger = get_logger(__name__) ALLOWED_PREFIXES = {"gpt-4", "gpt-5", "o1", "o3", "o4"} -DISALLOWED_KEYWORDS = {"transcribe", "search", "realtime", "tts", "audio", "computer", "o1-mini", "o1-preview", "o1-pro", "chat"} +DISALLOWED_KEYWORDS = {"transcribe", "search", "realtime", "tts", "audio", "computer", "o1-mini", "o1-preview", "o1-pro"} DEFAULT_EMBEDDING_BATCH_SIZE = 1024 diff --git a/tests/model_settings/openai-gpt-5.3-chat-latest.json b/tests/model_settings/openai-gpt-5.3-chat-latest.json new file mode 100644 index 00000000..097972c8 --- /dev/null +++ b/tests/model_settings/openai-gpt-5.3-chat-latest.json @@ -0,0 +1,11 @@ +{ + "handle": "openai/gpt-5.3-chat-latest", + "model_settings": { + "provider_type": "openai", + "max_output_tokens": 4096, + "parallel_tool_calls": false, + "reasoning": { + "reasoning_effort": "minimal" + } + } +}