From 8c2c379cb5c083cbcc9c535d3456917967fec656 Mon Sep 17 00:00:00 2001 From: Chesars Date: Tue, 10 Mar 2026 12:35:23 -0300 Subject: [PATCH 1/5] fix(openai): add missing gpt-5.3 model entry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #23267 — plain `gpt-5.3` was missing from the model pricing JSON, causing tool_choice (and other capability flags) to default to unsupported. Copied fields from gpt-5.3-chat-latest. --- model_prices_and_context_window.json | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index fc8c90ad77..408979bfba 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -20716,6 +20716,43 @@ "supports_tool_choice": true, "supports_vision": true }, + "gpt-5.3": { + "cache_read_input_token_cost": 1.75e-07, + "cache_read_input_token_cost_priority": 3.5e-07, + "input_cost_per_token": 1.75e-06, + "input_cost_per_token_priority": 3.5e-06, + "litellm_provider": "openai", + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "max_tokens": 16384, + "mode": "chat", + "output_cost_per_token": 1.4e-05, + "output_cost_per_token_priority": 2.8e-05, + "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, + "supports_web_search": true, + "supports_none_reasoning_effort": false, + "supports_xhigh_reasoning_effort": false + }, "gpt-5.3-chat-latest": { "cache_read_input_token_cost": 1.75e-07, "cache_read_input_token_cost_priority": 3.5e-07, From af297dc082aa5b688f0385e54f421ea979261070 Mon Sep 17 00:00:00 2001 From: Chesars Date: Tue, 10 Mar 2026 16:04:31 -0300 Subject: [PATCH 2/5] fix(openai): clean up gpt-5.3 model entry fields - Remove dead fields: supports_none_reasoning_effort, supports_xhigh_reasoning_effort (not referenced anywhere in the codebase) - Remove supports_web_search (inconsistent with other base models) - Add supports_service_tier (consistent with gpt-5, gpt-5.1, gpt-5.2) --- model_prices_and_context_window.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 408979bfba..15fe1f0ce6 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -20747,11 +20747,9 @@ "supports_reasoning": true, "supports_response_schema": true, "supports_system_messages": true, + "supports_service_tier": true, "supports_tool_choice": true, - "supports_vision": true, - "supports_web_search": true, - "supports_none_reasoning_effort": false, - "supports_xhigh_reasoning_effort": false + "supports_vision": true }, "gpt-5.3-chat-latest": { "cache_read_input_token_cost": 1.75e-07, From 6bc4cc8f0f93823e7e6acf487636c17c9d92f205 Mon Sep 17 00:00:00 2001 From: Chesars Date: Tue, 10 Mar 2026 16:28:50 -0300 Subject: [PATCH 3/5] feat(openai): add supports_web_search to OpenAI models with Responses API Add `supports_web_search: true` to 31 OpenAI models that support the `web_search_preview` tool via the Responses API. This enables the Router to correctly include these deployments when requests use web search tools. Models excluded (tested, confirmed unsupported): - o1-pro (Tool 'web_search_preview' is not supported) - gpt-audio / gpt-audio-mini (not supported) - gpt-4.1-nano (not supported) - codex-mini-latest (model not found) Also removes the invalid `gpt-5.3` entry added in prior commit (model name does not exist in OpenAI API; use gpt-5.3-chat-latest). --- model_prices_and_context_window.json | 128 +++++++++++++-------------- 1 file changed, 62 insertions(+), 66 deletions(-) diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 15fe1f0ce6..c68f3deeec 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -19187,7 +19187,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-4.1-2025-04-14": { "cache_read_input_token_cost": 5e-07, @@ -19221,7 +19222,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-4.1-mini": { "cache_read_input_token_cost": 1e-07, @@ -19258,7 +19260,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-4.1-mini-2025-04-14": { "cache_read_input_token_cost": 1e-07, @@ -19292,7 +19295,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-4.1-nano": { "cache_read_input_token_cost": 2.5e-08, @@ -20499,7 +20503,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.1": { "cache_read_input_token_cost": 1.25e-07, @@ -20535,7 +20540,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.1-2025-11-13": { "cache_read_input_token_cost": 1.25e-07, @@ -20571,7 +20577,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.1-chat-latest": { "cache_read_input_token_cost": 1.25e-07, @@ -20606,7 +20613,8 @@ "supports_response_schema": true, "supports_system_messages": true, "supports_tool_choice": false, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.2": { "cache_read_input_token_cost": 1.75e-07, @@ -20643,7 +20651,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.2-2025-12-11": { "cache_read_input_token_cost": 1.75e-07, @@ -20680,7 +20689,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.2-chat-latest": { "cache_read_input_token_cost": 1.75e-07, @@ -20714,42 +20724,8 @@ "supports_response_schema": true, "supports_system_messages": true, "supports_tool_choice": true, - "supports_vision": true - }, - "gpt-5.3": { - "cache_read_input_token_cost": 1.75e-07, - "cache_read_input_token_cost_priority": 3.5e-07, - "input_cost_per_token": 1.75e-06, - "input_cost_per_token_priority": 3.5e-06, - "litellm_provider": "openai", - "max_input_tokens": 128000, - "max_output_tokens": 16384, - "max_tokens": 16384, - "mode": "chat", - "output_cost_per_token": 1.4e-05, - "output_cost_per_token_priority": 2.8e-05, - "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_service_tier": true, - "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.3-chat-latest": { "cache_read_input_token_cost": 1.75e-07, @@ -20783,7 +20759,8 @@ "supports_response_schema": true, "supports_system_messages": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.2-pro": { "input_cost_per_token": 2.1e-05, @@ -20950,7 +20927,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5-chat": { "cache_read_input_token_cost": 1.25e-07, @@ -21044,7 +21022,8 @@ "supports_response_schema": true, "supports_system_messages": false, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.1-codex": { "cache_read_input_token_cost": 1.25e-07, @@ -21077,7 +21056,8 @@ "supports_response_schema": true, "supports_system_messages": false, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.1-codex-max": { "cache_read_input_token_cost": 1.25e-07, @@ -21107,7 +21087,8 @@ "supports_response_schema": true, "supports_system_messages": false, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.1-codex-mini": { "cache_read_input_token_cost": 2.5e-08, @@ -21140,7 +21121,8 @@ "supports_response_schema": true, "supports_system_messages": false, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.2-codex": { "cache_read_input_token_cost": 1.75e-07, @@ -21173,7 +21155,8 @@ "supports_response_schema": true, "supports_system_messages": false, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5.3-codex": { "cache_read_input_token_cost": 1.75e-07, @@ -21206,7 +21189,8 @@ "supports_response_schema": true, "supports_system_messages": false, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5-mini": { "cache_read_input_token_cost": 2.5e-08, @@ -21245,7 +21229,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5-mini-2025-08-07": { "cache_read_input_token_cost": 2.5e-08, @@ -21284,7 +21269,8 @@ "supports_system_messages": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5-nano": { "cache_read_input_token_cost": 5e-09, @@ -21320,7 +21306,8 @@ "supports_response_schema": true, "supports_system_messages": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-5-nano-2025-08-07": { "cache_read_input_token_cost": 5e-09, @@ -21355,7 +21342,8 @@ "supports_response_schema": true, "supports_system_messages": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "gpt-image-1": { "cache_read_input_image_token_cost": 2.5e-06, @@ -25128,7 +25116,8 @@ "supports_response_schema": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "o3-2025-04-16": { "cache_read_input_token_cost": 5e-07, @@ -25160,7 +25149,8 @@ "supports_response_schema": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "o3-deep-research": { "cache_read_input_token_cost": 2.5e-06, @@ -25193,7 +25183,8 @@ "supports_response_schema": true, "supports_system_messages": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "o3-deep-research-2025-06-26": { "cache_read_input_token_cost": 2.5e-06, @@ -25226,7 +25217,8 @@ "supports_response_schema": true, "supports_system_messages": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "o3-mini": { "cache_read_input_token_cost": 5.5e-07, @@ -25290,7 +25282,8 @@ "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "o3-pro-2025-06-10": { "input_cost_per_token": 2e-05, @@ -25320,7 +25313,8 @@ "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "o4-mini": { "cache_read_input_token_cost": 2.75e-07, @@ -25397,7 +25391,8 @@ "supports_response_schema": true, "supports_system_messages": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "o4-mini-deep-research-2025-06-26": { "cache_read_input_token_cost": 5e-07, @@ -25430,7 +25425,8 @@ "supports_response_schema": true, "supports_system_messages": true, "supports_tool_choice": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "oci/meta.llama-3.1-405b-instruct": { "input_cost_per_token": 1.068e-05, From effaef3cfb7d8e208f7fae49de67df27259660c7 Mon Sep 17 00:00:00 2001 From: Chesars Date: Tue, 10 Mar 2026 16:49:45 -0300 Subject: [PATCH 4/5] fix: remove duplicate supports_web_search keys 7 models already had supports_web_search from upstream, causing duplicate JSON keys. Re-serialized to remove duplicates. --- model_prices_and_context_window.json | 7 ------- 1 file changed, 7 deletions(-) diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 56b6f7e7e5..b9db5f406a 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -20910,7 +20910,6 @@ "supports_service_tier": true, "supports_vision": true, "supports_web_search": true, - "supports_web_search": true, "supports_none_reasoning_effort": true, "supports_xhigh_reasoning_effort": false }, @@ -20950,7 +20949,6 @@ "supports_service_tier": true, "supports_vision": true, "supports_web_search": true, - "supports_web_search": true, "supports_none_reasoning_effort": true, "supports_xhigh_reasoning_effort": false }, @@ -20989,7 +20987,6 @@ "supports_tool_choice": false, "supports_vision": true, "supports_web_search": true, - "supports_web_search": true, "supports_none_reasoning_effort": true, "supports_xhigh_reasoning_effort": false }, @@ -21030,7 +21027,6 @@ "supports_service_tier": true, "supports_vision": true, "supports_web_search": true, - "supports_web_search": true, "supports_none_reasoning_effort": true, "supports_xhigh_reasoning_effort": true }, @@ -21071,7 +21067,6 @@ "supports_service_tier": true, "supports_vision": true, "supports_web_search": true, - "supports_web_search": true, "supports_none_reasoning_effort": true, "supports_xhigh_reasoning_effort": true }, @@ -21109,7 +21104,6 @@ "supports_tool_choice": true, "supports_vision": true, "supports_web_search": true, - "supports_web_search": true, "supports_none_reasoning_effort": false, "supports_xhigh_reasoning_effort": false }, @@ -21147,7 +21141,6 @@ "supports_tool_choice": true, "supports_vision": true, "supports_web_search": true, - "supports_web_search": true, "supports_none_reasoning_effort": false, "supports_xhigh_reasoning_effort": false }, From e88dc2e428c5cb6b77e8799dfb441ad24c3b199c Mon Sep 17 00:00:00 2001 From: Chesars Date: Tue, 10 Mar 2026 17:49:39 -0300 Subject: [PATCH 5/5] feat(openai): add supports_web_search to o4-mini models Tested and confirmed both o4-mini and o4-mini-2025-04-16 support web_search_preview via the Responses API. --- model_prices_and_context_window.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index b9db5f406a..bb4a678b54 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -25960,7 +25960,8 @@ "supports_response_schema": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "o4-mini-2025-04-16": { "cache_read_input_token_cost": 2.75e-07, @@ -25979,7 +25980,8 @@ "supports_response_schema": true, "supports_tool_choice": true, "supports_service_tier": true, - "supports_vision": true + "supports_vision": true, + "supports_web_search": true }, "o4-mini-deep-research": { "cache_read_input_token_cost": 5e-07,