> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vlm.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Model

> Retrieve a single VLM Run Gateway model and its capabilities

Authentication is optional. See [Rate Limits](/gateway/rate-limits) for per-tier
quotas. For the full catalog, use [List Models](/gateway/api-reference/get-models)
or see [Models](/gateway/models).

`model_id` is a path parameter, so any `/` in the id (e.g. `paddleocr/pp-ocrv6`)
must be percent-encoded as `%2F`. An unencoded slash is read as two path
segments and returns `404`.

<RequestExample>
  ```python Python theme={"theme":{"light":"github-light","dark":"dark-plus"}}
  import httpx
  from urllib.parse import quote

  model_id = quote("paddleocr/pp-ocrv6", safe="")
  response = httpx.get(
      f"https://gateway.vlm.run/v1/models/{model_id}",
      headers={"Authorization": "Bearer <VLMRUN_API_KEY>"},
  )
  print(response.json())
  ```

  ```bash cURL theme={"theme":{"light":"github-light","dark":"dark-plus"}}
  curl "https://gateway.vlm.run/v1/models/paddleocr%2Fpp-ocrv6" \
    -H "Authorization: Bearer $VLMRUN_API_KEY"
  ```

  ```typescript Node.js theme={"theme":{"light":"github-light","dark":"dark-plus"}}
  const modelId = encodeURIComponent("paddleocr/pp-ocrv6");
  const response = await fetch(`https://gateway.vlm.run/v1/models/${modelId}`, {
    headers: { Authorization: "Bearer <VLMRUN_API_KEY>" },
  });
  console.log(await response.json());
  ```
</RequestExample>

## Response fields

This endpoint returns a flat, single-model detail object, richer than the
entries in [`GET /v1/openai/models`](/gateway/api-reference/get-models):

| Field                  | Description                                                                                                                                                                                                |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                   | Preferred public model id.                                                                                                                                                                                 |
| `name`, `description`  | Human-readable catalog metadata.                                                                                                                                                                           |
| `hf_model_id`          | Upstream Hugging Face repo id, when the model is open-weight.                                                                                                                                              |
| `task`                 | `chat`, `embed`, or `transcribe`.                                                                                                                                                                          |
| `context_length`       | Maximum context length, when defined.                                                                                                                                                                      |
| `architecture`         | `input_modalities`, `output_modalities`, and a summary `modality` string.                                                                                                                                  |
| `capabilities`         | Same shape as on [List Models](/gateway/api-reference/get-models#model-fields): max images/videos, accepted input types.                                                                                   |
| `aliases`, `methods`   | Accepted request ids and supported `method` values.                                                                                                                                                        |
| `supported_parameters` | Request fields this model actually honors (a model may ignore fields like `temperature` or `top_p` that don't apply to it).                                                                                |
| `pricing`              | USD per 1M tokens for `prompt`, `completion`, `image`, `input_cache_read`, and `input_cache_write`, plus `request` and `per_page` flat rates. Zero during the free alpha; see [Pricing](/gateway/pricing). |

<Tip>
  `pricing` and `supported_parameters` are only available here, not on the
  list endpoint. Fetch a single model's detail before you build cost
  estimates or validate which request fields it will respect.
</Tip>

## Related

<CardGroup cols={2}>
  <Card title="List Models" icon="table-list" href="/gateway/api-reference/get-models">
    Full catalog in one call.
  </Card>

  <Card title="Pricing" icon="dollar-sign" href="/gateway/pricing">
    How to read the `pricing` object during the free alpha.
  </Card>
</CardGroup>


## OpenAPI

````yaml gateway/openapi.json GET /v1/models/{model_id}
openapi: 3.1.0
info:
  title: VLM Run Gateway API
  summary: Unified gateway for real-time vision-language inference.
  description: |
    The **VLM Run Gateway API** is the public entry point to the VLM Run
    inference platform. It fronts vision-language and computer-vision models
    behind a single OpenAI-compatible surface plus first-class real-time
    transports.

    [Terms of service](https://vlm.run/terms) |
    [VLM Run](https://vlm.run) |
    [Send email to support@vlm.run](mailto:support@vlm.run)
  termsOfService: https://vlm.run/terms
  contact:
    name: VLM Run
    url: https://vlm.run/
    email: support@vlm.run
  version: 0.10.0
servers:
  - url: https://gateway.vlm.run
    description: Production
  - url: http://localhost:8001
    description: Local development
security: []
paths:
  /v1/models/{model_id}:
    get:
      summary: Get Model Detail
      operationId: get_model_detail_v1_models__model_id__get
      parameters:
        - name: model_id
          in: path
          required: true
          schema:
            type: string
            title: Model Id
          example: {}
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelDetail'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    ModelDetail:
      properties:
        id:
          type: string
          title: Id
        hf_model_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Hf Model Id
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        task:
          type: string
          enum:
            - chat
            - embed
            - transcribe
          title: Task
          default: chat
        context_length:
          anyOf:
            - type: integer
            - type: 'null'
          title: Context Length
        architecture:
          $ref: '#/components/schemas/ModelArchitecture'
        capabilities:
          $ref: '#/components/schemas/ModelCapabilities'
        aliases:
          items:
            type: string
          type: array
          title: Aliases
        methods:
          items:
            type: string
          type: array
          title: Methods
        supported_parameters:
          items:
            type: string
          type: array
          title: Supported Parameters
        pricing:
          $ref: '#/components/schemas/ModelPricing'
      type: object
      required:
        - id
        - name
        - description
        - architecture
        - capabilities
        - pricing
      title: ModelDetail
      description: |-
        Flat JSON response for ``GET /v1/models/{model_id}``.

        Internal catalog fields such as ``provider`` are intentionally omitted.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ModelArchitecture:
      properties:
        input_modalities:
          items:
            type: string
          type: array
          title: Input Modalities
        output_modalities:
          items:
            type: string
          type: array
          title: Output Modalities
        modality:
          type: string
          title: Modality
      type: object
      required:
        - input_modalities
        - output_modalities
        - modality
      title: ModelArchitecture
    ModelCapabilities:
      properties:
        max_images:
          anyOf:
            - type: integer
            - type: 'null'
          title: Max Images
          default: 1
        max_videos:
          anyOf:
            - type: integer
            - type: 'null'
          title: Max Videos
          default: 0
        supports_text_only:
          type: boolean
          title: Supports Text Only
          default: true
        supports_document_url:
          type: boolean
          title: Supports Document Url
          default: false
        supported_input_types:
          items:
            type: string
          type: array
          title: Supported Input Types
      type: object
      title: ModelCapabilities
      description: |-
        Declared input capabilities exposed via ``GET /v1/openai/models``.

        Mirrors :class:`vlmrt.chat.backends.ChatCapabilities` but as a
        Pydantic model so the info surfaces cleanly in the API response
        (and in the ``vlmrt chat --models`` table).  ``None`` means
        unlimited.
    ModelPricing:
      properties:
        prompt:
          type: number
          title: Prompt
          default: 0
        completion:
          type: number
          title: Completion
          default: 0
        input_cache_read:
          type: number
          title: Input Cache Read
          default: 0
        input_cache_write:
          type: number
          title: Input Cache Write
          default: 0
        image:
          type: number
          title: Image
          default: 0
        request:
          type: number
          title: Request
          default: 0
        per_page:
          type: number
          title: Per Page
          default: 0
      type: object
      title: ModelPricing
      description: USD per 1M tokens (``image`` is per-1M image-token equivalent).
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````