use crate::core::capabilities::*;
use crate::model_capabilities;
use crate::providers::scaleway::Scaleway;
model_capabilities! {
provider: Scaleway,
models: {
BgeMultilingualGemma2 {
model_name: "bge-multilingual-gemma2",
constructor_name: bge_multilingual_gemma2,
display_name: "BGE Multilingual Gemma2",
capabilities: [TextInputSupport, TextOutputSupport]
},
DeepseekR1DistillLlama70b {
model_name: "deepseek-r1-distill-llama-70b",
constructor_name: deepseek_r1_distill_llama_70b,
display_name: "DeepSeek R1 Distill Llama 70B",
capabilities: [ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Devstral2123bInstruct2512 {
model_name: "devstral-2-123b-instruct-2512",
constructor_name: devstral_2_123b_instruct_2512,
display_name: "Devstral 2 123B Instruct (2512)",
capabilities: [TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Gemma327bIt {
model_name: "gemma-3-27b-it",
constructor_name: gemma_3_27b_it,
display_name: "Gemma-3-27B-IT",
capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
GptOss120b {
model_name: "gpt-oss-120b",
constructor_name: gpt_oss_120b,
display_name: "GPT-OSS 120B",
capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Llama318bInstruct {
model_name: "llama-3.1-8b-instruct",
constructor_name: llama_3_1_8b_instruct,
display_name: "Llama 3.1 8B Instruct",
capabilities: [TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Llama3370bInstruct {
model_name: "llama-3.3-70b-instruct",
constructor_name: llama_3_3_70b_instruct,
display_name: "Llama-3.3-70B-Instruct",
capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
MistralNemoInstruct2407 {
model_name: "mistral-nemo-instruct-2407",
constructor_name: mistral_nemo_instruct_2407,
display_name: "Mistral Nemo Instruct 2407",
capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
MistralSmall3224bInstruct2506 {
model_name: "mistral-small-3.2-24b-instruct-2506",
constructor_name: mistral_small_3_2_24b_instruct_2506,
display_name: "Mistral Small 3.2 24B Instruct (2506)",
capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Pixtral12b2409 {
model_name: "pixtral-12b-2409",
constructor_name: pixtral_12b_2409,
display_name: "Pixtral 12B 2409",
capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Qwen3235bA22bInstruct2507 {
model_name: "qwen3-235b-a22b-instruct-2507",
constructor_name: qwen3_235b_a22b_instruct_2507,
display_name: "Qwen3 235B A22B Instruct 2507",
capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Qwen3Coder30bA3bInstruct {
model_name: "qwen3-coder-30b-a3b-instruct",
constructor_name: qwen3_coder_30b_a3b_instruct,
display_name: "Qwen3-Coder 30B-A3B Instruct",
capabilities: [TextInputSupport, TextOutputSupport, ToolCallSupport]
},
VoxtralSmall24b2507 {
model_name: "voxtral-small-24b-2507",
constructor_name: voxtral_small_24b_2507,
display_name: "Voxtral Small 24B 2507",
capabilities: [AudioInputSupport, ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
WhisperLargeV3 {
model_name: "whisper-large-v3",
constructor_name: whisper_large_v3,
display_name: "Whisper Large v3",
capabilities: [AudioInputSupport, TextOutputSupport]
},
}
}