use crate::core::capabilities::*;
use crate::model_capabilities;
use crate::providers::aihubmix::Aihubmix;
model_capabilities! {
provider: Aihubmix,
models: {
KimiK20905 {
model_name: "Kimi-K2-0905",
constructor_name: kimi_k2_0905,
display_name: "Kimi K2 0905",
capabilities: [TextInputSupport, TextOutputSupport, ToolCallSupport]
},
ClaudeHaiku45 {
model_name: "claude-haiku-4-5",
constructor_name: claude_haiku_4_5,
display_name: "Claude Haiku 4.5",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
ClaudeOpus41 {
model_name: "claude-opus-4-1",
constructor_name: claude_opus_4_1,
display_name: "Claude Opus 4.1",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
ClaudeOpus45 {
model_name: "claude-opus-4-5",
constructor_name: claude_opus_4_5,
display_name: "Claude Opus 4.5",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
ClaudeSonnet45 {
model_name: "claude-sonnet-4-5",
constructor_name: claude_sonnet_4_5,
display_name: "Claude Sonnet 4.5",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
CodingGlm47 {
model_name: "coding-glm-4.7",
constructor_name: coding_glm_4_7,
display_name: "Coding-GLM-4.7",
capabilities: [ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
CodingGlm47Free {
model_name: "coding-glm-4.7-free",
constructor_name: coding_glm_4_7_free,
display_name: "Coding GLM 4.7 Free",
capabilities: [ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
CodingMinimaxM21Free {
model_name: "coding-minimax-m2.1-free",
constructor_name: coding_minimax_m2_1_free,
display_name: "Coding MiniMax M2.1 Free",
capabilities: [ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
DeepseekV32 {
model_name: "deepseek-v3.2",
constructor_name: deepseek_v3_2,
display_name: "DeepSeek-V3.2",
capabilities: [ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
DeepseekV32Fast {
model_name: "deepseek-v3.2-fast",
constructor_name: deepseek_v3_2_fast,
display_name: "DeepSeek-V3.2-Fast",
capabilities: [TextInputSupport, TextOutputSupport]
},
DeepseekV32Think {
model_name: "deepseek-v3.2-think",
constructor_name: deepseek_v3_2_think,
display_name: "DeepSeek-V3.2-Think",
capabilities: [ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gemini25Flash {
model_name: "gemini-2.5-flash",
constructor_name: gemini_2_5_flash,
display_name: "Gemini 2.5 Flash",
capabilities: [AudioInputSupport, ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport, VideoInputSupport]
},
Gemini25Pro {
model_name: "gemini-2.5-pro",
constructor_name: gemini_2_5_pro,
display_name: "Gemini 2.5 Pro",
capabilities: [AudioInputSupport, ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport, VideoInputSupport]
},
Gemini3ProPreview {
model_name: "gemini-3-pro-preview",
constructor_name: gemini_3_pro_preview,
display_name: "Gemini 3 Pro Preview",
capabilities: [AudioInputSupport, ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport, VideoInputSupport]
},
Glm46v {
model_name: "glm-4.6v",
constructor_name: glm_4_6v,
display_name: "GLM-4.6V",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport, VideoInputSupport]
},
Glm47 {
model_name: "glm-4.7",
constructor_name: glm_4_7,
display_name: "GLM-4.7",
capabilities: [ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt41 {
model_name: "gpt-4.1",
constructor_name: gpt_4_1,
display_name: "GPT-4.1",
capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt41Mini {
model_name: "gpt-4.1-mini",
constructor_name: gpt_4_1_mini,
display_name: "GPT-4.1 mini",
capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt41Nano {
model_name: "gpt-4.1-nano",
constructor_name: gpt_4_1_nano,
display_name: "GPT-4.1 nano",
capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt4o {
model_name: "gpt-4o",
constructor_name: gpt_4o,
display_name: "GPT-4o",
capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt5 {
model_name: "gpt-5",
constructor_name: gpt_5,
display_name: "GPT-5",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt5Codex {
model_name: "gpt-5-codex",
constructor_name: gpt_5_codex,
display_name: "GPT-5-Codex",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt5Mini {
model_name: "gpt-5-mini",
constructor_name: gpt_5_mini,
display_name: "GPT-5-Mini",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt5Nano {
model_name: "gpt-5-nano",
constructor_name: gpt_5_nano,
display_name: "GPT-5-Nano",
capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt5Pro {
model_name: "gpt-5-pro",
constructor_name: gpt_5_pro,
display_name: "GPT-5-Pro",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt51 {
model_name: "gpt-5.1",
constructor_name: gpt_5_1,
display_name: "GPT-5.1",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt51Codex {
model_name: "gpt-5.1-codex",
constructor_name: gpt_5_1_codex,
display_name: "GPT-5.1 Codex",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt51CodexMax {
model_name: "gpt-5.1-codex-max",
constructor_name: gpt_5_1_codex_max,
display_name: "GPT-5.1-Codex-Max",
capabilities: [ImageInputSupport, ReasoningSupport, StructuredOutputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt51CodexMini {
model_name: "gpt-5.1-codex-mini",
constructor_name: gpt_5_1_codex_mini,
display_name: "GPT-5.1 Codex Mini",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gpt52 {
model_name: "gpt-5.2",
constructor_name: gpt_5_2,
display_name: "GPT-5.2",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
KimiK25 {
model_name: "kimi-k2.5",
constructor_name: kimi_k2_5,
display_name: "Kimi K2.5",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport, VideoInputSupport]
},
MinimaxM21 {
model_name: "minimax-m2.1",
constructor_name: minimax_m2_1,
display_name: "MiniMax M2.1",
capabilities: [ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
O4Mini {
model_name: "o4-mini",
constructor_name: o4_mini,
display_name: "o4-mini",
capabilities: [ReasoningSupport, TextInputSupport, TextOutputSupport]
},
Qwen3235bA22bInstruct2507 {
model_name: "qwen3-235b-a22b-instruct-2507",
constructor_name: qwen3_235b_a22b_instruct_2507,
display_name: "Qwen3 235B A22B Instruct 2507",
capabilities: [TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Qwen3235bA22bThinking2507 {
model_name: "qwen3-235b-a22b-thinking-2507",
constructor_name: qwen3_235b_a22b_thinking_2507,
display_name: "Qwen3 235B A22B Thinking 2507",
capabilities: [ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Qwen3Coder480bA35bInstruct {
model_name: "qwen3-coder-480b-a35b-instruct",
constructor_name: qwen3_coder_480b_a35b_instruct,
display_name: "Qwen3 Coder 480B A35B Instruct",
capabilities: [TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Qwen3Max20260123 {
model_name: "qwen3-max-2026-01-23",
constructor_name: qwen3_max_2026_01_23,
display_name: "Qwen3 Max",
capabilities: [TextInputSupport, TextOutputSupport, ToolCallSupport]
},
}
}