Skip to main content
Each model declares capabilities as boolean flags. You can read them from each entry’s _infery object in GET /v1/models to branch feature-by-feature in your app.

Reading the flags for a real model

These flags are per model, not per provider, and they move when a model is updated — so this page does not list them model by model. Two places do:
  • The catalog pages show streaming, tools, vision, pdf and json mode on every row, grouped by modality and sorted by owner.
  • GET /v1/models returns the full _infery object for each model, including isReasoning and isFlagship, which the catalog pages do not show.
Branch on the flag, never on the model name. A slug can gain supportsTools without changing its name, and a name-based check will not notice.

PDF fallback

If a model without supportsPdf receives a PDF, our gateway:
  1. Extracts text via pdftotext
  2. Renders pages to PNG (for vision models)
  3. Injects text + images into the message
  4. Bills a small pdf_extraction_per_page fee
You don’t lift a finger — works on Grok, DeepSeek, older models. The response behaves as if the model read the PDF natively.