Every model entry in the bundledDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/phpaisdk/openrouter/llms.txt
Use this file to discover all available pages before exploring further.
resources/models.json catalog declares an explicit list of capabilities. Knowing what a model supports before you call it lets you branch your application logic safely — for example, only enabling streaming for models that advertise it, or choosing a different model when tool calling is required. The SDK exposes this information through the supports() and capabilities() methods available on every model instance.
Available capabilities
The following capability values are used across the catalog. Each is represented by a case on theAiSdk\Capability enum:
| Capability | Enum case | Description |
|---|---|---|
text_generation | Capability::TextGeneration | Model can produce text completions |
streaming | Capability::Streaming | Model supports server-sent event streaming |
structured_output | Capability::StructuredOutput | Model can return JSON matching a schema |
reasoning | Capability::Reasoning | Model exposes a chain-of-thought reasoning trace |
tool_calling | Capability::ToolCalling | Model supports function / tool call requests |
text_input | Capability::TextInput | Model accepts text as input |
image_input | Capability::ImageInput | Model accepts image data as input |
image_generation | Capability::ImageGeneration | Model can generate image output |
audio_input | Capability::AudioInput | Model accepts audio as input |
file_input | Capability::FileInput | Model accepts file attachments as input |
Checking capabilities
Call->supports(Capability::X) on any model instance to get a boolean result. The method consults the bundled catalog and returns true only when the capability is listed for that model ID.
Getting all capabilities
Call->capabilities() to retrieve every capability the model supports as an array. The return type is array<int, Capability>.
OpenRouter::image().
Fallback for unknown models
When a model ID is not present in the bundled catalog,capabilities() returns an empty array. As a deliberate fallback, OpenRouterTextModel::capability() treats Capability::TextGeneration as supported for any model whose catalog entry is missing, using the internal source label 'unknown-model-fallback'. This ensures that unknown models remain usable for basic text generation even when the catalog has not yet been updated to include them. All other capabilities — including Streaming, Reasoning, ToolCalling, and ImageInput — return unsupported for unknown models.