From caf8b6a9e01af17080b5479476950c4e9a01ea27 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 10 Aug 2026 07:24:59 +0000 Subject: [PATCH] [Platform] Update model catalogs from upstream metadata --- .../src/Bridge/Anthropic/ModelCatalog.php | 26 + .../src/Bridge/Cerebras/ModelCatalog.php | 12 + .../src/Bridge/Gemini/ModelCatalog.php | 212 +++ .../src/Bridge/Mistral/ModelCatalog.php | 9 + .../src/Bridge/OpenAi/ModelCatalog.php | 65 + .../src/Bridge/OpenRouter/ModelCatalog.php | 1322 ++++++++++++++++- 6 files changed, 1575 insertions(+), 71 deletions(-) diff --git a/src/platform/src/Bridge/Anthropic/ModelCatalog.php b/src/platform/src/Bridge/Anthropic/ModelCatalog.php index 1e6df54d6f..c2a85869b8 100644 --- a/src/platform/src/Bridge/Anthropic/ModelCatalog.php +++ b/src/platform/src/Bridge/Anthropic/ModelCatalog.php @@ -258,6 +258,19 @@ public function __construct(array $additionalModels = []) Capability::TOOL_CALLING, ], ], + 'claude-opus-5' => [ + 'class' => Claude::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::OUTPUT_STRUCTURED, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + ], + ], 'claude-sonnet-4-0' => [ 'class' => Claude::class, 'capabilities' => [ @@ -316,6 +329,19 @@ public function __construct(array $additionalModels = []) Capability::TOOL_CALLING, ], ], + 'claude-sonnet-5' => [ + 'class' => Claude::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::OUTPUT_STRUCTURED, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + ], + ], ]; // STATIC LIST END diff --git a/src/platform/src/Bridge/Cerebras/ModelCatalog.php b/src/platform/src/Bridge/Cerebras/ModelCatalog.php index 2f6764bc0b..d96bc35c8a 100644 --- a/src/platform/src/Bridge/Cerebras/ModelCatalog.php +++ b/src/platform/src/Bridge/Cerebras/ModelCatalog.php @@ -29,6 +29,18 @@ public function __construct(array $additionalModels = []) // STATIC LIST START // This list is generated from external metadata. Run dev/update-model-catalogs.php to refresh it. $defaultModels = [ + 'gemma-4-31b' => [ + 'class' => Model::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::OUTPUT_STRUCTURED, + Capability::THINKING, + Capability::INPUT_IMAGE, + ], + ], 'gpt-oss-120b' => [ 'class' => Model::class, 'capabilities' => [ diff --git a/src/platform/src/Bridge/Gemini/ModelCatalog.php b/src/platform/src/Bridge/Gemini/ModelCatalog.php index a7b484929a..4be243b4e1 100644 --- a/src/platform/src/Bridge/Gemini/ModelCatalog.php +++ b/src/platform/src/Bridge/Gemini/ModelCatalog.php @@ -27,6 +27,34 @@ public function __construct(array $additionalModels = []) // STATIC LIST START // This list is generated from external metadata. Run dev/update-model-catalogs.php to refresh it. $defaultModels = [ + 'deep-research-max-preview-04-2026' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::OUTPUT_IMAGE, + ], + ], + 'deep-research-preview-04-2026' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::OUTPUT_IMAGE, + ], + ], 'gemini-2.0-flash' => [ 'class' => Gemini::class, 'capabilities' => [ @@ -54,6 +82,17 @@ public function __construct(array $additionalModels = []) Capability::INPUT_AUDIO, ], ], + 'gemini-2.5-computer-use-preview-10-2025' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::THINKING, + Capability::INPUT_IMAGE, + ], + ], 'gemini-2.5-flash' => [ 'class' => Gemini::class, 'capabilities' => [ @@ -162,6 +201,17 @@ public function __construct(array $additionalModels = []) Capability::TOOL_CALLING, ], ], + 'gemini-3-pro-image' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::OUTPUT_IMAGE, + ], + ], 'gemini-3-pro-image-preview' => [ 'class' => Gemini::class, 'capabilities' => [ @@ -188,6 +238,18 @@ public function __construct(array $additionalModels = []) Capability::THINKING, ], ], + 'gemini-3.1-flash-image' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_IMAGE, + ], + ], 'gemini-3.1-flash-image-preview' => [ 'class' => Gemini::class, 'capabilities' => [ @@ -214,6 +276,18 @@ public function __construct(array $additionalModels = []) Capability::INPUT_AUDIO, ], ], + 'gemini-3.1-flash-lite-image' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::OUTPUT_IMAGE, + ], + ], 'gemini-3.1-flash-lite-preview' => [ 'class' => Gemini::class, 'capabilities' => [ @@ -228,6 +302,29 @@ public function __construct(array $additionalModels = []) Capability::INPUT_AUDIO, ], ], + 'gemini-3.1-flash-live-preview' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_AUDIO, + Capability::OUTPUT_AUDIO, + ], + ], + 'gemini-3.1-flash-tts-preview' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::THINKING, + Capability::OUTPUT_AUDIO, + ], + ], 'gemini-3.1-pro-preview' => [ 'class' => Gemini::class, 'capabilities' => [ @@ -271,6 +368,44 @@ public function __construct(array $additionalModels = []) Capability::INPUT_AUDIO, ], ], + 'gemini-3.5-flash-lite' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::OUTPUT_STRUCTURED, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + ], + ], + 'gemini-3.5-live-translate-preview' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::INPUT_AUDIO, + Capability::OUTPUT_AUDIO, + ], + ], + 'gemini-3.6-flash' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::OUTPUT_STRUCTURED, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + ], + ], 'gemini-embedding-001' => [ 'class' => Embeddings::class, 'capabilities' => [ @@ -278,6 +413,13 @@ public function __construct(array $additionalModels = []) Capability::EMBEDDINGS, ], ], + 'gemini-embedding-2' => [ + 'class' => Embeddings::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::EMBEDDINGS, + ], + ], 'gemini-flash-latest' => [ 'class' => Gemini::class, 'capabilities' => [ @@ -306,6 +448,29 @@ public function __construct(array $additionalModels = []) Capability::INPUT_AUDIO, ], ], + 'gemini-omni-flash-preview' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::THINKING, + Capability::INPUT_IMAGE, + ], + ], + 'gemini-robotics-er-1.6-preview' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::OUTPUT_STRUCTURED, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_AUDIO, + ], + ], 'gemma-4-26b-a4b-it' => [ 'class' => Gemini::class, 'capabilities' => [ @@ -356,6 +521,53 @@ public function __construct(array $additionalModels = []) Capability::INPUT_AUDIO, ], ], + 'lyria-3-clip-preview' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::INPUT_IMAGE, + Capability::OUTPUT_AUDIO, + ], + ], + 'lyria-3-pro-preview' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::INPUT_IMAGE, + Capability::OUTPUT_AUDIO, + ], + ], + 'veo-3.1-fast-generate-preview' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::INPUT_IMAGE, + ], + ], + 'veo-3.1-generate-preview' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::INPUT_IMAGE, + ], + ], + 'veo-3.1-lite-generate-preview' => [ + 'class' => Gemini::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::INPUT_IMAGE, + ], + ], ]; // STATIC LIST END diff --git a/src/platform/src/Bridge/Mistral/ModelCatalog.php b/src/platform/src/Bridge/Mistral/ModelCatalog.php index 23ab23d74a..f2fdcbe760 100644 --- a/src/platform/src/Bridge/Mistral/ModelCatalog.php +++ b/src/platform/src/Bridge/Mistral/ModelCatalog.php @@ -387,6 +387,15 @@ public function __construct(array $additionalModels = []) Capability::TOOL_CALLING, ], ], + 'voxtral-mini-tts-latest' => [ + 'class' => Mistral::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_AUDIO, + ], + ], 'voxtral-small-latest' => [ 'class' => Mistral::class, 'capabilities' => [ diff --git a/src/platform/src/Bridge/OpenAi/ModelCatalog.php b/src/platform/src/Bridge/OpenAi/ModelCatalog.php index 0a7d0820ce..7ba7f04bf0 100644 --- a/src/platform/src/Bridge/OpenAi/ModelCatalog.php +++ b/src/platform/src/Bridge/OpenAi/ModelCatalog.php @@ -484,6 +484,58 @@ public function __construct(array $additionalModels = []) Capability::TOOL_CALLING, ], ], + 'gpt-5.6' => [ + 'class' => Gpt::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::OUTPUT_STRUCTURED, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + ], + ], + 'gpt-5.6-luna' => [ + 'class' => Gpt::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::OUTPUT_STRUCTURED, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + ], + ], + 'gpt-5.6-sol' => [ + 'class' => Gpt::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::OUTPUT_STRUCTURED, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + ], + ], + 'gpt-5.6-terra' => [ + 'class' => Gpt::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::OUTPUT_STRUCTURED, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + ], + ], 'gpt-image-1' => [ 'class' => Image::class, 'capabilities' => [ @@ -512,6 +564,19 @@ public function __construct(array $additionalModels = []) Capability::OUTPUT_IMAGE, ], ], + 'gpt-realtime-2.1' => [ + 'class' => Gpt::class, + 'capabilities' => [ + Capability::INPUT_MESSAGES, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + Capability::THINKING, + Capability::INPUT_IMAGE, + Capability::INPUT_AUDIO, + Capability::OUTPUT_AUDIO, + ], + ], 'o1' => [ 'class' => Gpt::class, 'capabilities' => [ diff --git a/src/platform/src/Bridge/OpenRouter/ModelCatalog.php b/src/platform/src/Bridge/OpenRouter/ModelCatalog.php index e2a4ccfeac..b5f80dc5e3 100644 --- a/src/platform/src/Bridge/OpenRouter/ModelCatalog.php +++ b/src/platform/src/Bridge/OpenRouter/ModelCatalog.php @@ -71,6 +71,24 @@ public function __construct( Capability::OUTPUT_STREAMING, ], ], + 'aion-labs/aion-3.0' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], + 'aion-labs/aion-3.0-mini' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], 'aion-labs/aion-rp-llama-3.1-8b' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -183,6 +201,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'anthropic/claude-fable-5:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'anthropic/claude-haiku-4.5' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -195,6 +225,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'anthropic/claude-haiku-4.5:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'anthropic/claude-opus-4' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -218,6 +260,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'anthropic/claude-opus-4.1:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'anthropic/claude-opus-4.5' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -230,6 +284,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'anthropic/claude-opus-4.5:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'anthropic/claude-opus-4.6' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -254,6 +320,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'anthropic/claude-opus-4.6:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'anthropic/claude-opus-4.7' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -278,6 +356,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'anthropic/claude-opus-4.7:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'anthropic/claude-opus-4.8' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -302,6 +392,54 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'anthropic/claude-opus-4.8:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'anthropic/claude-opus-5' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'anthropic/claude-opus-5-fast' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'anthropic/claude-opus-5:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'anthropic/claude-sonnet-4' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -325,6 +463,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'anthropic/claude-sonnet-4.5:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'anthropic/claude-sonnet-4.6' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -337,6 +487,42 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'anthropic/claude-sonnet-4.6:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'anthropic/claude-sonnet-5' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'anthropic/claude-sonnet-5:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'arcee-ai/coder-large' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -522,6 +708,14 @@ public function __construct( Capability::OUTPUT_STREAMING, ], ], + 'cognitivecomputations/dolphin-mistral-24b-venice-edition' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + ], + ], 'cognitivecomputations/dolphin-mistral-24b-venice-edition:free' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -703,6 +897,16 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'deepseek/deepseek-v4-flash-0731' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'deepseek/deepseek-v4-flash:free' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -813,6 +1017,34 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'google/gemini-2.5-flash-lite:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::INPUT_VIDEO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'google/gemini-2.5-flash:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::INPUT_AUDIO, + Capability::INPUT_VIDEO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'google/gemini-2.5-pro' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -854,6 +1086,20 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'google/gemini-2.5-pro:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::INPUT_VIDEO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'google/gemini-3-flash-preview' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -868,6 +1114,20 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'google/gemini-3-flash-preview:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::INPUT_VIDEO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'google/gemini-3-pro-image' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -927,6 +1187,16 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'google/gemini-3.1-flash-lite-image' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_IMAGE, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + ], + ], 'google/gemini-3.1-flash-lite-preview' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -941,21 +1211,35 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'google/gemini-3.1-pro-preview' => [ + 'google/gemini-3.1-flash-lite:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_AUDIO, - Capability::INPUT_PDF, - Capability::INPUT_IMAGE, Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, Capability::INPUT_VIDEO, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'google/gemini-3.1-pro-preview-customtools' => [ + 'google/gemini-3.1-pro-preview' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_AUDIO, + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::INPUT_VIDEO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'google/gemini-3.1-pro-preview-customtools' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, @@ -969,6 +1253,20 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'google/gemini-3.1-pro-preview:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_AUDIO, + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::INPUT_VIDEO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'google/gemini-3.5-flash' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -983,6 +1281,76 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'google/gemini-3.5-flash-lite' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_VIDEO, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'google/gemini-3.5-flash-lite:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_VIDEO, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'google/gemini-3.5-flash:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_VIDEO, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'google/gemini-3.6-flash' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_VIDEO, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'google/gemini-3.6-flash:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_VIDEO, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'google/gemini-embedding-001' => [ 'class' => EmbeddingsModel::class, 'capabilities' => [ @@ -1176,6 +1544,24 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'inclusionai/ling-3.0-flash' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], + 'inclusionai/ling-3.0-tiny:free' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], 'inclusionai/ring-2.6-1t' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -1222,6 +1608,16 @@ public function __construct( Capability::EMBEDDINGS, ], ], + 'kwaipilot/kat-coder-air-v2.5' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'kwaipilot/kat-coder-pro-v2' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -1232,6 +1628,16 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'kwaipilot/kat-coder-pro-v2.5' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'liquid/lfm-2-24b-a2b' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -1264,6 +1670,15 @@ public function __construct( Capability::OUTPUT_STREAMING, ], ], + 'meituan/longcat-2.0' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], 'meta-llama/llama-3-70b-instruct' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -1391,6 +1806,34 @@ public function __construct( Capability::OUTPUT_STREAMING, ], ], + 'meta/muse-spark-1.1' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_VIDEO, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'meta/muse-spark-1.2' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_VIDEO, + Capability::INPUT_PDF, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'microsoft/phi-4' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -1502,6 +1945,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'minimax/minimax-m3:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_VIDEO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'mistralai/codestral-2508' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -1850,6 +2305,28 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'moonshotai/kimi-k2.7-code:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'moonshotai/kimi-k3' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'morph/morph-v3-fast' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -1876,6 +2353,17 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'nex-agi/nex-n2-mini' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'nex-agi/nex-n2-pro' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -1963,6 +2451,13 @@ public function __construct( Capability::EMBEDDINGS, ], ], + 'nvidia/nemotron-3-embed-1b:free' => [ + 'class' => EmbeddingsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::EMBEDDINGS, + ], + ], 'nvidia/nemotron-3-nano-30b-a3b' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2022,6 +2517,16 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'nvidia/nemotron-3-ultra-550b-a55b:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'nvidia/nemotron-3-ultra-550b-a55b:free' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2109,6 +2614,16 @@ public function __construct( Capability::OUTPUT_STRUCTURED, ], ], + 'openai/gpt-3.5-turbo:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'openai/gpt-4' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2160,19 +2675,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/gpt-4.1' => [ + 'openai/gpt-4-turbo:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_IMAGE, Capability::INPUT_TEXT, - Capability::INPUT_PDF, + Capability::INPUT_IMAGE, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/gpt-4.1-mini' => [ + 'openai/gpt-4.1' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_IMAGE, @@ -2184,7 +2698,7 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/gpt-4.1-nano' => [ + 'openai/gpt-4.1-mini' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_IMAGE, @@ -2196,11 +2710,11 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/gpt-4o' => [ + 'openai/gpt-4.1-mini:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_TEXT, Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, @@ -2208,11 +2722,11 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/gpt-4o-2024-05-13' => [ + 'openai/gpt-4.1-nano' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_TEXT, Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, @@ -2220,11 +2734,11 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/gpt-4o-2024-08-06' => [ + 'openai/gpt-4.1-nano:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_TEXT, Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, @@ -2232,11 +2746,11 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/gpt-4o-2024-11-20' => [ + 'openai/gpt-4.1:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_TEXT, Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, @@ -2244,19 +2758,19 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/gpt-4o-audio-preview' => [ + 'openai/gpt-4o' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_AUDIO, Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, Capability::OUTPUT_TEXT, - Capability::OUTPUT_AUDIO, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/gpt-4o-mini' => [ + 'openai/gpt-4o-2024-05-13' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, @@ -2268,7 +2782,55 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/gpt-4o-mini-2024-07-18' => [ + 'openai/gpt-4o-2024-08-06' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-4o-2024-11-20' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-4o-audio-preview' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_AUDIO, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_AUDIO, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-4o-mini' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-4o-mini-2024-07-18' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, @@ -2289,6 +2851,18 @@ public function __construct( Capability::OUTPUT_STRUCTURED, ], ], + 'openai/gpt-4o-mini:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'openai/gpt-4o-search-preview' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2298,6 +2872,18 @@ public function __construct( Capability::OUTPUT_STRUCTURED, ], ], + 'openai/gpt-4o:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'openai/gpt-5' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2332,6 +2918,17 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'openai/gpt-5-codex:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'openai/gpt-5-image' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2368,6 +2965,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'openai/gpt-5-mini:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'openai/gpt-5-nano' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2380,6 +2989,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'openai/gpt-5-nano:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'openai/gpt-5-pro' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2392,6 +3013,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'openai/gpt-5-pro:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'openai/gpt-5.1' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2449,6 +3082,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'openai/gpt-5.1:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'openai/gpt-5.2' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2496,6 +3141,30 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'openai/gpt-5.2-pro:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.2:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'openai/gpt-5.3-chat' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2544,11 +3213,333 @@ public function __construct( Capability::OUTPUT_STRUCTURED, ], ], - 'openai/gpt-5.4-mini' => [ + 'openai/gpt-5.4-mini' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.4-mini:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.4-nano' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.4-nano:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.4-pro' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.4-pro:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.4:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.5' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.5-pro' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.5-pro:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.5:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-luna' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-luna-pro' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-luna-pro:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-luna:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-sol' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-sol-pro' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-sol-pro:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-sol:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-terra' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-terra-pro' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-terra-pro:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5.6-terra:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_PDF, + Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-5:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-audio' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_AUDIO, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-audio-mini' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_AUDIO, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-chat-latest' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'openai/gpt-oss-120b' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_PDF, - Capability::INPUT_IMAGE, Capability::INPUT_TEXT, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, @@ -2556,79 +3547,67 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/gpt-5.4-nano' => [ + 'openai/gpt-oss-120b:free' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_PDF, - Capability::INPUT_IMAGE, Capability::INPUT_TEXT, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, - Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/gpt-5.4-pro' => [ + 'openai/gpt-oss-20b' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, - Capability::INPUT_IMAGE, - Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/gpt-5.5' => [ + 'openai/gpt-oss-20b:free' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_PDF, - Capability::INPUT_IMAGE, Capability::INPUT_TEXT, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, - Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/gpt-5.5-pro' => [ + 'openai/gpt-oss-safeguard-20b' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_PDF, - Capability::INPUT_IMAGE, Capability::INPUT_TEXT, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, - Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/gpt-audio' => [ + 'openai/o1' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, - Capability::INPUT_AUDIO, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, Capability::OUTPUT_TEXT, - Capability::OUTPUT_AUDIO, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/gpt-audio-mini' => [ + 'openai/o1-pro' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, - Capability::INPUT_AUDIO, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, Capability::OUTPUT_TEXT, - Capability::OUTPUT_AUDIO, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, - Capability::TOOL_CALLING, ], ], - 'openai/gpt-chat-latest' => [ + 'openai/o1-pro:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, @@ -2637,61 +3616,70 @@ public function __construct( Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, - Capability::TOOL_CALLING, ], ], - 'openai/gpt-oss-120b' => [ + 'openai/o1:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/gpt-oss-120b:free' => [ + 'openai/o3' => [ 'class' => CompletionsModel::class, 'capabilities' => [ + Capability::INPUT_IMAGE, Capability::INPUT_TEXT, + Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/gpt-oss-20b' => [ + 'openai/o3-deep-research' => [ 'class' => CompletionsModel::class, 'capabilities' => [ + Capability::INPUT_IMAGE, Capability::INPUT_TEXT, + Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/gpt-oss-20b:free' => [ + 'openai/o3-mini' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, + Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/gpt-oss-safeguard-20b' => [ + 'openai/o3-mini-high' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, + Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/o1' => [ + 'openai/o3-mini-high:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, - Capability::INPUT_IMAGE, Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, @@ -2699,44 +3687,45 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/o1-pro' => [ + 'openai/o3-mini:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_TEXT, - Capability::INPUT_IMAGE, Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, ], ], - 'openai/o3' => [ + 'openai/o3-pro' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_IMAGE, Capability::INPUT_TEXT, Capability::INPUT_PDF, + Capability::INPUT_IMAGE, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/o3-deep-research' => [ + 'openai/o3-pro:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_IMAGE, Capability::INPUT_TEXT, Capability::INPUT_PDF, + Capability::INPUT_IMAGE, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/o3-mini' => [ + 'openai/o3:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ + Capability::INPUT_IMAGE, Capability::INPUT_TEXT, Capability::INPUT_PDF, Capability::OUTPUT_TEXT, @@ -2745,9 +3734,10 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/o3-mini-high' => [ + 'openai/o4-mini' => [ 'class' => CompletionsModel::class, 'capabilities' => [ + Capability::INPUT_IMAGE, Capability::INPUT_TEXT, Capability::INPUT_PDF, Capability::OUTPUT_TEXT, @@ -2756,19 +3746,19 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/o3-pro' => [ + 'openai/o4-mini-deep-research' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_TEXT, Capability::INPUT_PDF, Capability::INPUT_IMAGE, + Capability::INPUT_TEXT, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/o4-mini' => [ + 'openai/o4-mini-high' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_IMAGE, @@ -2780,19 +3770,19 @@ public function __construct( Capability::TOOL_CALLING, ], ], - 'openai/o4-mini-deep-research' => [ + 'openai/o4-mini-high:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ - Capability::INPUT_PDF, Capability::INPUT_IMAGE, Capability::INPUT_TEXT, + Capability::INPUT_PDF, Capability::OUTPUT_TEXT, Capability::OUTPUT_STREAMING, Capability::OUTPUT_STRUCTURED, Capability::TOOL_CALLING, ], ], - 'openai/o4-mini-high' => [ + 'openai/o4-mini:batch' => [ 'class' => CompletionsModel::class, 'capabilities' => [ Capability::INPUT_IMAGE, @@ -2825,6 +3815,21 @@ public function __construct( Capability::EMBEDDINGS, ], ], + 'openrouter/auto-beta' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_AUDIO, + Capability::INPUT_PDF, + Capability::INPUT_VIDEO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_IMAGE, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'openrouter/fusion' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -2938,6 +3943,42 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'poolside/laguna-s-2.1' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], + 'poolside/laguna-s-2.1:free' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], + 'poolside/laguna-xs-2.1' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], + 'poolside/laguna-xs-2.1:free' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], 'poolside/laguna-xs.2' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -3471,6 +4512,17 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'qwen/qwen3.7-flash' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_VIDEO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], 'qwen/qwen3.7-max' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -3492,6 +4544,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'qwen/qwen3.8-max' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_VIDEO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'rekaai/reka-edge' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -3657,6 +4721,16 @@ public function __construct( Capability::OUTPUT_STRUCTURED, ], ], + 'tencent/hy3' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'tencent/hy3-preview' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -3716,6 +4790,40 @@ public function __construct( Capability::EMBEDDINGS, ], ], + 'thinkingmachines/inkling' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], + 'thinkingmachines/inkling-small' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], + 'thinkingmachines/inkling:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_AUDIO, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::TOOL_CALLING, + ], + ], 'undi95/remm-slerp-l2-13b' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -3735,6 +4843,34 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'voyageai/voyage-4' => [ + 'class' => EmbeddingsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::EMBEDDINGS, + ], + ], + 'voyageai/voyage-4-large' => [ + 'class' => EmbeddingsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::EMBEDDINGS, + ], + ], + 'voyageai/voyage-4-lite' => [ + 'class' => EmbeddingsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::EMBEDDINGS, + ], + ], + 'voyageai/voyage-multimodal-3.5' => [ + 'class' => EmbeddingsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::EMBEDDINGS, + ], + ], 'writer/palmyra-x5' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -3777,6 +4913,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'x-ai/grok-4.5' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'x-ai/grok-build-0.1' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -3966,6 +5114,16 @@ public function __construct( Capability::TOOL_CALLING, ], ], + 'z-ai/glm-5.2:batch' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], 'z-ai/glm-5v-turbo' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -4025,6 +5183,16 @@ public function __construct( Capability::TOOL_CALLING, ], ], + '~deepseek/deepseek-v4-flash-latest' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], '~google/gemini-flash-latest' => [ 'class' => CompletionsModel::class, 'capabilities' => [ @@ -4088,6 +5256,18 @@ public function __construct( Capability::TOOL_CALLING, ], ], + '~x-ai/grok-latest' => [ + 'class' => CompletionsModel::class, + 'capabilities' => [ + Capability::INPUT_TEXT, + Capability::INPUT_IMAGE, + Capability::INPUT_PDF, + Capability::OUTPUT_TEXT, + Capability::OUTPUT_STREAMING, + Capability::OUTPUT_STRUCTURED, + Capability::TOOL_CALLING, + ], + ], ]; // STATIC LIST END