diff --git a/libs/partners/openrouter/langchain_openrouter/data/_profiles.py b/libs/partners/openrouter/langchain_openrouter/data/_profiles.py index 03d1f897e27..42faa070971 100644 --- a/libs/partners/openrouter/langchain_openrouter/data/_profiles.py +++ b/libs/partners/openrouter/langchain_openrouter/data/_profiles.py @@ -16,17 +16,16 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p from typing import Any _PROFILES: dict[str, dict[str, Any]] = { - "anthropic/claude-3.5-haiku": { - "name": "Claude Haiku 3.5", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "open_weights": False, - "max_input_tokens": 200000, - "max_output_tokens": 8192, + "ai21/jamba-large-1.7": { + "name": "Jamba Large 1.7", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "open_weights": True, + "max_input_tokens": 256000, + "max_output_tokens": 4096, "text_inputs": True, - "image_inputs": True, + "image_inputs": False, "audio_inputs": False, - "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -34,20 +33,125 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, - "attachment": True, + "structured_output": True, + "attachment": False, "temperature": True, }, - "anthropic/claude-3.7-sonnet": { - "name": "Claude Sonnet 3.7", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "aion-labs/aion-1.0": { + "name": "Aion-1.0", + "release_date": "2025-02-04", + "last_updated": "2025-02-04", "open_weights": False, - "max_input_tokens": 200000, - "max_output_tokens": 128000, + "max_input_tokens": 131072, + "max_output_tokens": 32768, "text_inputs": True, - "image_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "aion-labs/aion-1.0-mini": { + "name": "Aion-1.0-Mini", + "release_date": "2025-02-04", + "last_updated": "2025-02-04", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "aion-labs/aion-2.0": { + "name": "Aion-2.0", + "release_date": "2026-02-23", + "last_updated": "2026-02-23", + "open_weights": False, + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "aion-labs/aion-rp-llama-3.1-8b": { + "name": "Aion-RP 1.0 (8B)", + "release_date": "2025-02-04", + "last_updated": "2025-02-04", + "open_weights": False, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "alfredpros/codellama-7b-instruct-solidity": { + "name": "CodeLLaMa 7B Instruct Solidity", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "open_weights": True, + "max_input_tokens": 4096, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "alibaba/tongyi-deepresearch-30b-a3b": { + "name": "Tongyi DeepResearch 30B A3B", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, "audio_inputs": False, - "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -55,6 +159,197 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "allenai/olmo-3-32b-think": { + "name": "Olmo 3 32B Think", + "release_date": "2025-11-21", + "last_updated": "2025-11-21", + "open_weights": True, + "max_input_tokens": 65536, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "amazon/nova-2-lite-v1": { + "name": "Nova 2 Lite", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "open_weights": False, + "max_input_tokens": 1000000, + "max_output_tokens": 65535, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": False, + "attachment": True, + "temperature": True, + }, + "amazon/nova-lite-v1": { + "name": "Nova Lite 1.0", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "open_weights": False, + "max_input_tokens": 300000, + "max_output_tokens": 5120, + "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": False, + "tool_calling": True, + "structured_output": False, + "attachment": True, + "temperature": True, + }, + "amazon/nova-micro-v1": { + "name": "Nova Micro 1.0", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 5120, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "amazon/nova-premier-v1": { + "name": "Nova Premier 1.0", + "release_date": "2025-10-31", + "last_updated": "2025-10-31", + "open_weights": False, + "max_input_tokens": 1000000, + "max_output_tokens": 32000, + "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": False, + "tool_calling": True, + "structured_output": False, + "attachment": True, + "temperature": True, + }, + "amazon/nova-pro-v1": { + "name": "Nova Pro 1.0", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "open_weights": False, + "max_input_tokens": 300000, + "max_output_tokens": 5120, + "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": False, + "tool_calling": True, + "structured_output": False, + "attachment": True, + "temperature": True, + }, + "anthracite-org/magnum-v4-72b": { + "name": "Magnum v4 72B", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "open_weights": True, + "max_input_tokens": 16384, + "max_output_tokens": 2048, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "anthropic/claude-3-haiku": { + "name": "Claude 3 Haiku", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 4096, + "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": False, + "tool_calling": True, + "structured_output": False, + "attachment": True, + "temperature": True, + }, + "anthropic/claude-3.5-haiku": { + "name": "Claude 3.5 Haiku", + "release_date": "2024-11-04", + "last_updated": "2024-11-04", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 8192, + "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": False, + "tool_calling": True, + "structured_output": False, "attachment": True, "temperature": True, }, @@ -98,6 +393,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": False, "attachment": True, "temperature": True, }, @@ -129,7 +425,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "last_updated": "2025-11-24", "open_weights": False, "max_input_tokens": 200000, - "max_output_tokens": 32000, + "max_output_tokens": 64000, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -147,8 +443,30 @@ _PROFILES: dict[str, dict[str, Any]] = { }, "anthropic/claude-opus-4.6": { "name": "Claude Opus 4.6", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "release_date": "2026-02-04", + "last_updated": "2026-02-04", + "open_weights": False, + "max_input_tokens": 1000000, + "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, + "attachment": True, + "temperature": True, + }, + "anthropic/claude-opus-4.6-fast": { + "name": "Claude Opus 4.6 (Fast)", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", "open_weights": False, "max_input_tokens": 1000000, "max_output_tokens": 128000, @@ -189,12 +507,34 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": False, }, + "anthropic/claude-opus-4.7-fast": { + "name": "Claude Opus 4.7 (Fast)", + "release_date": "2026-05-12", + "last_updated": "2026-05-12", + "open_weights": False, + "max_input_tokens": 1000000, + "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, + "attachment": True, + "temperature": False, + }, "anthropic/claude-sonnet-4": { "name": "Claude Sonnet 4", "release_date": "2025-05-22", "last_updated": "2025-05-22", "open_weights": False, - "max_input_tokens": 200000, + "max_input_tokens": 1000000, "max_output_tokens": 64000, "text_inputs": True, "image_inputs": True, @@ -207,6 +547,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": False, "attachment": True, "temperature": True, }, @@ -242,6 +583,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -253,13 +595,76 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, - "arcee-ai/trinity-large-preview:free": { - "name": "Trinity Large Preview", - "release_date": "2026-01-28", - "last_updated": "2026-01-28", - "open_weights": True, + "arcee-ai/coder-large": { + "name": "Coder Large", + "release_date": "2025-05-05", + "last_updated": "2025-05-05", + "open_weights": False, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "arcee-ai/maestro-reasoning": { + "name": "Maestro Reasoning", + "release_date": "2025-05-05", + "last_updated": "2025-05-05", + "open_weights": False, "max_input_tokens": 131072, - "max_output_tokens": 131072, + "max_output_tokens": 32000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "arcee-ai/spotlight": { + "name": "Spotlight", + "release_date": "2025-05-05", + "last_updated": "2025-05-05", + "open_weights": False, + "max_input_tokens": 131072, + "max_output_tokens": 65537, + "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": False, + "tool_calling": False, + "structured_output": False, + "attachment": True, + "temperature": True, + }, + "arcee-ai/trinity-large-preview": { + "name": "Trinity Large Preview", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "open_weights": True, + "max_input_tokens": 131000, + "max_output_tokens": 131000, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -277,7 +682,28 @@ _PROFILES: dict[str, dict[str, Any]] = { "arcee-ai/trinity-large-thinking": { "name": "Trinity Large Thinking", "release_date": "2026-04-01", - "last_updated": "2026-04-03", + "last_updated": "2026-04-01", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, + "arcee-ai/trinity-large-thinking:free": { + "name": "Trinity Large Thinking (free)", + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "open_weights": True, "max_input_tokens": 262144, "max_output_tokens": 80000, @@ -291,113 +717,308 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": False, "attachment": False, "temperature": True, }, - "black-forest-labs/flux.2-flex": { - "name": "FLUX.2 Flex", - "release_date": "2025-11-25", - "last_updated": "2026-01-31", - "open_weights": False, - "max_input_tokens": 67344, - "max_output_tokens": 67344, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": False, - "image_outputs": True, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": False, - "attachment": False, - "temperature": True, - }, - "black-forest-labs/flux.2-klein-4b": { - "name": "FLUX.2 Klein 4B", - "release_date": "2026-01-14", - "last_updated": "2026-01-31", + "arcee-ai/trinity-mini": { + "name": "Trinity Mini", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "open_weights": True, - "max_input_tokens": 40960, - "max_output_tokens": 40960, + "max_input_tokens": 131072, + "max_output_tokens": 131072, "text_inputs": True, - "image_inputs": True, + "image_inputs": False, "audio_inputs": False, "video_inputs": False, - "text_outputs": False, - "image_outputs": True, + "text_outputs": True, + "image_outputs": False, "audio_outputs": False, "video_outputs": False, - "reasoning_output": False, - "tool_calling": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, "attachment": False, "temperature": True, }, - "black-forest-labs/flux.2-max": { - "name": "FLUX.2 Max", - "release_date": "2025-12-16", - "last_updated": "2026-01-31", + "arcee-ai/virtuoso-large": { + "name": "Virtuoso Large", + "release_date": "2025-05-05", + "last_updated": "2025-05-05", "open_weights": False, - "max_input_tokens": 46864, - "max_output_tokens": 46864, + "max_input_tokens": 131072, + "max_output_tokens": 64000, "text_inputs": True, - "image_inputs": True, + "image_inputs": False, "audio_inputs": False, "video_inputs": False, - "text_outputs": False, - "image_outputs": True, + "text_outputs": True, + "image_outputs": False, "audio_outputs": False, "video_outputs": False, "reasoning_output": False, - "tool_calling": False, + "tool_calling": True, + "structured_output": False, "attachment": False, "temperature": True, }, - "black-forest-labs/flux.2-pro": { - "name": "FLUX.2 Pro", - "release_date": "2025-11-25", - "last_updated": "2026-01-31", + "baidu/cobuddy:free": { + "name": "CoBuddy (free)", + "release_date": "2026-05-06", + "last_updated": "2026-05-06", "open_weights": False, - "max_input_tokens": 46864, - "max_output_tokens": 46864, + "max_input_tokens": 131072, + "max_output_tokens": 65536, "text_inputs": True, - "image_inputs": True, + "image_inputs": False, "audio_inputs": False, "video_inputs": False, - "text_outputs": False, - "image_outputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": False, + "attachment": False, + "temperature": False, + }, + "baidu/ernie-4.5-21b-a3b": { + "name": "ERNIE 4.5 21B A3B", + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "open_weights": True, + "max_input_tokens": 120000, + "max_output_tokens": 8000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "baidu/ernie-4.5-21b-a3b-thinking": { + "name": "ERNIE 4.5 21B A3B Thinking", + "release_date": "2025-10-09", + "last_updated": "2025-10-09", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "baidu/ernie-4.5-300b-a47b": { + "name": "ERNIE 4.5 300B A47B ", + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "open_weights": True, + "max_input_tokens": 123000, + "max_output_tokens": 12000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, "audio_outputs": False, "video_outputs": False, "reasoning_output": False, "tool_calling": False, + "structured_output": False, "attachment": False, "temperature": True, }, - "bytedance-seed/seedream-4.5": { - "name": "Seedream 4.5", + "baidu/ernie-4.5-vl-28b-a3b": { + "name": "ERNIE 4.5 VL 28B A3B", + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "open_weights": True, + "max_input_tokens": 30000, + "max_output_tokens": 8000, + "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, + "attachment": True, + "temperature": True, + }, + "baidu/ernie-4.5-vl-424b-a47b": { + "name": "ERNIE 4.5 VL 424B A47B ", + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "open_weights": True, + "max_input_tokens": 123000, + "max_output_tokens": 16000, + "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": False, + "structured_output": False, + "attachment": True, + "temperature": True, + }, + "baidu/qianfan-ocr-fast": { + "name": "Qianfan-OCR-Fast", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "open_weights": False, + "max_input_tokens": 65536, + "max_output_tokens": 28672, + "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": False, + "structured_output": False, + "attachment": True, + "temperature": True, + }, + "bytedance-seed/seed-1.6": { + "name": "Seed 1.6", "release_date": "2025-12-23", - "last_updated": "2026-01-31", + "last_updated": "2025-12-23", + "open_weights": False, + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "bytedance-seed/seed-1.6-flash": { + "name": "Seed 1.6 Flash", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "open_weights": False, + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "bytedance-seed/seed-2.0-lite": { + "name": "Seed-2.0-Lite", + "release_date": "2026-03-10", + "last_updated": "2026-03-10", + "open_weights": False, + "max_input_tokens": 262144, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "bytedance-seed/seed-2.0-mini": { + "name": "Seed-2.0-Mini", + "release_date": "2026-02-26", + "last_updated": "2026-02-26", + "open_weights": False, + "max_input_tokens": 262144, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "bytedance/ui-tars-1.5-7b": { + "name": "UI-TARS 7B ", + "release_date": "2025-07-22", + "last_updated": "2025-07-22", "open_weights": True, - "max_input_tokens": 4096, - "max_output_tokens": 4096, + "max_input_tokens": 128000, + "max_output_tokens": 2048, "text_inputs": True, "image_inputs": True, "audio_inputs": False, "video_inputs": False, - "text_outputs": False, - "image_outputs": True, + "text_outputs": True, + "image_outputs": False, "audio_outputs": False, "video_outputs": False, "reasoning_output": False, "tool_calling": False, - "attachment": False, + "structured_output": False, + "attachment": True, "temperature": True, }, "cognitivecomputations/dolphin-mistral-24b-venice-edition:free": { "name": "Uncensored (free)", "release_date": "2025-07-09", - "last_updated": "2026-01-31", + "last_updated": "2025-07-09", "open_weights": True, "max_input_tokens": 32768, "max_output_tokens": 32768, @@ -415,12 +1036,12 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, - "deepseek/deepseek-chat-v3-0324": { - "name": "DeepSeek V3 0324", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", + "cohere/command-a": { + "name": "Command A", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", "open_weights": True, - "max_input_tokens": 16384, + "max_input_tokens": 256000, "max_output_tokens": 8192, "text_inputs": True, "image_inputs": False, @@ -436,13 +1057,139 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, + "cohere/command-r-08-2024": { + "name": "Command R (08-2024)", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 4000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "cohere/command-r-plus-08-2024": { + "name": "Command R+ (08-2024)", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 4000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "cohere/command-r7b-12-2024": { + "name": "Command R7B (12-2024)", + "release_date": "2024-12-14", + "last_updated": "2024-12-14", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 4000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "deepcogito/cogito-v2.1-671b": { + "name": "Cogito v2.1 671B", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "deepseek/deepseek-chat": { + "name": "DeepSeek V3", + "release_date": "2024-12-26", + "last_updated": "2024-12-26", + "open_weights": True, + "max_input_tokens": 163840, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "deepseek/deepseek-chat-v3-0324": { + "name": "DeepSeek V3 0324", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", + "open_weights": True, + "max_input_tokens": 163840, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, "deepseek/deepseek-chat-v3.1": { - "name": "DeepSeek-V3.1", + "name": "DeepSeek V3.1", "release_date": "2025-08-21", "last_updated": "2025-08-21", "open_weights": True, "max_input_tokens": 163840, - "max_output_tokens": 163840, + "max_output_tokens": 32768, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -458,7 +1205,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "temperature": True, }, "deepseek/deepseek-r1": { - "name": "DeepSeek: R1", + "name": "R1", "release_date": "2025-01-20", "last_updated": "2025-01-20", "open_weights": True, @@ -478,13 +1225,55 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, + "deepseek/deepseek-r1-0528": { + "name": "R1 0528", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "open_weights": True, + "max_input_tokens": 163840, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, "deepseek/deepseek-r1-distill-llama-70b": { - "name": "DeepSeek R1 Distill Llama 70B", + "name": "R1 Distill Llama 70B", "release_date": "2025-01-23", "last_updated": "2025-01-23", "open_weights": True, - "max_input_tokens": 8192, - "max_output_tokens": 8192, + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "deepseek/deepseek-r1-distill-qwen-32b": { + "name": "R1 Distill Qwen 32B", + "release_date": "2025-01-29", + "last_updated": "2025-01-29", + "open_weights": True, + "max_input_tokens": 32768, + "max_output_tokens": 32768, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -504,29 +1293,8 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2025-09-22", "last_updated": "2025-09-22", "open_weights": True, - "max_input_tokens": 131072, - "max_output_tokens": 65536, - "text_inputs": True, - "image_inputs": False, - "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, - "attachment": False, - "temperature": True, - }, - "deepseek/deepseek-v3.1-terminus:exacto": { - "name": "DeepSeek V3.1 Terminus (exacto)", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "open_weights": True, - "max_input_tokens": 131072, - "max_output_tokens": 65536, + "max_input_tokens": 163840, + "max_output_tokens": 32768, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -546,6 +1314,27 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2025-12-01", "last_updated": "2025-12-01", "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, + "deepseek/deepseek-v3.2-exp": { + "name": "DeepSeek V3.2 Exp", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "open_weights": True, "max_input_tokens": 163840, "max_output_tokens": 65536, "text_inputs": True, @@ -568,7 +1357,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "last_updated": "2025-12-01", "open_weights": True, "max_input_tokens": 163840, - "max_output_tokens": 65536, + "max_output_tokens": 163840, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -578,7 +1367,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "audio_outputs": False, "video_outputs": False, "reasoning_output": True, - "tool_calling": True, + "tool_calling": False, "structured_output": True, "attachment": False, "temperature": True, @@ -589,7 +1378,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "last_updated": "2026-04-24", "open_weights": True, "max_input_tokens": 1048576, - "max_output_tokens": 393216, + "max_output_tokens": 131072, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -604,13 +1393,34 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, + "deepseek/deepseek-v4-flash:free": { + "name": "DeepSeek V4 Flash (free)", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "open_weights": True, + "max_input_tokens": 1048576, + "max_output_tokens": 384000, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": False, + }, "deepseek/deepseek-v4-pro": { "name": "DeepSeek V4 Pro", "release_date": "2026-04-24", "last_updated": "2026-04-24", "open_weights": True, "max_input_tokens": 1048576, - "max_output_tokens": 393216, + "max_output_tokens": 384000, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -625,10 +1435,53 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, + "essentialai/rnj-1-instruct": { + "name": "Rnj 1 Instruct", + "release_date": "2025-12-07", + "last_updated": "2025-12-07", + "open_weights": True, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, "google/gemini-2.0-flash-001": { "name": "Gemini 2.0 Flash", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "release_date": "2025-02-05", + "last_updated": "2025-02-05", + "open_weights": False, + "max_input_tokens": 1048576, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": True, + "pdf_inputs": True, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "google/gemini-2.0-flash-lite-001": { + "name": "Gemini 2.0 Flash Lite", + "release_date": "2025-02-25", + "last_updated": "2025-02-25", "open_weights": False, "max_input_tokens": 1048576, "max_output_tokens": 8192, @@ -649,11 +1502,11 @@ _PROFILES: dict[str, dict[str, Any]] = { }, "google/gemini-2.5-flash": { "name": "Gemini 2.5 Flash", - "release_date": "2025-07-17", - "last_updated": "2025-07-17", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "open_weights": False, "max_input_tokens": 1048576, - "max_output_tokens": 65536, + "max_output_tokens": 65535, "text_inputs": True, "image_inputs": True, "audio_inputs": True, @@ -669,8 +1522,73 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, + "google/gemini-2.5-flash-image": { + "name": "Nano Banana (Gemini 2.5 Flash Image)", + "release_date": "2025-10-07", + "last_updated": "2025-10-07", + "open_weights": False, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": True, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": True, + "temperature": True, + }, "google/gemini-2.5-flash-lite": { "name": "Gemini 2.5 Flash Lite", + "release_date": "2025-07-22", + "last_updated": "2025-07-22", + "open_weights": False, + "max_input_tokens": 1048576, + "max_output_tokens": 65535, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": True, + "pdf_inputs": True, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "google/gemini-2.5-flash-lite-preview-09-2025": { + "name": "Gemini 2.5 Flash Lite Preview 09-2025", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "open_weights": False, + "max_input_tokens": 1048576, + "max_output_tokens": 65535, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": True, + "pdf_inputs": True, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "google/gemini-2.5-pro": { + "name": "Gemini 2.5 Pro", "release_date": "2025-06-17", "last_updated": "2025-06-17", "open_weights": False, @@ -691,53 +1609,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, - "google/gemini-2.5-flash-lite-preview-09-2025": { - "name": "Gemini 2.5 Flash Lite Preview 09-25", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "open_weights": False, - "max_input_tokens": 1048576, - "max_output_tokens": 65536, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": True, - "pdf_inputs": True, - "video_inputs": True, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "structured_output": True, - "attachment": True, - "temperature": True, - }, - "google/gemini-2.5-flash-preview-09-2025": { - "name": "Gemini 2.5 Flash Preview 09-25", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "open_weights": False, - "max_input_tokens": 1048576, - "max_output_tokens": 65536, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": True, - "pdf_inputs": True, - "video_inputs": True, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "structured_output": True, - "attachment": True, - "temperature": True, - }, - "google/gemini-2.5-pro": { - "name": "Gemini 2.5 Pro", - "release_date": "2025-03-20", + "google/gemini-2.5-pro-preview": { + "name": "Gemini 2.5 Pro Preview 06-05", + "release_date": "2025-06-05", "last_updated": "2025-06-05", "open_weights": False, "max_input_tokens": 1048576, @@ -746,7 +1620,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_inputs": True, "audio_inputs": True, "pdf_inputs": True, - "video_inputs": True, + "video_inputs": False, "text_outputs": True, "image_outputs": False, "audio_outputs": False, @@ -759,33 +1633,11 @@ _PROFILES: dict[str, dict[str, Any]] = { }, "google/gemini-2.5-pro-preview-05-06": { "name": "Gemini 2.5 Pro Preview 05-06", - "release_date": "2025-05-06", - "last_updated": "2025-05-06", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", "open_weights": False, "max_input_tokens": 1048576, - "max_output_tokens": 65536, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": True, - "pdf_inputs": True, - "video_inputs": True, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "structured_output": True, - "attachment": True, - "temperature": True, - }, - "google/gemini-2.5-pro-preview-06-05": { - "name": "Gemini 2.5 Pro Preview 06-05", - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "open_weights": False, - "max_input_tokens": 1048576, - "max_output_tokens": 65536, + "max_output_tokens": 65535, "text_inputs": True, "image_inputs": True, "audio_inputs": True, @@ -823,30 +1675,29 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, - "google/gemini-3-pro-preview": { - "name": "Gemini 3 Pro Preview", - "release_date": "2025-11-18", - "last_updated": "2025-11", + "google/gemini-3-pro-image-preview": { + "name": "Nano Banana Pro (Gemini 3 Pro Image Preview)", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", "open_weights": False, - "max_input_tokens": 1050000, - "max_output_tokens": 66000, + "max_input_tokens": 65536, + "max_output_tokens": 32768, "text_inputs": True, "image_inputs": True, - "audio_inputs": True, - "pdf_inputs": True, - "video_inputs": True, + "audio_inputs": False, + "video_inputs": False, "text_outputs": True, - "image_outputs": False, + "image_outputs": True, "audio_outputs": False, "video_outputs": False, "reasoning_output": True, - "tool_calling": True, + "tool_calling": False, "structured_output": True, "attachment": True, "temperature": True, }, "google/gemini-3.1-flash-image-preview": { - "name": "Gemini 3.1 Flash Image Preview (Nano Banana 2)", + "name": "Nano Banana 2 (Gemini 3.1 Flash Image Preview)", "release_date": "2026-02-26", "last_updated": "2026-02-26", "open_weights": False, @@ -866,6 +1717,28 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, + "google/gemini-3.1-flash-lite": { + "name": "Gemini 3.1 Flash Lite", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", + "open_weights": False, + "max_input_tokens": 1048576, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": True, + "pdf_inputs": True, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, "google/gemini-3.1-flash-lite-preview": { "name": "Gemini 3.1 Flash Lite Preview", "release_date": "2026-03-03", @@ -912,8 +1785,8 @@ _PROFILES: dict[str, dict[str, Any]] = { }, "google/gemini-3.1-pro-preview-customtools": { "name": "Gemini 3.1 Pro Preview Custom Tools", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "release_date": "2026-02-25", + "last_updated": "2026-02-25", "open_weights": False, "max_input_tokens": 1048576, "max_output_tokens": 65536, @@ -932,13 +1805,13 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, - "google/gemma-2-9b-it": { - "name": "Gemma 2 9B", - "release_date": "2024-06-28", - "last_updated": "2024-06-28", + "google/gemma-2-27b-it": { + "name": "Gemma 2 27B", + "release_date": "2024-07-13", + "last_updated": "2024-07-13", "open_weights": True, "max_input_tokens": 8192, - "max_output_tokens": 8192, + "max_output_tokens": 2048, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -949,6 +1822,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": False, + "structured_output": True, "attachment": False, "temperature": True, }, @@ -958,7 +1832,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "last_updated": "2025-03-13", "open_weights": True, "max_input_tokens": 131072, - "max_output_tokens": 131072, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -968,38 +1842,18 @@ _PROFILES: dict[str, dict[str, Any]] = { "audio_outputs": False, "video_outputs": False, "reasoning_output": False, - "tool_calling": False, + "tool_calling": True, "structured_output": True, "attachment": True, "temperature": True, }, - "google/gemma-3-12b-it:free": { - "name": "Gemma 3 12B (free)", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "open_weights": True, - "max_input_tokens": 32768, - "max_output_tokens": 8192, - "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": False, - "tool_calling": False, - "attachment": True, - "temperature": True, - }, "google/gemma-3-27b-it": { "name": "Gemma 3 27B", "release_date": "2025-03-12", "last_updated": "2025-03-12", "open_weights": True, - "max_input_tokens": 96000, - "max_output_tokens": 96000, + "max_input_tokens": 131072, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -1014,33 +1868,13 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, - "google/gemma-3-27b-it:free": { - "name": "Gemma 3 27B (free)", - "release_date": "2025-03-12", - "last_updated": "2025-03-12", - "open_weights": True, - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "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": False, - "tool_calling": True, - "attachment": True, - "temperature": True, - }, "google/gemma-3-4b-it": { "name": "Gemma 3 4B", "release_date": "2025-03-13", "last_updated": "2025-03-13", "open_weights": True, - "max_input_tokens": 96000, - "max_output_tokens": 96000, + "max_input_tokens": 131072, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -1051,46 +1885,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": False, - "attachment": True, - "temperature": True, - }, - "google/gemma-3-4b-it:free": { - "name": "Gemma 3 4B (free)", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "open_weights": True, - "max_input_tokens": 32768, - "max_output_tokens": 8192, - "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": False, - "tool_calling": False, - "attachment": True, - "temperature": True, - }, - "google/gemma-3n-e2b-it:free": { - "name": "Gemma 3n 2B (free)", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "open_weights": True, - "max_input_tokens": 8192, - "max_output_tokens": 2000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": False, + "structured_output": True, "attachment": True, "temperature": True, }, @@ -1111,31 +1906,12 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": False, - "attachment": True, - "temperature": True, - }, - "google/gemma-3n-e4b-it:free": { - "name": "Gemma 3n 4B (free)", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "open_weights": True, - "max_input_tokens": 8192, - "max_output_tokens": 2000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": False, - "attachment": True, + "structured_output": False, + "attachment": False, "temperature": True, }, "google/gemma-4-26b-a4b-it": { - "name": "Gemma 4 26B A4B", + "name": "Gemma 4 26B A4B ", "release_date": "2026-04-03", "last_updated": "2026-04-03", "open_weights": True, @@ -1156,7 +1932,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "temperature": True, }, "google/gemma-4-26b-a4b-it:free": { - "name": "Gemma 4 26B A4B (free)", + "name": "Gemma 4 26B A4B (free)", "release_date": "2026-04-03", "last_updated": "2026-04-03", "open_weights": True, @@ -1182,7 +1958,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "last_updated": "2026-04-02", "open_weights": True, "max_input_tokens": 262144, - "max_output_tokens": 262144, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -1218,6 +1994,111 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, + "google/lyria-3-clip-preview": { + "name": "Lyria 3 Clip Preview", + "release_date": "2026-03-30", + "last_updated": "2026-03-30", + "open_weights": False, + "max_input_tokens": 1048576, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": True, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "google/lyria-3-pro-preview": { + "name": "Lyria 3 Pro Preview", + "release_date": "2026-03-30", + "last_updated": "2026-03-30", + "open_weights": False, + "max_input_tokens": 1048576, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": True, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "gryphe/mythomax-l2-13b": { + "name": "MythoMax 13B", + "release_date": "2023-07-02", + "last_updated": "2023-07-02", + "open_weights": True, + "max_input_tokens": 4096, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "ibm-granite/granite-4.0-h-micro": { + "name": "Granite 4.0 Micro", + "release_date": "2025-10-20", + "last_updated": "2025-10-20", + "open_weights": True, + "max_input_tokens": 131000, + "max_output_tokens": 131000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "ibm-granite/granite-4.1-8b": { + "name": "Granite 4.1 8B", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, "inception/mercury-2": { "name": "Mercury 2", "release_date": "2026-03-04", @@ -1239,32 +2120,12 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, - "inception/mercury-edit-2": { - "name": "Mercury Edit 2", - "release_date": "2026-03-30", - "last_updated": "2026-03-30", + "inclusionai/ling-2.6-1t": { + "name": "Ling-2.6-1T", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "open_weights": False, - "max_input_tokens": 128000, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": False, - "attachment": False, - "temperature": True, - }, - "liquid/lfm-2.5-1.2b-instruct:free": { - "name": "LFM2.5-1.2B-Instruct (free)", - "release_date": "2026-01-20", - "last_updated": "2026-01-28", - "open_weights": True, - "max_input_tokens": 131072, + "max_input_tokens": 262144, "max_output_tokens": 32768, "text_inputs": True, "image_inputs": False, @@ -1275,100 +2136,41 @@ _PROFILES: dict[str, dict[str, Any]] = { "audio_outputs": False, "video_outputs": False, "reasoning_output": False, - "tool_calling": False, - "attachment": False, - "temperature": True, - }, - "liquid/lfm-2.5-1.2b-thinking:free": { - "name": "LFM2.5-1.2B-Thinking (free)", - "release_date": "2026-01-20", - "last_updated": "2026-01-28", - "open_weights": True, - "max_input_tokens": 131072, - "max_output_tokens": 32768, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": False, - "attachment": False, - "temperature": True, - }, - "meta-llama/llama-3.2-11b-vision-instruct": { - "name": "Llama 3.2 11B Vision Instruct", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "open_weights": True, - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "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": False, - "tool_calling": False, - "attachment": True, - "temperature": True, - }, - "meta-llama/llama-3.2-3b-instruct:free": { - "name": "Llama 3.2 3B Instruct (free)", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "open_weights": True, - "max_input_tokens": 131072, - "max_output_tokens": 131072, - "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": False, - "tool_calling": False, - "attachment": True, - "temperature": True, - }, - "meta-llama/llama-3.3-70b-instruct:free": { - "name": "Llama 3.3 70B Instruct (free)", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "open_weights": True, - "max_input_tokens": 131072, - "max_output_tokens": 131072, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, "tool_calling": True, "structured_output": True, "attachment": False, "temperature": True, }, - "minimax/minimax-01": { - "name": "MiniMax-01", - "release_date": "2025-01-15", - "last_updated": "2025-01-15", - "open_weights": True, - "max_input_tokens": 1000000, - "max_output_tokens": 1000000, + "inclusionai/ling-2.6-flash": { + "name": "Ling-2.6-flash", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "open_weights": False, + "max_input_tokens": 262144, + "max_output_tokens": 32768, "text_inputs": True, - "image_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "inclusionai/ring-2.6-1t:free": { + "name": "Ring-2.6-1T (free)", + "release_date": "2026-05-08", + "last_updated": "2026-05-08", + "open_weights": False, + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": False, "audio_inputs": False, "video_inputs": False, "text_outputs": True, @@ -1377,6 +2179,532 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "inflection/inflection-3-pi": { + "name": "Inflection 3 Pi", + "release_date": "2024-10-11", + "last_updated": "2024-10-11", + "open_weights": False, + "max_input_tokens": 8000, + "max_output_tokens": 1024, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "inflection/inflection-3-productivity": { + "name": "Inflection 3 Productivity", + "release_date": "2024-10-11", + "last_updated": "2024-10-11", + "open_weights": False, + "max_input_tokens": 8000, + "max_output_tokens": 1024, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "kwaipilot/kat-coder-pro-v2": { + "name": "KAT-Coder-Pro V2", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "open_weights": False, + "max_input_tokens": 256000, + "max_output_tokens": 80000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "liquid/lfm-2-24b-a2b": { + "name": "LFM2-24B-A2B", + "release_date": "2026-02-25", + "last_updated": "2026-02-25", + "open_weights": True, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "liquid/lfm-2.5-1.2b-instruct:free": { + "name": "LFM2.5-1.2B-Instruct (free)", + "release_date": "2026-01-20", + "last_updated": "2026-01-20", + "open_weights": True, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "liquid/lfm-2.5-1.2b-thinking:free": { + "name": "LFM2.5-1.2B-Thinking (free)", + "release_date": "2026-01-20", + "last_updated": "2026-01-20", + "open_weights": True, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "mancer/weaver": { + "name": "Weaver (alpha)", + "release_date": "2023-08-02", + "last_updated": "2023-08-02", + "open_weights": False, + "max_input_tokens": 8000, + "max_output_tokens": 2000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "meta-llama/llama-3-70b-instruct": { + "name": "Llama 3 70B Instruct", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "open_weights": True, + "max_input_tokens": 8192, + "max_output_tokens": 8000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "meta-llama/llama-3-8b-instruct": { + "name": "Llama 3 8B Instruct", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "open_weights": True, + "max_input_tokens": 8192, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "meta-llama/llama-3.1-70b-instruct": { + "name": "Llama 3.1 70B Instruct", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "meta-llama/llama-3.1-8b-instruct": { + "name": "Llama 3.1 8B Instruct", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "open_weights": True, + "max_input_tokens": 16384, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "meta-llama/llama-3.2-11b-vision-instruct": { + "name": "Llama 3.2 11B Vision Instruct", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "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": False, + "tool_calling": False, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "meta-llama/llama-3.2-1b-instruct": { + "name": "Llama 3.2 1B Instruct", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "open_weights": True, + "max_input_tokens": 60000, + "max_output_tokens": 60000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "meta-llama/llama-3.2-3b-instruct": { + "name": "Llama 3.2 3B Instruct", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "open_weights": True, + "max_input_tokens": 80000, + "max_output_tokens": 80000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "meta-llama/llama-3.2-3b-instruct:free": { + "name": "Llama 3.2 3B Instruct (free)", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "meta-llama/llama-3.3-70b-instruct": { + "name": "Llama 3.3 70B Instruct", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "meta-llama/llama-3.3-70b-instruct:free": { + "name": "Llama 3.3 70B Instruct (free)", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "open_weights": True, + "max_input_tokens": 65536, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "meta-llama/llama-4-maverick": { + "name": "Llama 4 Maverick", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "open_weights": True, + "max_input_tokens": 1048576, + "max_output_tokens": 16384, + "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": False, + "tool_calling": False, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "meta-llama/llama-4-scout": { + "name": "Llama 4 Scout", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "open_weights": True, + "max_input_tokens": 327680, + "max_output_tokens": 16384, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "meta-llama/llama-guard-3-8b": { + "name": "Llama Guard 3 8B", + "release_date": "2025-02-12", + "last_updated": "2025-02-12", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "meta-llama/llama-guard-4-12b": { + "name": "Llama Guard 4 12B", + "release_date": "2025-04-30", + "last_updated": "2025-04-30", + "open_weights": True, + "max_input_tokens": 163840, + "max_output_tokens": 16384, + "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": False, + "tool_calling": False, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "microsoft/phi-4": { + "name": "Phi 4", + "release_date": "2025-01-10", + "last_updated": "2025-01-10", + "open_weights": True, + "max_input_tokens": 16384, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "microsoft/phi-4-mini-instruct": { + "name": "Phi 4 Mini Instruct", + "release_date": "2025-10-17", + "last_updated": "2025-10-17", + "open_weights": True, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "microsoft/wizardlm-2-8x22b": { + "name": "WizardLM-2 8x22B", + "release_date": "2024-04-16", + "last_updated": "2024-04-16", + "open_weights": True, + "max_input_tokens": 65535, + "max_output_tokens": 8000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "minimax/minimax-01": { + "name": "MiniMax-01", + "release_date": "2025-01-15", + "last_updated": "2025-01-15", + "open_weights": True, + "max_input_tokens": 1000192, + "max_output_tokens": 1000192, + "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": False, + "tool_calling": False, + "structured_output": False, "attachment": True, "temperature": True, }, @@ -1384,7 +2712,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "name": "MiniMax M1", "release_date": "2025-06-17", "last_updated": "2025-06-17", - "open_weights": True, + "open_weights": False, "max_input_tokens": 1000000, "max_output_tokens": 40000, "text_inputs": True, @@ -1397,6 +2725,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": False, "attachment": False, "temperature": True, }, @@ -1405,8 +2734,8 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2025-10-23", "last_updated": "2025-10-23", "open_weights": True, - "max_input_tokens": 196600, - "max_output_tokens": 118000, + "max_input_tokens": 196608, + "max_output_tokens": 196608, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -1421,13 +2750,34 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, + "minimax/minimax-m2-her": { + "name": "MiniMax M2-her", + "release_date": "2026-01-23", + "last_updated": "2026-01-23", + "open_weights": False, + "max_input_tokens": 65536, + "max_output_tokens": 2048, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, "minimax/minimax-m2.1": { "name": "MiniMax M2.1", "release_date": "2025-12-23", "last_updated": "2025-12-23", "open_weights": True, - "max_input_tokens": 204800, - "max_output_tokens": 131072, + "max_input_tokens": 196608, + "max_output_tokens": 196608, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -1447,8 +2797,8 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2026-02-12", "last_updated": "2026-02-12", "open_weights": True, - "max_input_tokens": 204800, - "max_output_tokens": 131072, + "max_input_tokens": 196608, + "max_output_tokens": 196608, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -1468,8 +2818,8 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2026-02-12", "last_updated": "2026-02-12", "open_weights": True, - "max_input_tokens": 204800, - "max_output_tokens": 131072, + "max_input_tokens": 196608, + "max_output_tokens": 8192, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -1489,7 +2839,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2026-03-18", "last_updated": "2026-03-18", "open_weights": True, - "max_input_tokens": 204800, + "max_input_tokens": 196608, "max_output_tokens": 131072, "text_inputs": True, "image_inputs": False, @@ -1501,6 +2851,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": False, "temperature": True, }, @@ -1508,12 +2859,13 @@ _PROFILES: dict[str, dict[str, Any]] = { "name": "Codestral 2508", "release_date": "2025-08-01", "last_updated": "2025-08-01", - "open_weights": True, + "open_weights": False, "max_input_tokens": 256000, "max_output_tokens": 256000, "text_inputs": True, "image_inputs": False, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -1522,19 +2874,20 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, "structured_output": True, - "attachment": False, + "attachment": True, "temperature": True, }, "mistralai/devstral-2512": { "name": "Devstral 2 2512", - "release_date": "2025-09-12", - "last_updated": "2025-09-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", "open_weights": True, "max_input_tokens": 262144, "max_output_tokens": 262144, "text_inputs": True, "image_inputs": False, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -1543,19 +2896,20 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, "structured_output": True, - "attachment": False, + "attachment": True, "temperature": True, }, - "mistralai/devstral-medium-2507": { + "mistralai/devstral-medium": { "name": "Devstral Medium", "release_date": "2025-07-10", "last_updated": "2025-07-10", - "open_weights": True, + "open_weights": False, "max_input_tokens": 131072, "max_output_tokens": 131072, "text_inputs": True, "image_inputs": False, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -1564,30 +2918,10 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, "structured_output": True, - "attachment": False, + "attachment": True, "temperature": True, }, - "mistralai/devstral-small-2505": { - "name": "Devstral Small", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "open_weights": True, - "max_input_tokens": 128000, - "max_output_tokens": 128000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - "attachment": False, - "temperature": True, - }, - "mistralai/devstral-small-2507": { + "mistralai/devstral-small": { "name": "Devstral Small 1.1", "release_date": "2025-07-10", "last_updated": "2025-07-10", @@ -1597,6 +2931,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": False, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -1605,9 +2940,181 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, "structured_output": True, + "attachment": True, + "temperature": True, + }, + "mistralai/ministral-14b-2512": { + "name": "Ministral 3 14B 2512", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "mistralai/ministral-3b-2512": { + "name": "Ministral 3 3B 2512", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "mistralai/ministral-8b-2512": { + "name": "Ministral 3 8B 2512", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "mistralai/mistral-7b-instruct-v0.1": { + "name": "Mistral 7B Instruct v0.1", + "release_date": "2023-09-28", + "last_updated": "2023-09-28", + "open_weights": True, + "max_input_tokens": 2824, + "max_output_tokens": 2824, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, "attachment": False, "temperature": True, }, + "mistralai/mistral-large": { + "name": "Mistral Large", + "release_date": "2024-02-26", + "last_updated": "2024-02-26", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "mistralai/mistral-large-2407": { + "name": "Mistral Large 2407", + "release_date": "2024-11-19", + "last_updated": "2024-11-19", + "open_weights": False, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "mistralai/mistral-large-2411": { + "name": "Mistral Large 2411", + "release_date": "2024-11-19", + "last_updated": "2024-11-19", + "open_weights": False, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "mistralai/mistral-large-2512": { + "name": "Mistral Large 3 2512", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "open_weights": False, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, "mistralai/mistral-medium-3": { "name": "Mistral Medium 3", "release_date": "2025-05-07", @@ -1618,6 +3125,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -1629,16 +3137,39 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, - "mistralai/mistral-medium-3.1": { - "name": "Mistral Medium 3.1", - "release_date": "2025-08-12", - "last_updated": "2025-08-12", + "mistralai/mistral-medium-3-5": { + "name": "Mistral Medium 3.5", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "open_weights": False, "max_input_tokens": 262144, "max_output_tokens": 262144, "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, + "attachment": True, + "temperature": True, + }, + "mistralai/mistral-medium-3.1": { + "name": "Mistral Medium 3.1", + "release_date": "2025-08-13", + "last_updated": "2025-08-13", + "open_weights": False, + "max_input_tokens": 131072, + "max_output_tokens": 262144, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -1650,6 +3181,70 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, + "mistralai/mistral-nemo": { + "name": "Mistral Nemo", + "release_date": "2024-07-19", + "last_updated": "2024-07-19", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "mistralai/mistral-saba": { + "name": "Saba", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "open_weights": False, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "mistralai/mistral-small-24b-instruct-2501": { + "name": "Mistral Small 3", + "release_date": "2025-01-30", + "last_updated": "2025-01-30", + "open_weights": True, + "max_input_tokens": 32768, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, "mistralai/mistral-small-2603": { "name": "Mistral Small 4", "release_date": "2026-03-16", @@ -1667,11 +3262,12 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": True, "temperature": True, }, "mistralai/mistral-small-3.1-24b-instruct": { - "name": "Mistral Small 3.1 24B Instruct", + "name": "Mistral Small 3.1 24B", "release_date": "2025-03-17", "last_updated": "2025-03-17", "open_weights": True, @@ -1686,18 +3282,18 @@ _PROFILES: dict[str, dict[str, Any]] = { "audio_outputs": False, "video_outputs": False, "reasoning_output": False, - "tool_calling": True, - "structured_output": True, + "tool_calling": False, + "structured_output": False, "attachment": True, "temperature": True, }, "mistralai/mistral-small-3.2-24b-instruct": { - "name": "Mistral Small 3.2 24B Instruct", + "name": "Mistral Small 3.2 24B", "release_date": "2025-06-20", "last_updated": "2025-06-20", "open_weights": True, - "max_input_tokens": 96000, - "max_output_tokens": 8192, + "max_input_tokens": 128000, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -1712,8 +3308,74 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, + "mistralai/mixtral-8x22b-instruct": { + "name": "Mixtral 8x22B Instruct", + "release_date": "2024-04-17", + "last_updated": "2024-04-17", + "open_weights": True, + "max_input_tokens": 65536, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "mistralai/pixtral-large-2411": { + "name": "Pixtral Large 2411", + "release_date": "2024-11-19", + "last_updated": "2024-11-19", + "open_weights": False, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "mistralai/voxtral-small-24b-2507": { + "name": "Voxtral Small 24B 2507", + "release_date": "2025-10-30", + "last_updated": "2025-10-30", + "open_weights": True, + "max_input_tokens": 32000, + "max_output_tokens": 32000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": True, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, "moonshotai/kimi-k2": { - "name": "Kimi K2", + "name": "Kimi K2 0711", "release_date": "2025-07-11", "last_updated": "2025-07-11", "open_weights": True, @@ -1729,37 +3391,17 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": False, "attachment": False, "temperature": True, }, "moonshotai/kimi-k2-0905": { - "name": "Kimi K2 Instruct 0905", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "name": "Kimi K2 0905", + "release_date": "2025-09-04", + "last_updated": "2025-09-04", "open_weights": True, "max_input_tokens": 262144, - "max_output_tokens": 16384, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - "structured_output": True, - "attachment": False, - "temperature": True, - }, - "moonshotai/kimi-k2-0905:exacto": { - "name": "Kimi K2 Instruct 0905 (exacto)", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "open_weights": True, - "max_input_tokens": 262144, - "max_output_tokens": 16384, + "max_output_tokens": 262144, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -1805,7 +3447,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": True, "audio_inputs": False, - "video_inputs": True, + "video_inputs": False, "text_outputs": True, "image_outputs": False, "audio_outputs": False, @@ -1821,8 +3463,8 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2026-04-20", "last_updated": "2026-04-20", "open_weights": True, - "max_input_tokens": 262144, - "max_output_tokens": 262144, + "max_input_tokens": 262142, + "max_output_tokens": 262142, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -1837,6 +3479,111 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, + "morph/morph-v3-fast": { + "name": "Morph V3 Fast", + "release_date": "2025-07-07", + "last_updated": "2025-07-07", + "open_weights": False, + "max_input_tokens": 81920, + "max_output_tokens": 38000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "morph/morph-v3-large": { + "name": "Morph V3 Large", + "release_date": "2025-07-07", + "last_updated": "2025-07-07", + "open_weights": False, + "max_input_tokens": 262144, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "nex-agi/deepseek-v3.1-nex-n1": { + "name": "DeepSeek V3.1 Nex N1", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 163840, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "nousresearch/hermes-2-pro-llama-3-8b": { + "name": "Hermes 2 Pro - Llama-3 8B", + "release_date": "2024-05-27", + "last_updated": "2024-05-27", + "open_weights": True, + "max_input_tokens": 8192, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "nousresearch/hermes-3-llama-3.1-405b": { + "name": "Hermes 3 405B Instruct", + "release_date": "2024-08-16", + "last_updated": "2024-08-16", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, "nousresearch/hermes-3-llama-3.1-405b:free": { "name": "Hermes 3 405B Instruct (free)", "release_date": "2024-08-16", @@ -1852,15 +3599,37 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_outputs": False, "audio_outputs": False, "video_outputs": False, - "reasoning_output": True, + "reasoning_output": False, "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "nousresearch/hermes-3-llama-3.1-70b": { + "name": "Hermes 3 70B Instruct", + "release_date": "2024-08-18", + "last_updated": "2024-08-18", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, "attachment": False, "temperature": True, }, "nousresearch/hermes-4-405b": { "name": "Hermes 4 405B", - "release_date": "2025-08-25", - "last_updated": "2025-08-25", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", "open_weights": True, "max_input_tokens": 131072, "max_output_tokens": 131072, @@ -1873,14 +3642,15 @@ _PROFILES: dict[str, dict[str, Any]] = { "audio_outputs": False, "video_outputs": False, "reasoning_output": True, - "tool_calling": True, + "tool_calling": False, + "structured_output": True, "attachment": False, "temperature": True, }, "nousresearch/hermes-4-70b": { "name": "Hermes 4 70B", - "release_date": "2025-08-25", - "last_updated": "2025-08-25", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", "open_weights": True, "max_input_tokens": 131072, "max_output_tokens": 131072, @@ -1893,6 +3663,48 @@ _PROFILES: dict[str, dict[str, Any]] = { "audio_outputs": False, "video_outputs": False, "reasoning_output": True, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "nvidia/llama-3.3-nemotron-super-49b-v1.5": { + "name": "Llama 3.3 Nemotron Super 49B V1.5", + "release_date": "2025-10-10", + "last_updated": "2025-10-10", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, + "nvidia/nemotron-3-nano-30b-a3b": { + "name": "Nemotron 3 Nano 30B A3B", + "release_date": "2025-12-14", + "last_updated": "2025-12-14", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 228000, + "text_inputs": True, + "image_inputs": False, + "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, "attachment": False, @@ -1901,7 +3713,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "nvidia/nemotron-3-nano-30b-a3b:free": { "name": "Nemotron 3 Nano 30B A3B (free)", "release_date": "2025-12-14", - "last_updated": "2026-01-31", + "last_updated": "2025-12-14", "open_weights": True, "max_input_tokens": 256000, "max_output_tokens": 256000, @@ -1915,7 +3727,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, - "structured_output": True, + "structured_output": False, "attachment": False, "temperature": True, }, @@ -1923,7 +3735,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "name": "Nemotron 3 Nano Omni (free)", "release_date": "2026-04-28", "last_updated": "2026-04-28", - "open_weights": True, + "open_weights": False, "max_input_tokens": 256000, "max_output_tokens": 65536, "text_inputs": True, @@ -1936,7 +3748,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, - "structured_output": True, + "structured_output": False, "attachment": True, "temperature": True, }, @@ -1957,6 +3769,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": False, "temperature": True, }, @@ -1977,36 +3790,38 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": False, "temperature": True, }, "nvidia/nemotron-nano-12b-v2-vl:free": { "name": "Nemotron Nano 12B 2 VL (free)", "release_date": "2025-10-28", - "last_updated": "2026-01-31", + "last_updated": "2025-10-28", "open_weights": True, "max_input_tokens": 128000, "max_output_tokens": 128000, "text_inputs": True, "image_inputs": True, "audio_inputs": False, - "video_inputs": False, + "video_inputs": True, "text_outputs": True, "image_outputs": False, "audio_outputs": False, "video_outputs": False, "reasoning_output": True, "tool_calling": True, - "attachment": False, + "structured_output": False, + "attachment": True, "temperature": True, }, "nvidia/nemotron-nano-9b-v2": { - "name": "nvidia-nemotron-nano-9b-v2", - "release_date": "2025-08-18", - "last_updated": "2025-08-18", + "name": "Nemotron Nano 9B V2", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "open_weights": True, "max_input_tokens": 131072, - "max_output_tokens": 131072, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -2017,13 +3832,14 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": False, "temperature": True, }, "nvidia/nemotron-nano-9b-v2:free": { "name": "Nemotron Nano 9B V2 (free)", "release_date": "2025-09-05", - "last_updated": "2025-08-18", + "last_updated": "2025-09-05", "open_weights": True, "max_input_tokens": 128000, "max_output_tokens": 128000, @@ -2041,6 +3857,195 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, + "openai/gpt-3.5-turbo": { + "name": "GPT-3.5 Turbo", + "release_date": "2023-05-28", + "last_updated": "2023-05-28", + "open_weights": False, + "max_input_tokens": 16385, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "openai/gpt-3.5-turbo-0613": { + "name": "GPT-3.5 Turbo (older v0613)", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "open_weights": False, + "max_input_tokens": 4095, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "openai/gpt-3.5-turbo-16k": { + "name": "GPT-3.5 Turbo 16k", + "release_date": "2023-08-28", + "last_updated": "2023-08-28", + "open_weights": False, + "max_input_tokens": 16385, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "openai/gpt-3.5-turbo-instruct": { + "name": "GPT-3.5 Turbo Instruct", + "release_date": "2023-09-28", + "last_updated": "2023-09-28", + "open_weights": False, + "max_input_tokens": 4095, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "openai/gpt-4": { + "name": "GPT-4", + "release_date": "2023-05-28", + "last_updated": "2023-05-28", + "open_weights": False, + "max_input_tokens": 8191, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "openai/gpt-4-0314": { + "name": "GPT-4 (older v0314)", + "release_date": "2023-05-28", + "last_updated": "2023-05-28", + "open_weights": False, + "max_input_tokens": 8191, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "openai/gpt-4-1106-preview": { + "name": "GPT-4 Turbo (older v1106)", + "release_date": "2023-11-06", + "last_updated": "2023-11-06", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "openai/gpt-4-turbo": { + "name": "GPT-4 Turbo", + "release_date": "2024-04-09", + "last_updated": "2024-04-09", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "openai/gpt-4-turbo-preview": { + "name": "GPT-4 Turbo Preview", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, "openai/gpt-4.1": { "name": "GPT-4.1", "release_date": "2025-04-14", @@ -2051,6 +4056,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -2072,6 +4078,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -2083,6 +4090,137 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, + "openai/gpt-4.1-nano": { + "name": "GPT-4.1 Nano", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "open_weights": False, + "max_input_tokens": 1047576, + "max_output_tokens": 32768, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "openai/gpt-4o": { + "name": "GPT-4o", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "openai/gpt-4o-2024-05-13": { + "name": "GPT-4o (2024-05-13)", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "openai/gpt-4o-2024-08-06": { + "name": "GPT-4o (2024-08-06)", + "release_date": "2024-08-06", + "last_updated": "2024-08-06", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "openai/gpt-4o-2024-11-20": { + "name": "GPT-4o (2024-11-20)", + "release_date": "2024-11-20", + "last_updated": "2024-11-20", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "openai/gpt-4o-audio-preview": { + "name": "GPT-4o Audio", + "release_date": "2025-08-15", + "last_updated": "2025-08-15", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": True, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, "openai/gpt-4o-mini": { "name": "GPT-4o-mini", "release_date": "2024-07-18", @@ -2093,6 +4231,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -2104,6 +4243,70 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, + "openai/gpt-4o-mini-2024-07-18": { + "name": "GPT-4o-mini (2024-07-18)", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "openai/gpt-4o-mini-search-preview": { + "name": "GPT-4o-mini Search Preview", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": False, + }, + "openai/gpt-4o-search-preview": { + "name": "GPT-4o Search Preview", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": False, + }, "openai/gpt-5": { "name": "GPT-5", "release_date": "2025-08-07", @@ -2114,6 +4317,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -2123,33 +4327,34 @@ _PROFILES: dict[str, dict[str, Any]] = { "tool_calling": True, "structured_output": True, "attachment": True, - "temperature": True, + "temperature": False, }, "openai/gpt-5-chat": { - "name": "GPT-5 Chat (latest)", + "name": "GPT-5 Chat", "release_date": "2025-08-07", "last_updated": "2025-08-07", "open_weights": False, - "max_input_tokens": 400000, - "max_output_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 16384, "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, + "reasoning_output": False, "tool_calling": False, "structured_output": True, "attachment": True, - "temperature": True, + "temperature": False, }, "openai/gpt-5-codex": { "name": "GPT-5 Codex", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "open_weights": False, "max_input_tokens": 400000, "max_output_tokens": 128000, @@ -2165,7 +4370,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "tool_calling": True, "structured_output": True, "attachment": True, - "temperature": True, + "temperature": False, }, "openai/gpt-5-image": { "name": "GPT-5 Image", @@ -2184,7 +4389,29 @@ _PROFILES: dict[str, dict[str, Any]] = { "audio_outputs": False, "video_outputs": False, "reasoning_output": True, - "tool_calling": True, + "tool_calling": False, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "openai/gpt-5-image-mini": { + "name": "GPT-5 Image Mini", + "release_date": "2025-10-16", + "last_updated": "2025-10-16", + "open_weights": False, + "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": True, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, "structured_output": True, "attachment": True, "temperature": True, @@ -2199,6 +4426,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -2208,7 +4436,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "tool_calling": True, "structured_output": True, "attachment": True, - "temperature": True, + "temperature": False, }, "openai/gpt-5-nano": { "name": "GPT-5 Nano", @@ -2220,6 +4448,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -2229,7 +4458,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "tool_calling": True, "structured_output": True, "attachment": True, - "temperature": True, + "temperature": False, }, "openai/gpt-5-pro": { "name": "GPT-5 Pro", @@ -2237,10 +4466,11 @@ _PROFILES: dict[str, dict[str, Any]] = { "last_updated": "2025-10-06", "open_weights": False, "max_input_tokens": 400000, - "max_output_tokens": 272000, + "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, @@ -2262,6 +4492,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -2271,7 +4502,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "tool_calling": True, "structured_output": True, "attachment": True, - "temperature": True, + "temperature": False, }, "openai/gpt-5.1-chat": { "name": "GPT-5.1 Chat", @@ -2283,16 +4514,17 @@ _PROFILES: dict[str, dict[str, Any]] = { "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, + "reasoning_output": False, "tool_calling": True, "structured_output": True, "attachment": True, - "temperature": True, + "temperature": False, }, "openai/gpt-5.1-codex": { "name": "GPT-5.1-Codex", @@ -2313,54 +4545,12 @@ _PROFILES: dict[str, dict[str, Any]] = { "tool_calling": True, "structured_output": True, "attachment": True, - "temperature": True, + "temperature": False, }, "openai/gpt-5.1-codex-max": { "name": "GPT-5.1-Codex-Max", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "open_weights": False, - "max_input_tokens": 400000, - "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, - "attachment": True, - "temperature": True, - }, - "openai/gpt-5.1-codex-mini": { - "name": "GPT-5.1-Codex-Mini", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "open_weights": False, - "max_input_tokens": 400000, - "max_output_tokens": 100000, - "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, - "attachment": True, - "temperature": True, - }, - "openai/gpt-5.2": { - "name": "GPT-5.2", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2025-12-04", + "last_updated": "2025-12-04", "open_weights": False, "max_input_tokens": 400000, "max_output_tokens": 128000, @@ -2378,13 +4568,13 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": False, }, - "openai/gpt-5.2-chat": { - "name": "GPT-5.2 Chat", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "openai/gpt-5.1-codex-mini": { + "name": "GPT-5.1-Codex-Mini", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "open_weights": False, - "max_input_tokens": 128000, - "max_output_tokens": 16384, + "max_input_tokens": 400000, + "max_output_tokens": 128000, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -2399,6 +4589,50 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": False, }, + "openai/gpt-5.2": { + "name": "GPT-5.2", + "release_date": "2025-12-10", + "last_updated": "2025-12-10", + "open_weights": False, + "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, + "attachment": True, + "temperature": False, + }, + "openai/gpt-5.2-chat": { + "name": "GPT-5.2 Chat", + "release_date": "2025-12-10", + "last_updated": "2025-12-10", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 32000, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": False, + }, "openai/gpt-5.2-codex": { "name": "GPT-5.2-Codex", "release_date": "2026-01-14", @@ -2418,18 +4652,19 @@ _PROFILES: dict[str, dict[str, Any]] = { "tool_calling": True, "structured_output": True, "attachment": True, - "temperature": True, + "temperature": False, }, "openai/gpt-5.2-pro": { "name": "GPT-5.2 Pro", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2025-12-10", + "last_updated": "2025-12-10", "open_weights": False, "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, @@ -2441,6 +4676,28 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": False, }, + "openai/gpt-5.3-chat": { + "name": "GPT-5.3 Chat", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": False, + }, "openai/gpt-5.3-codex": { "name": "GPT-5.3-Codex", "release_date": "2026-02-24", @@ -2485,6 +4742,28 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": False, }, + "openai/gpt-5.4-image-2": { + "name": "GPT-5.4 Image 2", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "open_weights": False, + "max_input_tokens": 272000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": True, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": True, + "attachment": True, + "temperature": False, + }, "openai/gpt-5.4-mini": { "name": "GPT-5.4 Mini", "release_date": "2026-03-17", @@ -2505,7 +4784,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "tool_calling": True, "structured_output": True, "attachment": True, - "temperature": True, + "temperature": False, }, "openai/gpt-5.4-nano": { "name": "GPT-5.4 Nano", @@ -2523,11 +4802,11 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_outputs": False, "audio_outputs": False, "video_outputs": False, - "reasoning_output": False, + "reasoning_output": True, "tool_calling": True, "structured_output": True, "attachment": True, - "temperature": True, + "temperature": False, }, "openai/gpt-5.4-pro": { "name": "GPT-5.4 Pro", @@ -2547,14 +4826,14 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, - "structured_output": False, + "structured_output": True, "attachment": True, "temperature": False, }, "openai/gpt-5.5": { "name": "GPT-5.5", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "open_weights": False, "max_input_tokens": 1050000, "max_output_tokens": 128000, @@ -2575,8 +4854,8 @@ _PROFILES: dict[str, dict[str, Any]] = { }, "openai/gpt-5.5-pro": { "name": "GPT-5.5 Pro", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "open_weights": False, "max_input_tokens": 1050000, "max_output_tokens": 128000, @@ -2595,29 +4874,72 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": False, }, - "openai/gpt-oss-120b": { - "name": "GPT OSS 120B", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "open_weights": True, - "max_input_tokens": 131072, - "max_output_tokens": 32768, + "openai/gpt-audio": { + "name": "GPT Audio", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": False, + "audio_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": True, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "openai/gpt-audio-mini": { + "name": "GPT Audio Mini", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": True, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "openai/gpt-chat-latest": { + "name": "GPT Chat Latest", + "release_date": "2026-05-05", + "last_updated": "2026-05-05", + "open_weights": False, + "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, + "reasoning_output": False, "tool_calling": True, "structured_output": True, - "attachment": False, - "temperature": True, + "attachment": True, + "temperature": False, }, - "openai/gpt-oss-120b:exacto": { - "name": "GPT OSS 120B (exacto)", + "openai/gpt-oss-120b": { + "name": "gpt-oss-120b", "release_date": "2025-08-05", "last_updated": "2025-08-05", "open_weights": True, @@ -2643,7 +4965,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "last_updated": "2025-08-05", "open_weights": True, "max_input_tokens": 131072, - "max_output_tokens": 32768, + "max_output_tokens": 131072, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -2654,16 +4976,17 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": False, "attachment": False, "temperature": True, }, "openai/gpt-oss-20b": { - "name": "GPT OSS 20B", + "name": "gpt-oss-20b", "release_date": "2025-08-05", "last_updated": "2025-08-05", "open_weights": True, "max_input_tokens": 131072, - "max_output_tokens": 32768, + "max_output_tokens": 131072, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -2681,10 +5004,10 @@ _PROFILES: dict[str, dict[str, Any]] = { "openai/gpt-oss-20b:free": { "name": "gpt-oss-20b (free)", "release_date": "2025-08-05", - "last_updated": "2026-01-31", + "last_updated": "2025-08-05", "open_weights": True, "max_input_tokens": 131072, - "max_output_tokens": 32768, + "max_output_tokens": 8192, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -2695,14 +5018,15 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": False, "attachment": False, "temperature": True, }, "openai/gpt-oss-safeguard-20b": { - "name": "GPT OSS Safeguard 20B", + "name": "gpt-oss-safeguard-20b", "release_date": "2025-10-29", "last_updated": "2025-10-29", - "open_weights": False, + "open_weights": True, "max_input_tokens": 131072, "max_output_tokens": 65536, "text_inputs": True, @@ -2715,11 +5039,56 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": False, "temperature": True, }, - "openai/o4-mini": { - "name": "o4 Mini", + "openai/o1": { + "name": "o1", + "release_date": "2024-12-17", + "last_updated": "2024-12-17", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 100000, + "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, + "attachment": True, + "temperature": False, + }, + "openai/o1-pro": { + "name": "o1-pro", + "release_date": "2025-03-19", + "last_updated": "2025-03-19", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 100000, + "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": False, + "structured_output": True, + "attachment": True, + "temperature": False, + }, + "openai/o3": { + "name": "o3", "release_date": "2025-04-16", "last_updated": "2025-04-16", "open_weights": False, @@ -2728,6 +5097,29 @@ _PROFILES: dict[str, dict[str, Any]] = { "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, + "attachment": True, + "temperature": False, + }, + "openai/o3-deep-research": { + "name": "o3 Deep Research", + "release_date": "2025-10-10", + "last_updated": "2025-10-10", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 100000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -2739,16 +5131,17 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, - "openrouter/elephant-alpha": { - "name": "Elephant (free)", - "release_date": "2026-04-13", - "last_updated": "2026-04-13", + "openai/o3-mini": { + "name": "o3 Mini", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", "open_weights": False, - "max_input_tokens": 262144, - "max_output_tokens": 32768, + "max_input_tokens": 200000, + "max_output_tokens": 100000, "text_inputs": True, "image_inputs": False, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -2757,9 +5150,162 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, "structured_output": True, - "attachment": False, + "attachment": True, + "temperature": False, + }, + "openai/o3-mini-high": { + "name": "o3 Mini High", + "release_date": "2025-02-12", + "last_updated": "2025-02-12", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 100000, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": True, + "temperature": False, + }, + "openai/o3-pro": { + "name": "o3 Pro", + "release_date": "2025-06-10", + "last_updated": "2025-06-10", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 100000, + "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, + "attachment": True, + "temperature": False, + }, + "openai/o4-mini": { + "name": "o4 Mini", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 100000, + "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, + "attachment": True, + "temperature": False, + }, + "openai/o4-mini-deep-research": { + "name": "o4 Mini Deep Research", + "release_date": "2025-10-10", + "last_updated": "2025-10-10", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 100000, + "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, + "attachment": True, "temperature": True, }, + "openai/o4-mini-high": { + "name": "o4 Mini High", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 100000, + "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, + "attachment": True, + "temperature": False, + }, + "openrouter/auto": { + "name": "Auto Router", + "release_date": "2023-11-08", + "last_updated": "2023-11-08", + "open_weights": False, + "max_input_tokens": 2000000, + "max_output_tokens": 2000000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": True, + "pdf_inputs": True, + "video_inputs": True, + "text_outputs": True, + "image_outputs": True, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "openrouter/bodybuilder": { + "name": "Body Builder (beta)", + "release_date": "2025-12-05", + "last_updated": "2025-12-05", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": False, + }, "openrouter/free": { "name": "Free Models Router", "release_date": "2026-02-01", @@ -2785,7 +5331,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "name": "Owl Alpha", "status": "alpha", "release_date": "2026-04-28", - "last_updated": "2026-04-30", + "last_updated": "2026-04-28", "open_weights": False, "max_input_tokens": 1048756, "max_output_tokens": 262144, @@ -2797,7 +5343,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_outputs": False, "audio_outputs": False, "video_outputs": False, - "reasoning_output": True, + "reasoning_output": False, "tool_calling": True, "structured_output": True, "attachment": False, @@ -2808,7 +5354,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2026-04-21", "last_updated": "2026-04-21", "open_weights": False, - "max_input_tokens": 200000, + "max_input_tokens": 2000000, "max_output_tokens": 200000, "text_inputs": True, "image_inputs": False, @@ -2818,14 +5364,140 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_outputs": False, "audio_outputs": False, "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": False, + }, + "perceptron/perceptron-mk1": { + "name": "Perceptron Mk1", + "release_date": "2026-05-12", + "last_updated": "2026-05-12", + "open_weights": False, + "max_input_tokens": 32768, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, "reasoning_output": True, - "tool_calling": True, + "tool_calling": False, "structured_output": True, "attachment": True, "temperature": True, }, + "perplexity/sonar": { + "name": "Sonar", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", + "open_weights": False, + "max_input_tokens": 127072, + "max_output_tokens": 127072, + "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": False, + "tool_calling": False, + "structured_output": False, + "attachment": True, + "temperature": True, + }, + "perplexity/sonar-deep-research": { + "name": "Sonar Deep Research", + "release_date": "2025-03-07", + "last_updated": "2025-03-07", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "perplexity/sonar-pro": { + "name": "Sonar Pro", + "release_date": "2025-03-07", + "last_updated": "2025-03-07", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 8000, + "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": False, + "tool_calling": False, + "structured_output": False, + "attachment": True, + "temperature": True, + }, + "perplexity/sonar-pro-search": { + "name": "Sonar Pro Search", + "release_date": "2025-10-30", + "last_updated": "2025-10-30", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 8000, + "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": False, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "perplexity/sonar-reasoning-pro": { + "name": "Sonar Reasoning Pro", + "release_date": "2025-03-07", + "last_updated": "2025-03-07", + "open_weights": False, + "max_input_tokens": 128000, + "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": False, + "structured_output": False, + "attachment": True, + "temperature": True, + }, "poolside/laguna-m.1:free": { - "name": "Laguna M.1", + "name": "Laguna M.1 (free)", "release_date": "2026-04-28", "last_updated": "2026-04-28", "open_weights": False, @@ -2841,11 +5513,12 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": False, "attachment": False, "temperature": True, }, "poolside/laguna-xs.2:free": { - "name": "Laguna XS.2", + "name": "Laguna XS.2 (free)", "release_date": "2026-04-28", "last_updated": "2026-04-28", "open_weights": True, @@ -2861,16 +5534,17 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": False, "attachment": False, "temperature": True, }, "prime-intellect/intellect-3": { - "name": "Intellect 3", - "release_date": "2025-01-15", - "last_updated": "2025-01-15", + "name": "INTELLECT-3", + "release_date": "2025-11-27", + "last_updated": "2025-11-27", "open_weights": True, "max_input_tokens": 131072, - "max_output_tokens": 8192, + "max_output_tokens": 131072, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -2885,6 +5559,48 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, + "qwen/qwen-2.5-72b-instruct": { + "name": "Qwen2.5 72B Instruct", + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "open_weights": True, + "max_input_tokens": 32768, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "qwen/qwen-2.5-7b-instruct": { + "name": "Qwen2.5 7B Instruct", + "release_date": "2024-10-16", + "last_updated": "2024-10-16", + "open_weights": True, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, "qwen/qwen-2.5-coder-32b-instruct": { "name": "Qwen2.5 Coder 32B Instruct", "release_date": "2024-11-11", @@ -2902,35 +5618,14 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": False, - "structured_output": True, + "structured_output": False, "attachment": False, "temperature": True, }, - "qwen/qwen-3.6-27b": { - "name": "Qwen3.6 27B", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", - "open_weights": True, - "max_input_tokens": 262144, - "max_output_tokens": 81920, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": True, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - "structured_output": True, - "attachment": True, - "temperature": True, - }, "qwen/qwen-plus": { - "name": "Qwen: Qwen-Plus", - "release_date": "2025-01-25", - "last_updated": "2025-01-25", + "name": "Qwen-Plus", + "release_date": "2025-02-01", + "last_updated": "2025-02-01", "open_weights": False, "max_input_tokens": 1000000, "max_output_tokens": 32768, @@ -2944,7 +5639,49 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, - "structured_output": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "qwen/qwen-plus-2025-07-28": { + "name": "Qwen Plus 0728", + "release_date": "2025-09-08", + "last_updated": "2025-09-08", + "open_weights": False, + "max_input_tokens": 1000000, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "qwen/qwen-plus-2025-07-28:thinking": { + "name": "Qwen Plus 0728 (thinking)", + "release_date": "2025-09-08", + "last_updated": "2025-09-08", + "open_weights": False, + "max_input_tokens": 1000000, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "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, "attachment": False, "temperature": True, }, @@ -2953,7 +5690,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2025-02-01", "last_updated": "2025-02-01", "open_weights": True, - "max_input_tokens": 32768, + "max_input_tokens": 32000, "max_output_tokens": 8192, "text_inputs": True, "image_inputs": True, @@ -2969,13 +5706,55 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, - "qwen/qwen3-235b-a22b-07-25": { - "name": "Qwen3 235B A22B Instruct 2507", + "qwen/qwen3-14b": { + "name": "Qwen3 14B", "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "open_weights": True, + "max_input_tokens": 40960, + "max_output_tokens": 40960, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, + "qwen/qwen3-235b-a22b": { + "name": "Qwen3 235B A22B", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, + "qwen/qwen3-235b-a22b-2507": { + "name": "Qwen3 235B A22B Instruct 2507", + "release_date": "2025-07-21", "last_updated": "2025-07-21", "open_weights": True, "max_input_tokens": 262144, - "max_output_tokens": 131072, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -2995,7 +5774,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2025-07-25", "last_updated": "2025-07-25", "open_weights": True, - "max_input_tokens": 262144, + "max_input_tokens": 131072, "max_output_tokens": 81920, "text_inputs": True, "image_inputs": False, @@ -3011,13 +5790,34 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, + "qwen/qwen3-30b-a3b": { + "name": "Qwen3 30B A3B", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "open_weights": True, + "max_input_tokens": 40960, + "max_output_tokens": 20000, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, "qwen/qwen3-30b-a3b-instruct-2507": { "name": "Qwen3 30B A3B Instruct 2507", "release_date": "2025-07-29", "last_updated": "2025-07-29", "open_weights": True, - "max_input_tokens": 262000, - "max_output_tokens": 262000, + "max_input_tokens": 262144, + "max_output_tokens": 262144, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -3034,11 +5834,53 @@ _PROFILES: dict[str, dict[str, Any]] = { }, "qwen/qwen3-30b-a3b-thinking-2507": { "name": "Qwen3 30B A3B Thinking 2507", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", "open_weights": True, - "max_input_tokens": 262000, - "max_output_tokens": 262000, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, + "qwen/qwen3-32b": { + "name": "Qwen3 32B", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "open_weights": True, + "max_input_tokens": 40960, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, + "qwen/qwen3-8b": { + "name": "Qwen3 8B", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "open_weights": True, + "max_input_tokens": 40960, + "max_output_tokens": 8192, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -3054,12 +5896,12 @@ _PROFILES: dict[str, dict[str, Any]] = { "temperature": True, }, "qwen/qwen3-coder": { - "name": "Qwen3 Coder", + "name": "Qwen3 Coder 480B A35B", "release_date": "2025-07-23", "last_updated": "2025-07-23", "open_weights": True, "max_input_tokens": 262144, - "max_output_tokens": 66536, + "max_output_tokens": 65536, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -3080,7 +5922,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "last_updated": "2025-07-31", "open_weights": True, "max_input_tokens": 160000, - "max_output_tokens": 65536, + "max_output_tokens": 32768, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -3097,30 +5939,9 @@ _PROFILES: dict[str, dict[str, Any]] = { }, "qwen/qwen3-coder-flash": { "name": "Qwen3 Coder Flash", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "release_date": "2025-09-17", + "last_updated": "2025-09-17", "open_weights": False, - "max_input_tokens": 128000, - "max_output_tokens": 66536, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - "structured_output": False, - "attachment": False, - "temperature": True, - }, - "qwen/qwen3-coder-plus": { - "name": "Qwen3 Coder Plus", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "open_weights": True, "max_input_tokens": 1000000, "max_output_tokens": 65536, "text_inputs": True, @@ -3137,12 +5958,75 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, - "qwen/qwen3-coder:exacto": { - "name": "Qwen3 Coder (exacto)", + "qwen/qwen3-coder-next": { + "name": "Qwen3 Coder Next", + "release_date": "2026-02-04", + "last_updated": "2026-02-04", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "qwen/qwen3-coder-plus": { + "name": "Qwen3 Coder Plus", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "open_weights": False, + "max_input_tokens": 1000000, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "qwen/qwen3-coder:free": { + "name": "Qwen3 Coder 480B A35B (free)", "release_date": "2025-07-23", "last_updated": "2025-07-23", "open_weights": True, - "max_input_tokens": 131072, + "max_input_tokens": 262000, + "max_output_tokens": 262000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "qwen/qwen3-max": { + "name": "Qwen3 Max", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "open_weights": False, + "max_input_tokens": 262144, "max_output_tokens": 32768, "text_inputs": True, "image_inputs": False, @@ -3158,10 +6042,10 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, - "qwen/qwen3-max": { - "name": "Qwen3 Max", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "qwen/qwen3-max-thinking": { + "name": "Qwen3 Max Thinking", + "release_date": "2026-02-09", + "last_updated": "2026-02-09", "open_weights": False, "max_input_tokens": 262144, "max_output_tokens": 32768, @@ -3175,6 +6059,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": False, "temperature": True, }, @@ -3184,6 +6069,27 @@ _PROFILES: dict[str, dict[str, Any]] = { "last_updated": "2025-09-11", "open_weights": True, "max_input_tokens": 262144, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "qwen/qwen3-next-80b-a3b-instruct:free": { + "name": "Qwen3 Next 80B A3B Instruct (free)", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", + "open_weights": True, + "max_input_tokens": 262144, "max_output_tokens": 262144, "text_inputs": True, "image_inputs": False, @@ -3204,8 +6110,8 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2025-09-11", "last_updated": "2025-09-11", "open_weights": True, - "max_input_tokens": 262144, - "max_output_tokens": 262144, + "max_input_tokens": 131072, + "max_output_tokens": 32768, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -3220,6 +6126,216 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, + "qwen/qwen3-vl-235b-a22b-instruct": { + "name": "Qwen3 VL 235B A22B Instruct", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 16384, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3-vl-235b-a22b-thinking": { + "name": "Qwen3 VL 235B A22B Thinking", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "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, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3-vl-30b-a3b-instruct": { + "name": "Qwen3 VL 30B A3B Instruct", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3-vl-30b-a3b-thinking": { + "name": "Qwen3 VL 30B A3B Thinking", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "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, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3-vl-32b-instruct": { + "name": "Qwen3 VL 32B Instruct", + "release_date": "2025-10-23", + "last_updated": "2025-10-23", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3-vl-8b-instruct": { + "name": "Qwen3 VL 8B Instruct", + "release_date": "2025-10-14", + "last_updated": "2025-10-14", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "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": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3-vl-8b-thinking": { + "name": "Qwen3 VL 8B Thinking", + "release_date": "2025-10-14", + "last_updated": "2025-10-14", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "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, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3.5-122b-a10b": { + "name": "Qwen3.5-122B-A10B", + "release_date": "2026-02-25", + "last_updated": "2026-02-25", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3.5-27b": { + "name": "Qwen3.5-27B", + "release_date": "2026-02-25", + "last_updated": "2026-02-25", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3.5-35b-a3b": { + "name": "Qwen3.5-35B-A3B", + "release_date": "2026-02-25", + "last_updated": "2026-02-25", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 81920, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, "qwen/qwen3.5-397b-a17b": { "name": "Qwen3.5 397B A17B", "release_date": "2026-02-16", @@ -3241,8 +6357,29 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, + "qwen/qwen3.5-9b": { + "name": "Qwen3.5-9B", + "release_date": "2026-03-10", + "last_updated": "2026-03-10", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 81920, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, "qwen/qwen3.5-flash-02-23": { - "name": "Qwen: Qwen3.5-Flash", + "name": "Qwen3.5-Flash", "release_date": "2026-02-25", "last_updated": "2026-02-25", "open_weights": False, @@ -3283,6 +6420,111 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, + "qwen/qwen3.5-plus-20260420": { + "name": "Qwen3.5 Plus 2026-04-20", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": False, + "max_input_tokens": 1000000, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3.6-27b": { + "name": "Qwen3.6 27B", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 81920, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3.6-35b-a3b": { + "name": "Qwen3.6 35B A3B", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": True, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3.6-flash": { + "name": "Qwen3.6 Flash", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": False, + "max_input_tokens": 1000000, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "qwen/qwen3.6-max-preview": { + "name": "Qwen3.6 Max Preview", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": False, + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, "qwen/qwen3.6-plus": { "name": "Qwen3.6 Plus", "release_date": "2026-04-02", @@ -3304,63 +6546,192 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, - "sourceful/riverflow-v2-fast-preview": { - "name": "Riverflow V2 Fast Preview", - "release_date": "2025-12-08", - "last_updated": "2026-01-28", + "rekaai/reka-edge": { + "name": "Reka Edge", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", "open_weights": True, - "max_input_tokens": 8192, - "max_output_tokens": 8192, + "max_input_tokens": 16384, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": True, "audio_inputs": False, - "video_inputs": False, - "text_outputs": False, - "image_outputs": True, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, "audio_outputs": False, "video_outputs": False, "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "rekaai/reka-flash-3": { + "name": "Reka Flash 3", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "open_weights": True, + "max_input_tokens": 65536, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, "tool_calling": False, + "structured_output": False, "attachment": False, "temperature": True, }, - "sourceful/riverflow-v2-max-preview": { - "name": "Riverflow V2 Max Preview", - "release_date": "2025-12-08", - "last_updated": "2026-01-28", - "open_weights": True, - "max_input_tokens": 8192, - "max_output_tokens": 8192, + "relace/relace-apply-3": { + "name": "Relace Apply 3", + "release_date": "2025-09-26", + "last_updated": "2025-09-26", + "open_weights": False, + "max_input_tokens": 256000, + "max_output_tokens": 128000, "text_inputs": True, - "image_inputs": True, + "image_inputs": False, "audio_inputs": False, "video_inputs": False, - "text_outputs": False, - "image_outputs": True, + "text_outputs": True, + "image_outputs": False, "audio_outputs": False, "video_outputs": False, "reasoning_output": False, "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": False, + }, + "relace/relace-search": { + "name": "Relace Search", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "open_weights": False, + "max_input_tokens": 256000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": False, "attachment": False, "temperature": True, }, - "sourceful/riverflow-v2-standard-preview": { - "name": "Riverflow V2 Standard Preview", - "release_date": "2025-12-08", - "last_updated": "2026-01-28", + "sao10k/l3-euryale-70b": { + "name": "Llama 3 Euryale 70B v2.1", + "release_date": "2024-06-18", + "last_updated": "2024-06-18", "open_weights": True, "max_input_tokens": 8192, "max_output_tokens": 8192, "text_inputs": True, - "image_inputs": True, + "image_inputs": False, "audio_inputs": False, "video_inputs": False, - "text_outputs": False, - "image_outputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "sao10k/l3-lunaris-8b": { + "name": "Llama 3 8B Lunaris", + "release_date": "2024-08-13", + "last_updated": "2024-08-13", + "open_weights": True, + "max_input_tokens": 8192, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, "audio_outputs": False, "video_outputs": False, "reasoning_output": False, "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "sao10k/l3.1-70b-hanami-x1": { + "name": "Llama 3.1 70B Hanami x1", + "release_date": "2025-01-08", + "last_updated": "2025-01-08", + "open_weights": True, + "max_input_tokens": 16000, + "max_output_tokens": 16000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "sao10k/l3.1-euryale-70b": { + "name": "Llama 3.1 Euryale 70B v2.2", + "release_date": "2024-08-28", + "last_updated": "2024-08-28", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "sao10k/l3.3-euryale-70b": { + "name": "Llama 3.3 Euryale 70B", + "release_date": "2024-12-18", + "last_updated": "2024-12-18", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, "attachment": False, "temperature": True, }, @@ -3369,8 +6740,8 @@ _PROFILES: dict[str, dict[str, Any]] = { "release_date": "2026-01-29", "last_updated": "2026-01-29", "open_weights": True, - "max_input_tokens": 256000, - "max_output_tokens": 256000, + "max_input_tokens": 262144, + "max_output_tokens": 65536, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -3381,16 +6752,59 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "switchpoint/router": { + "name": "Switchpoint Router", + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "open_weights": False, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "tencent/hunyuan-a13b-instruct": { + "name": "Hunyuan A13B Instruct", + "release_date": "2025-07-08", + "last_updated": "2025-07-08", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + "structured_output": True, "attachment": False, "temperature": True, }, "tencent/hy3-preview": { "name": "Hy3 preview", - "release_date": "2026-04-20", - "last_updated": "2026-04-20", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "open_weights": True, - "max_input_tokens": 256000, - "max_output_tokens": 64000, + "max_input_tokens": 262144, + "max_output_tokens": 262144, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -3401,13 +6815,161 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "thedrummer/cydonia-24b-v4.1": { + "name": "Cydonia 24B V4.1", + "release_date": "2025-09-27", + "last_updated": "2025-09-27", + "open_weights": True, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "thedrummer/rocinante-12b": { + "name": "Rocinante 12B", + "release_date": "2024-09-30", + "last_updated": "2024-09-30", + "open_weights": True, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "thedrummer/skyfall-36b-v2": { + "name": "Skyfall 36B V2", + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "open_weights": True, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "thedrummer/unslopnemo-12b": { + "name": "UnslopNemo 12B", + "release_date": "2024-11-08", + "last_updated": "2024-11-08", + "open_weights": True, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "undi95/remm-slerp-l2-13b": { + "name": "ReMM SLERP 13B", + "release_date": "2023-07-22", + "last_updated": "2023-07-22", + "open_weights": True, + "max_input_tokens": 6144, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "upstage/solar-pro-3": { + "name": "Solar Pro 3", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, + "writer/palmyra-x5": { + "name": "Palmyra X5", + "release_date": "2026-01-21", + "last_updated": "2026-01-21", + "open_weights": False, + "max_input_tokens": 1040000, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "structured_output": False, "attachment": False, "temperature": True, }, "x-ai/grok-3": { "name": "Grok 3", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", + "release_date": "2025-06-10", + "last_updated": "2025-06-10", "open_weights": False, "max_input_tokens": 131072, "max_output_tokens": 8192, @@ -3427,8 +6989,8 @@ _PROFILES: dict[str, dict[str, Any]] = { }, "x-ai/grok-3-beta": { "name": "Grok 3 Beta", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", + "release_date": "2025-04-09", + "last_updated": "2025-04-09", "open_weights": False, "max_input_tokens": 131072, "max_output_tokens": 8192, @@ -3442,13 +7004,14 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, "attachment": False, "temperature": True, }, "x-ai/grok-3-mini": { "name": "Grok 3 Mini", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", + "release_date": "2025-06-10", + "last_updated": "2025-06-10", "open_weights": False, "max_input_tokens": 131072, "max_output_tokens": 8192, @@ -3468,8 +7031,8 @@ _PROFILES: dict[str, dict[str, Any]] = { }, "x-ai/grok-3-mini-beta": { "name": "Grok 3 Mini Beta", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", + "release_date": "2025-04-09", + "last_updated": "2025-04-09", "open_weights": False, "max_input_tokens": 131072, "max_output_tokens": 8192, @@ -3483,6 +7046,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": False, "temperature": True, }, @@ -3494,8 +7058,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "max_input_tokens": 256000, "max_output_tokens": 64000, "text_inputs": True, - "image_inputs": False, + "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -3504,19 +7069,20 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, "structured_output": True, - "attachment": False, + "attachment": True, "temperature": True, }, "x-ai/grok-4-fast": { "name": "Grok 4 Fast", - "release_date": "2025-08-19", - "last_updated": "2025-08-19", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", "open_weights": False, "max_input_tokens": 2000000, "max_output_tokens": 30000, "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -3525,7 +7091,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, "structured_output": True, - "attachment": False, + "attachment": True, "temperature": True, }, "x-ai/grok-4.1-fast": { @@ -3538,6 +7104,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -3546,20 +7113,20 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, "structured_output": True, - "attachment": False, + "attachment": True, "temperature": True, }, - "x-ai/grok-4.20-beta": { - "name": "Grok 4.20 Beta", - "status": "beta", - "release_date": "2026-03-12", - "last_updated": "2026-03-12", + "x-ai/grok-4.20": { + "name": "Grok 4.20", + "release_date": "2026-03-31", + "last_updated": "2026-03-31", "open_weights": False, "max_input_tokens": 2000000, - "max_output_tokens": 30000, + "max_output_tokens": 2000000, "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -3567,20 +7134,21 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": True, "temperature": True, }, - "x-ai/grok-4.20-multi-agent-beta": { - "name": "Grok 4.20 Multi - Agent Beta", - "status": "beta", - "release_date": "2026-03-12", - "last_updated": "2026-03-12", + "x-ai/grok-4.20-multi-agent": { + "name": "Grok 4.20 Multi-Agent", + "release_date": "2026-03-31", + "last_updated": "2026-03-31", "open_weights": False, "max_input_tokens": 2000000, - "max_output_tokens": 30000, + "max_output_tokens": 2000000, "text_inputs": True, "image_inputs": True, "audio_inputs": False, + "pdf_inputs": True, "video_inputs": False, "text_outputs": True, "image_outputs": False, @@ -3588,13 +7156,14 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": False, + "structured_output": True, "attachment": True, "temperature": True, }, "x-ai/grok-4.3": { "name": "Grok 4.3", - "release_date": "2026-05-01", - "last_updated": "2026-05-01", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "open_weights": False, "max_input_tokens": 1000000, "max_output_tokens": 1000000, @@ -3634,9 +7203,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "temperature": True, }, "xiaomi/mimo-v2-flash": { - "name": "Xiaomi: MiMo-V2-Flash", - "release_date": "2025-12-16", - "last_updated": "2026-02-04", + "name": "MiMo-V2-Flash", + "release_date": "2025-12-14", + "last_updated": "2025-12-14", "open_weights": True, "max_input_tokens": 262144, "max_output_tokens": 65536, @@ -3650,20 +7219,20 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": False, "temperature": True, }, "xiaomi/mimo-v2-omni": { - "name": "Xiaomi: MiMo-V2-Omni", + "name": "MiMo-V2-Omni", "release_date": "2026-03-18", "last_updated": "2026-03-18", "open_weights": False, "max_input_tokens": 262144, - "max_output_tokens": 131072, + "max_output_tokens": 65536, "text_inputs": True, "image_inputs": True, "audio_inputs": True, - "pdf_inputs": True, "video_inputs": True, "text_outputs": True, "image_outputs": False, @@ -3671,11 +7240,12 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": True, "temperature": True, }, "xiaomi/mimo-v2-pro": { - "name": "Xiaomi: MiMo-V2-Pro", + "name": "MiMo-V2-Pro", "release_date": "2026-03-18", "last_updated": "2026-03-18", "open_weights": False, @@ -3691,11 +7261,12 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": False, "temperature": True, }, "xiaomi/mimo-v2.5": { - "name": "Xiaomi: MiMo-V2.5", + "name": "MiMo-V2.5", "release_date": "2026-04-22", "last_updated": "2026-04-22", "open_weights": True, @@ -3711,16 +7282,17 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, "attachment": True, "temperature": True, }, "xiaomi/mimo-v2.5-pro": { - "name": "Xiaomi: MiMo-V2.5-Pro", + "name": "MiMo-V2.5-Pro", "release_date": "2026-04-22", "last_updated": "2026-04-22", "open_weights": True, "max_input_tokens": 1048576, - "max_output_tokens": 131072, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -3731,16 +7303,38 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, + "attachment": False, + "temperature": True, + }, + "z-ai/glm-4-32b": { + "name": "GLM 4 32B ", + "release_date": "2025-07-24", + "last_updated": "2025-07-24", + "open_weights": False, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "structured_output": False, "attachment": False, "temperature": True, }, "z-ai/glm-4.5": { "name": "GLM 4.5", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", "open_weights": True, - "max_input_tokens": 128000, - "max_output_tokens": 96000, + "max_input_tokens": 131072, + "max_output_tokens": 98304, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -3757,10 +7351,31 @@ _PROFILES: dict[str, dict[str, Any]] = { }, "z-ai/glm-4.5-air": { "name": "GLM 4.5 Air", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", "open_weights": True, - "max_input_tokens": 128000, + "max_input_tokens": 131072, + "max_output_tokens": 98304, + "text_inputs": True, + "image_inputs": False, + "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, + "attachment": False, + "temperature": True, + }, + "z-ai/glm-4.5-air:free": { + "name": "GLM 4.5 Air (free)", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "open_weights": True, + "max_input_tokens": 131072, "max_output_tokens": 96000, "text_inputs": True, "image_inputs": False, @@ -3772,37 +7387,59 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": False, + "attachment": False, + "temperature": True, + }, + "z-ai/glm-4.5v": { + "name": "GLM 4.5V", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", + "open_weights": True, + "max_input_tokens": 65536, + "max_output_tokens": 16384, + "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, + "attachment": True, + "temperature": True, + }, + "z-ai/glm-4.6": { + "name": "GLM 4.6", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "open_weights": True, + "max_input_tokens": 202752, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "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, "attachment": False, "temperature": True, }, - "z-ai/glm-4.5-air:free": { - "name": "GLM 4.5 Air (free)", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "z-ai/glm-4.6v": { + "name": "GLM 4.6V", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "open_weights": True, - "max_input_tokens": 128000, - "max_output_tokens": 96000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": False, - "attachment": False, - "temperature": True, - }, - "z-ai/glm-4.5v": { - "name": "GLM 4.5V", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "open_weights": True, - "max_input_tokens": 64000, - "max_output_tokens": 16384, + "max_input_tokens": 131072, + "max_output_tokens": 24000, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -3813,58 +7450,16 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, - "structured_output": True, + "structured_output": False, "attachment": True, "temperature": True, }, - "z-ai/glm-4.6": { - "name": "GLM 4.6", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "open_weights": True, - "max_input_tokens": 200000, - "max_output_tokens": 128000, - "text_inputs": True, - "image_inputs": False, - "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, - "attachment": False, - "temperature": True, - }, - "z-ai/glm-4.6:exacto": { - "name": "GLM 4.6 (exacto)", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "open_weights": True, - "max_input_tokens": 200000, - "max_output_tokens": 128000, - "text_inputs": True, - "image_inputs": False, - "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, - "attachment": False, - "temperature": True, - }, "z-ai/glm-4.7": { - "name": "GLM-4.7", + "name": "GLM 4.7", "release_date": "2025-12-22", "last_updated": "2025-12-22", "open_weights": True, - "max_input_tokens": 204800, + "max_input_tokens": 202752, "max_output_tokens": 131072, "text_inputs": True, "image_inputs": False, @@ -3881,12 +7476,12 @@ _PROFILES: dict[str, dict[str, Any]] = { "temperature": True, }, "z-ai/glm-4.7-flash": { - "name": "GLM-4.7-Flash", + "name": "GLM 4.7 Flash", "release_date": "2026-01-19", "last_updated": "2026-01-19", "open_weights": True, - "max_input_tokens": 200000, - "max_output_tokens": 65535, + "max_input_tokens": 202752, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -3902,9 +7497,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "temperature": True, }, "z-ai/glm-5": { - "name": "GLM-5", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "name": "GLM 5", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "open_weights": True, "max_input_tokens": 202752, "max_output_tokens": 131000, @@ -3923,9 +7518,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "temperature": True, }, "z-ai/glm-5-turbo": { - "name": "GLM-5-Turbo", - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "name": "GLM 5 Turbo", + "release_date": "2026-03-15", + "last_updated": "2026-03-15", "open_weights": False, "max_input_tokens": 202752, "max_output_tokens": 131072, @@ -3944,7 +7539,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "temperature": True, }, "z-ai/glm-5.1": { - "name": "GLM-5.1", + "name": "GLM 5.1", "release_date": "2026-04-07", "last_updated": "2026-04-07", "open_weights": True, @@ -3964,4 +7559,200 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, + "z-ai/glm-5v-turbo": { + "name": "GLM 5V Turbo", + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "open_weights": False, + "max_input_tokens": 202752, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "~anthropic/claude-haiku-latest": { + "name": "Anthropic Claude Haiku Latest", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": False, + "max_input_tokens": 200000, + "max_output_tokens": 64000, + "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, + "attachment": True, + "temperature": True, + }, + "~anthropic/claude-opus-latest": { + "name": "Claude Opus Latest", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "open_weights": False, + "max_input_tokens": 1000000, + "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, + "attachment": True, + "temperature": False, + }, + "~anthropic/claude-sonnet-latest": { + "name": "Anthropic Claude Sonnet Latest", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": False, + "max_input_tokens": 1000000, + "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, + "attachment": True, + "temperature": True, + }, + "~google/gemini-flash-latest": { + "name": "Google Gemini Flash Latest", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": False, + "max_input_tokens": 1048576, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": True, + "pdf_inputs": True, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "~google/gemini-pro-latest": { + "name": "Google Gemini Pro Latest", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": False, + "max_input_tokens": 1048576, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": True, + "pdf_inputs": True, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + "attachment": True, + "temperature": True, + }, + "~moonshotai/kimi-latest": { + "name": "MoonshotAI Kimi Latest", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": False, + "max_input_tokens": 262142, + "max_output_tokens": 262142, + "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, + "attachment": True, + "temperature": True, + }, + "~openai/gpt-latest": { + "name": "OpenAI GPT Latest", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": False, + "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, + "attachment": True, + "temperature": False, + }, + "~openai/gpt-mini-latest": { + "name": "OpenAI GPT Mini Latest", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "open_weights": False, + "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, + "attachment": True, + "temperature": False, + }, } diff --git a/libs/partners/xai/langchain_xai/data/_profiles.py b/libs/partners/xai/langchain_xai/data/_profiles.py index 2b0dd34b19c..0a157bb858a 100644 --- a/libs/partners/xai/langchain_xai/data/_profiles.py +++ b/libs/partners/xai/langchain_xai/data/_profiles.py @@ -136,266 +136,6 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": True, "temperature": True, }, - "grok-3": { - "name": "Grok 3", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "open_weights": False, - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - "attachment": False, - "temperature": True, - }, - "grok-3-fast": { - "name": "Grok 3 Fast", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "open_weights": False, - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - "attachment": False, - "temperature": True, - }, - "grok-3-fast-latest": { - "name": "Grok 3 Fast Latest", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "open_weights": False, - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - "attachment": False, - "temperature": True, - }, - "grok-3-latest": { - "name": "Grok 3 Latest", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "open_weights": False, - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - "attachment": False, - "temperature": True, - }, - "grok-3-mini": { - "name": "Grok 3 Mini", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "open_weights": False, - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "attachment": False, - "temperature": True, - }, - "grok-3-mini-fast": { - "name": "Grok 3 Mini Fast", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "open_weights": False, - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "attachment": False, - "temperature": True, - }, - "grok-3-mini-fast-latest": { - "name": "Grok 3 Mini Fast Latest", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "open_weights": False, - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "attachment": False, - "temperature": True, - }, - "grok-3-mini-latest": { - "name": "Grok 3 Mini Latest", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "open_weights": False, - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "attachment": False, - "temperature": True, - }, - "grok-4": { - "name": "Grok 4", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "open_weights": False, - "max_input_tokens": 256000, - "max_output_tokens": 64000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "attachment": False, - "temperature": True, - }, - "grok-4-1-fast": { - "name": "Grok 4.1 Fast", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "open_weights": False, - "max_input_tokens": 2000000, - "max_output_tokens": 30000, - "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, - "attachment": True, - "temperature": True, - }, - "grok-4-1-fast-non-reasoning": { - "name": "Grok 4.1 Fast (Non-Reasoning)", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "open_weights": False, - "max_input_tokens": 2000000, - "max_output_tokens": 30000, - "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": False, - "tool_calling": True, - "attachment": True, - "temperature": True, - }, - "grok-4-fast": { - "name": "Grok 4 Fast", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "open_weights": False, - "max_input_tokens": 2000000, - "max_output_tokens": 30000, - "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, - "attachment": True, - "temperature": True, - }, - "grok-4-fast-non-reasoning": { - "name": "Grok 4 Fast (Non-Reasoning)", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "open_weights": False, - "max_input_tokens": 2000000, - "max_output_tokens": 30000, - "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": False, - "tool_calling": True, - "attachment": True, - "temperature": True, - }, "grok-4.20-0309-non-reasoning": { "name": "Grok 4.20 (Non-Reasoning)", "release_date": "2026-03-09", @@ -496,25 +236,65 @@ _PROFILES: dict[str, dict[str, Any]] = { "attachment": False, "temperature": True, }, - "grok-code-fast-1": { - "name": "Grok Code Fast 1", - "release_date": "2025-08-28", - "last_updated": "2025-08-28", + "grok-imagine-image": { + "name": "Grok Imagine Image", + "release_date": "2026-03", + "last_updated": "2026-05-16", "open_weights": False, - "max_input_tokens": 256000, - "max_output_tokens": 10000, + "max_input_tokens": 1024, + "max_output_tokens": 0, "text_inputs": True, - "image_inputs": False, + "image_inputs": True, "audio_inputs": False, "video_inputs": False, - "text_outputs": True, - "image_outputs": False, + "text_outputs": False, + "image_outputs": True, "audio_outputs": False, "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "attachment": False, - "temperature": True, + "reasoning_output": False, + "tool_calling": False, + "attachment": True, + "temperature": False, + }, + "grok-imagine-image-quality": { + "name": "Grok Imagine Image Quality", + "release_date": "2026-04", + "last_updated": "2026-05-16", + "open_weights": False, + "max_input_tokens": 1024, + "max_output_tokens": 0, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": False, + "image_outputs": True, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + "attachment": True, + "temperature": False, + }, + "grok-imagine-video": { + "name": "Grok Imagine Video", + "release_date": "2026-03", + "last_updated": "2026-05-16", + "open_weights": False, + "max_input_tokens": 1024, + "max_output_tokens": 0, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": False, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": True, + "reasoning_output": False, + "tool_calling": False, + "attachment": True, + "temperature": False, }, "grok-vision-beta": { "name": "Grok Vision Beta", diff --git a/libs/partners/xai/tests/unit_tests/test_chat_models.py b/libs/partners/xai/tests/unit_tests/test_chat_models.py index 331c16f0bca..1e4b3d30672 100644 --- a/libs/partners/xai/tests/unit_tests/test_chat_models.py +++ b/libs/partners/xai/tests/unit_tests/test_chat_models.py @@ -24,11 +24,6 @@ def test_initialization() -> None: ChatXAI(model=MODEL_NAME) -def test_profile() -> None: - model = ChatXAI(model="grok-4") - assert model.profile - - def test_xai_model_param() -> None: llm = ChatXAI(model="foo") assert llm.model_name == "foo"