diff --git a/libs/partners/openai/langchain_openai/data/_profiles.py b/libs/partners/openai/langchain_openai/data/_profiles.py index 78e5611f243..0ee45a7357c 100644 --- a/libs/partners/openai/langchain_openai/data/_profiles.py +++ b/libs/partners/openai/langchain_openai/data/_profiles.py @@ -595,6 +595,46 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_tool_message": True, "tool_choice": True, }, + "gpt-5.4": { + "max_input_tokens": 1050000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "image_url_inputs": True, + "pdf_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "tool_choice": True, + }, + "gpt-5.4-pro": { + "max_input_tokens": 1050000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": False, + "image_url_inputs": True, + "pdf_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "tool_choice": True, + }, "o1": { "max_input_tokens": 200000, "max_output_tokens": 100000, diff --git a/libs/partners/openrouter/langchain_openrouter/data/_profiles.py b/libs/partners/openrouter/langchain_openrouter/data/_profiles.py index ca5f4aa603c..92ac5832284 100644 --- a/libs/partners/openrouter/langchain_openrouter/data/_profiles.py +++ b/libs/partners/openrouter/langchain_openrouter/data/_profiles.py @@ -1778,6 +1778,54 @@ _PROFILES: dict[str, dict[str, Any]] = { "tool_calling": True, "structured_output": True, }, + "openai/gpt-5.3-codex": { + "max_input_tokens": 400000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + }, + "openai/gpt-5.4": { + "max_input_tokens": 1050000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + }, + "openai/gpt-5.4-pro": { + "max_input_tokens": 1050000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": False, + }, "openai/gpt-oss-120b": { "max_input_tokens": 131072, "max_output_tokens": 32768,