Docs
Get an API key
API reference›Models

Get Model By Author And Slug

GET /v1/model/{author}/{slug} No API key needed View .md

Retrieves one model in OpenRouter's public model shape, for OpenRouter's models.get({author, slug}). Model IDs have no author, so the slug is matched against the model ID and any author is accepted (vultr is the documented one). The whole author/slug also matches a model ID that holds a slash, a model's Hugging Face ID (case-insensitively) and a legacy model ID that redirects to the model that replaced it. A :variant suffix on the slug is accepted and ignored. A slug that holds a slash can be percent-encoded. Public like GET /v1/models, which lists the same entry. An unknown model, one that is not currently served and a private model are a 404 in the error envelope.

  • author string required

    The model's organization. Any value is accepted; use vultr.

  • slug string required

    The model ID, optionally with a :variant suffix.

OK

application/json · openrouter-public-model-response

1 field
  • data object required

    A model in OpenRouter's public Model shape, which OpenRouter's SDKs parse. Built from the same entry as the provider document, so context length, price and modalities match it. pricing.prompt and pricing.completion are USD per token as strings; OpenRouter has no field for a price per second or per megapixel, so image (per megapixel), video and speech (per second generated) put their price in completion, transcription and alignment (per second of audio read) in prompt, and the other is "0". Embeddings, rerank and decision models put the price per input token in prompt.

    21 fields
    • id string required
    • canonical_slug string required

      The model id.

    • hugging_face_id string or null
    • name string required
    • created integer required

      Unix timestamp.

    • description string
    • context_length integer or null required

      Tokens the model reads. Null for models that have no token context (image, video, speech, transcription, alignment).

    • architecture object required
      5 fields
      • input_modalities array of strings required
      • output_modalities array of strings required
      • modality string required
      • tokenizer string
      • instruct_type string or null
    • pricing object required
      4 fields
      • prompt string required
      • completion string required
      • internal_reasoning string
      • input_cache_read string
    • top_provider object required
      3 fields
      • context_length integer or null
      • max_completion_tokens integer or null
      • is_moderated boolean required
    • per_request_limits object or null required
    • supported_parameters array of strings required
    • default_parameters object or null required

      The model row's sampling defaults, limited to temperature, top_p, top_k, frequency_penalty, presence_penalty and repetition_penalty.

      6 fields
      • temperature number
      • top_p number
      • top_k integer
      • frequency_penalty number
      • presence_penalty number
      • repetition_penalty number
    • supported_voices array of strings or null required

      A speech model's voice ids; null for every other model.

    • supported_languages array of strings

      Not in OpenRouter's Model: the languages a speech model's card names, which language takes by name, ISO 639-1 code or BCP 47 tag (or auto); an alignment model's are the ISO 639-1 codes it can spell. Absent for every other model and for one whose card names none.

    • links object required
      1 field
      • details string required
    • reasoning object

      Present on reasoning models. Fields the gateway does not know are left out, never null.

      5 fields
      • mandatory boolean required
      • supports_max_tokens boolean
      • supported_efforts array of strings
      • default_effort string
      • default_enabled boolean
    • quality_tiers object

      Not in OpenRouter's Model. Present on a model whose image, video or audio output is offered in quality tiers (minimax-h3; ace-step-1.5's music, whose tiers are engine models with null steps and step_range), keyed by that output modality; absent on every other model. Each list is in the model's order, cheapest first, and a request asks for a tier with quality set to its name or one of its aliases. The provider document's schema has no field for this list, which is why only this shape carries it; there the same tiers are the quality values and the price overrides.

    • rate_limits object

      Not in OpenRouter's Model (its per_request_limits is about tokens). What one subscription may send this model, keyed by output modality, as the API enforces it: each model category has its own defaults, and a model may have its own limits in place of them, higher or lower. A request over requests_per_minute is a 429 until the minute turns over; one over concurrent_requests waits its turn for up to two minutes, then is a 429. For video and music, which are jobs, active_jobs is how many may be pending or rendering at once, and a new job beyond it is a 429. Every response gives Retry-After.

    • input_limits object

      Not in OpenRouter's Model. What one chat request may carry of each media input, keyed by input modality (image, video, audio); absent on models other than chat. max_bytes is the most one item may be, whether it is sent as a link, a data URI or base64: a larger one is a 400. max_items is how many of that input one request may carry, where the model's engine sets a count: a request with more is a 400. Without max_items the model's context window is the bound.

    • price_options object

      Not in OpenRouter's Model. Every combination of the settings that change the price that a request can buy, keyed by output modality (image, video, audio); absent on a model where no setting changes the price. Derived from the model's capability spec: each combination is one the API accepts, so a combination it refuses is not listed (minimax-h3's 4K video runs Turbo only, so 4K at Standard, Max or Ultra is absent; its 2K is listed at every tier). A video option is a quality tier at a resolution, a still's a quality tier, since the size scales the megapixels and not their price, and, where references are billed, the number of image references sent (minimax-h3's reference stills: each quality tier at 1 to 9 references).

      The options name the quality tiers only. A raw step count (num_inference_steps for video, steps for stills) bills the tier whose step_range holds it (minimax-h3: 10 to 20 at Standard's 1.5x, 21 to 40 at Max's 3x, 41 to 50 at Ultra's 5x), so these are every price a request can pay, and 4K video takes only the Turbo count.

curl https://api.vultrinference.com/v1/model/vultr/glm-5.3
Response · 200
{
    "data": {
        "id": "glm-5.3",
        "canonical_slug": "string",
        "name": "string",
        "created": 0,
        "context_length": 0,
        "architecture": {
            "input_modalities": [
                "text"
            ],
            "output_modalities": [
                "text"
            ],
            "modality": "text+image->text",
            "tokenizer": "Other"
        },
        "pricing": {
            "prompt": "0.00000055",
            "completion": "0.00000275"
        },
        "top_provider": {
            "is_moderated": false
        },
        "per_request_limits": {},
        "supported_parameters": [
            "temperature",
            "top_p",
            "max_tokens",
            "tools"
        ],
        "default_parameters": {
            "temperature": 0.0,
            "top_p": 0.0,
            "top_k": 0,
            "frequency_penalty": 0.0,
            "presence_penalty": 0.0,
            "repetition_penalty": 0.0
        },
        "supported_voices": [
            "string"
        ],
        "links": {
            "details": "/v1/model/vultr/glm-5.3"
        },
        "rate_limits": {
            "text": {
                "requests_per_minute": 120,
                "concurrent_requests": 16
            }
        },
        "input_limits": {
            "image": {
                "max_items": 1,
                "max_bytes": 20971520
            },
            "video": {
                "max_items": 1,
                "max_bytes": 52428800
            },
            "audio": {
                "max_items": 1,
                "max_bytes": 52428800
            }
        }
    }
}