Compile-time checked OpenRouter model ids.
model_supports! validates a model id and its required capabilities against a vendored OpenRouter index, then expands to the model id string.
use openrouter_toolkit::model_supports; const MODEL: &str = model_supports!( "openai/gpt-5.4", param::tools, input::image, output::text, );
Dynamic variants work too:
const MODEL: &str = model_supports!("moonshotai/kimi-k2-0905:exacto", param::tools);
Capabilities
param::*— request parameters (e.g.param::tools)input::*— input modalities (e.g.input::image)output::*— output modalities (e.g.output::text)
Errors at compile time
Unknown capability:
const MODEL: &str = model_supports!("qwen/qwen3.7-max", param::toolz);
error: unknown OpenRouter capability `param::toolz`; did you mean `param::tools`?
Capability not supported by the model:
const MODEL: &str = model_supports!("qwen/qwen3.7-max", input::image);
error: OpenRouter model `qwen/qwen3.7-max` does not support required capability(s): input::image


























