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

# Get Model List

> Returns the models that are **actually available** to the current token under `POST /v1/llm/generations` (the `llm-custom` protocol), together with the union of capabilities each model supports. Clients can use this to build a model picker UI dynamically, without relying on a static enum.

- Auth: shares the same Bearer Token as the submission endpoint; visible models are filtered by the token's group
- `id`: the model name that can be passed directly into the `LLMCustomRequest.model` field
- `capabilities`: the union of capabilities supported by the model, in the fixed order `text` → `vision` → `video` → `audio` → `file`
- When the current token's group has no reachable models, returns `200 { "object": "list", "data": [] }` (not 404)




## OpenAPI

````yaml openapi/en/configs-llm-generations-models.json GET /v1/configs/llm_generations_models
openapi: 3.1.0
info:
  title: LLM Custom Available Models
  version: '1.0'
servers:
  - url: https://api.aihubmax.com
security:
  - BearerAuth: []
paths:
  /v1/configs/llm_generations_models:
    get:
      tags:
        - Config Query
      summary: Query the LLM Custom models visible to the current token
      description: >
        Returns the models that are **actually available** to the current token
        under `POST /v1/llm/generations` (the `llm-custom` protocol), together
        with the union of capabilities each model supports. Clients can use this
        to build a model picker UI dynamically, without relying on a static
        enum.


        - Auth: shares the same Bearer Token as the submission endpoint; visible
        models are filtered by the token's group

        - `id`: the model name that can be passed directly into the
        `LLMCustomRequest.model` field

        - `capabilities`: the union of capabilities supported by the model, in
        the fixed order `text` → `vision` → `video` → `audio` → `file`

        - When the current token's group has no reachable models, returns `200 {
        "object": "list", "data": [] }` (not 404)
      operationId: configs-llm-generations-models
      responses:
        '200':
          description: Query successful — returns an array of available models
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelListResponse'
              examples:
                typical:
                  summary: Typical response
                  value:
                    object: list
                    data:
                      - id: claude-opus-4-7
                        object: model
                        capabilities:
                          - text
                          - vision
                          - file
                      - id: gemini-3.5-flash
                        object: model
                        capabilities:
                          - text
                          - vision
                          - video
                          - audio
                          - file
                      - id: gpt-5.5
                        object: model
                        capabilities:
                          - text
                          - vision
                empty:
                  summary: No reachable models under the current token's group
                  value:
                    object: list
                    data: []
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    ModelListResponse:
      type: object
      description: '`GET /v1/configs/llm_generations_models` response'
      required:
        - object
        - data
      properties:
        object:
          type: string
          enum:
            - list
        data:
          type: array
          items:
            type: object
            required:
              - id
              - object
              - capabilities
            properties:
              id:
                type: string
                description: >-
                  The model name that can be passed directly into
                  `LLMCustomRequest.model`
              object:
                type: string
                enum:
                  - model
              capabilities:
                type: array
                items:
                  type: string
                  enum:
                    - text
                    - vision
                    - video
                    - audio
                    - file
                description: >-
                  The union of capabilities the model supports across all
                  visible channels, in the fixed order `text` → `vision` →
                  `video` → `audio` → `file`
    ErrorResponse401:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
              example: Invalid API key
            type:
              type: string
              example: authentication_error
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse401'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: |
        ## All APIs require Bearer Token authentication ##

        Add to request header:

        `Authorization: Bearer YOUR_API_KEY`

````