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

# List models

> List text and image models available to the calling account. Copy each public id into requests. Capabilities, pricing and rate limits are dynamic; read the current model data rather than assuming one profile applies to every model.



## OpenAPI

````yaml /openapi.json get /models
openapi: 3.0.3
info:
  title: NoMask API
  version: 1.0.0
  description: >-
    OpenAI-compatible text and image APIs with prepaid USD billing. Use a NoMask
    Bearer key and a current public model ID. Request examples contain
    placeholders; replace them before using Try it.


    The documentation playground sends requests through Mintlify's proxy. curl
    and SDK examples call NoMask directly. Only enter your own key and prompts
    you intend to send. Generation requests can incur charges; GET endpoints
    inspect account metadata without generating content.
  contact:
    name: NoMask Support
    email: support@nomask.ai
    url: https://docs.nomask.ai/support
servers:
  - url: https://api.nomask.ai/v1
    description: NoMask API
security:
  - bearerAuth: []
tags:
  - name: Chat
    description: Chat Completions with optional streaming, tools and multimodal inputs.
  - name: Images
    description: Synchronous image generation and editing.
  - name: Models
    description: Current model IDs, capabilities, limits and pricing.
  - name: Account
    description: Balance, usage and calling-key metadata.
paths:
  /models:
    get:
      tags:
        - Models
      summary: List models
      description: >-
        List text and image models available to the calling account. Copy each
        public id into requests. Capabilities, pricing and rate limits are
        dynamic; read the current model data rather than assuming one profile
        applies to every model.
      operationId: listModels
      responses:
        '200':
          description: Successful response. Example values are illustrative.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
            X-RateLimit-Profile:
              $ref: '#/components/headers/XRateLimitProfile'
            X-RateLimit-Limit-Requests:
              $ref: '#/components/headers/XRateLimitLimitRequests'
            X-RateLimit-Remaining-Requests:
              $ref: '#/components/headers/XRateLimitRemainingRequests'
            X-RateLimit-Reset:
              $ref: '#/components/headers/XRateLimitReset'
            X-RateLimit-Limit-Tokens:
              $ref: '#/components/headers/XRateLimitLimitTokens'
            X-RateLimit-Remaining-Tokens:
              $ref: '#/components/headers/XRateLimitRemainingTokens'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelList'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
        '503':
          $ref: '#/components/responses/Error503'
components:
  headers:
    XRequestId:
      description: Request identifier for support and diagnostics.
      schema:
        type: string
    XRateLimitProfile:
      description: Applied public rate-limit profile.
      schema:
        type: string
    XRateLimitLimitRequests:
      description: Maximum requests in the minute window.
      schema:
        type: string
    XRateLimitRemainingRequests:
      description: Remaining requests in the minute window.
      schema:
        type: string
    XRateLimitReset:
      description: Seconds until the relevant allowance resets.
      schema:
        type: string
    XRateLimitLimitTokens:
      description: Maximum text tokens in the minute window.
      schema:
        type: string
    XRateLimitRemainingTokens:
      description: Remaining text tokens in the minute window.
      schema:
        type: string
    RetryAfter:
      description: Seconds to wait before retrying a rate-limited request, when supplied.
      schema:
        type: integer
  schemas:
    ModelList:
      type: object
      properties:
        object:
          type: string
          enum:
            - list
        data:
          type: array
          items:
            $ref: '#/components/schemas/Model'
      required:
        - object
        - data
    Model:
      oneOf:
        - $ref: '#/components/schemas/TextModel'
        - $ref: '#/components/schemas/ImageModel'
      discriminator:
        propertyName: type
        mapping:
          text: '#/components/schemas/TextModel'
          image: '#/components/schemas/ImageModel'
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
              description: Human-readable error.
            type:
              type: string
              description: Error category.
            code:
              type: string
              description: Machine-readable NoMask error code.
            param:
              type: string
              description: The invalid parameter, if applicable.
              nullable: true
          required:
            - message
            - type
            - code
            - param
      required:
        - error
    TextModel:
      type: object
      properties:
        id:
          type: string
          description: Public model ID used in API requests.
        type:
          type: string
          enum:
            - text
        object:
          type: string
          enum:
            - model
        created:
          type: integer
          description: Compatibility timestamp; currently 0.
          enum:
            - 0
        owned_by:
          type: string
          enum:
            - nomask
        name:
          type: string
        description:
          type: string
        icon_svg:
          type: string
          description: Model icon SVG, when available.
          nullable: true
        catalog_added_at:
          type: string
          format: date-time
          nullable: true
        is_beta:
          type: boolean
        is_testing:
          type: boolean
        deprecation_date:
          type: string
          format: date
          nullable: true
        deprecation_notice_date:
          type: string
          format: date
          nullable: true
        tags:
          type: array
          items:
            type: string
        context_length:
          type: integer
          description: Context window in tokens.
        max_output_tokens:
          type: integer
          description: Maximum output tokens, including reasoning.
        rate_limit:
          $ref: '#/components/schemas/TextRateLimit'
        capabilities:
          type: object
          properties:
            vision:
              type: boolean
            video:
              type: boolean
            reasoning:
              type: boolean
            reasoning_always_on:
              type: boolean
            supported_reasoning_efforts:
              type: array
              items:
                type: string
                enum:
                  - minimal
                  - low
                  - medium
                  - high
                  - xhigh
                  - max
            function_calling:
              type: boolean
            prompt_caching:
              type: boolean
            streaming:
              type: boolean
              enum:
                - true
          required:
            - vision
            - video
            - reasoning
            - reasoning_always_on
            - supported_reasoning_efforts
            - function_calling
            - prompt_caching
            - streaming
        video_input:
          type: object
          properties:
            max_duration_seconds:
              type: integer
              minimum: 1
              maximum: 3600
            max_file_size_mb:
              type: integer
              minimum: 1
              maximum: 64
            allowed_formats:
              type: array
              items:
                type: string
                enum:
                  - mp4
                  - mpeg
                  - mov
                  - webm
            max_videos_per_request:
              type: integer
              enum:
                - 1
          required:
            - max_duration_seconds
            - max_file_size_mb
            - allowed_formats
            - max_videos_per_request
          nullable: true
          description: Effective video-input policy, or null when unavailable.
        pricing:
          type: object
          properties:
            usd_per_1m_input_tokens:
              type: number
            usd_per_1m_output_tokens:
              type: number
            usd_per_1m_cached_input_tokens:
              type: number
              nullable: true
            tier_threshold_tokens:
              type: integer
              nullable: true
            usd_per_1m_input_tokens_over:
              type: number
              nullable: true
            usd_per_1m_output_tokens_over:
              type: number
              nullable: true
            usd_per_1m_cached_input_tokens_over:
              type: number
              nullable: true
          required:
            - usd_per_1m_input_tokens
            - usd_per_1m_output_tokens
            - usd_per_1m_cached_input_tokens
            - tier_threshold_tokens
            - usd_per_1m_input_tokens_over
            - usd_per_1m_output_tokens_over
            - usd_per_1m_cached_input_tokens_over
      required:
        - id
        - type
        - object
        - created
        - owned_by
        - name
        - description
        - icon_svg
        - catalog_added_at
        - is_beta
        - is_testing
        - deprecation_date
        - deprecation_notice_date
        - tags
        - context_length
        - max_output_tokens
        - rate_limit
        - capabilities
        - video_input
        - pricing
    ImageModel:
      type: object
      properties:
        id:
          type: string
          description: Public model ID used in API requests.
        type:
          type: string
          enum:
            - image
        object:
          type: string
          enum:
            - model
        created:
          type: integer
          description: Compatibility timestamp; currently 0.
          enum:
            - 0
        owned_by:
          type: string
          enum:
            - nomask
        name:
          type: string
        description:
          type: string
        icon_svg:
          type: string
          description: Model icon SVG, when available.
          nullable: true
        catalog_added_at:
          type: string
          format: date-time
          nullable: true
        is_beta:
          type: boolean
        is_testing:
          type: boolean
        deprecation_date:
          type: string
          format: date
          nullable: true
        deprecation_notice_date:
          type: string
          format: date
          nullable: true
        tags:
          type: array
          items:
            type: string
        modalities:
          type: object
          properties:
            input:
              type: array
              items:
                type: string
                enum:
                  - text
                  - image
            output:
              type: array
              items:
                type: string
                enum:
                  - image
          required:
            - input
            - output
        capabilities:
          type: object
          properties:
            image_generation:
              type: boolean
              enum:
                - true
            image_editing:
              type: boolean
            vision:
              type: boolean
            streaming:
              type: boolean
              enum:
                - false
            prompt_caching:
              type: boolean
              enum:
                - false
          required:
            - image_generation
            - image_editing
            - vision
            - streaming
            - prompt_caching
        rate_limit:
          $ref: '#/components/schemas/ImageRateLimit'
        limits:
          type: object
          properties:
            max_prompt_characters:
              type: integer
            min_reference_images:
              type: integer
            max_reference_images:
              type: integer
              minimum: 0
              maximum: 20
            supported_resolutions:
              type: array
              items:
                type: string
            supported_aspect_ratios:
              type: array
              items:
                type: string
            default_resolution:
              type: string
              nullable: true
            default_aspect_ratio:
              type: string
            output_formats:
              type: array
              items:
                type: string
                enum:
                  - png
                  - jpg
                  - webp
          required:
            - max_prompt_characters
            - min_reference_images
            - max_reference_images
            - supported_resolutions
            - supported_aspect_ratios
            - default_resolution
            - default_aspect_ratio
            - output_formats
        pricing:
          type: object
          properties:
            type:
              type: string
              enum:
                - resolution
                - tokens
            usd_per_image_by_resolution:
              oneOf:
                - type: object
                  additionalProperties:
                    type: string
                    description: USD decimal string with six fractional digits.
                    pattern: ^\d+\.\d{6}$
                - type: array
                  items:
                    type: string
                    description: USD decimal string with six fractional digits.
                    pattern: ^\d+\.\d{6}$
                  maxItems: 0
              description: >-
                For resolution-priced models, a map from resolution tier to USD
                decimal string. Token-priced models return an empty array.
            usd_per_1m_input_tokens:
              type: string
              description: USD decimal string with six fractional digits.
              pattern: ^\d+\.\d{6}$
              nullable: true
            usd_per_1m_output_tokens:
              type: string
              description: USD decimal string with six fractional digits.
              pattern: ^\d+\.\d{6}$
              nullable: true
          required:
            - type
            - usd_per_image_by_resolution
            - usd_per_1m_input_tokens
            - usd_per_1m_output_tokens
      required:
        - id
        - type
        - object
        - created
        - owned_by
        - name
        - description
        - icon_svg
        - catalog_added_at
        - is_beta
        - is_testing
        - deprecation_date
        - deprecation_notice_date
        - tags
        - modalities
        - capabilities
        - rate_limit
        - limits
        - pricing
    TextRateLimit:
      type: object
      properties:
        name:
          type: string
          description: Public profile name.
        requests_per_minute:
          type: integer
          description: Requests per minute.
        tokens_per_minute:
          type: integer
          description: Tokens per minute.
      required:
        - name
        - requests_per_minute
        - tokens_per_minute
      description: >-
        Current text rate-limit profile. Limits are shared per account, and a
        model may select a different profile.
    ImageRateLimit:
      type: object
      properties:
        name:
          type: string
          description: Public profile name.
        requests_per_minute:
          type: integer
        requests_per_day:
          type: integer
      required:
        - name
        - requests_per_minute
        - requests_per_day
      description: >-
        Current image request limits, shared per account across image models and
        keys. Daily allowance resets at midnight Africa/Lagos.
  responses:
    Error401:
      description: Missing, invalid, expired or revoked API key.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error403:
      description: Account restricted from API access.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error429:
      description: >-
        Account rate limit or key monthly spending limit exceeded. Observe
        Retry-After when supplied.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
        X-RateLimit-Profile:
          $ref: '#/components/headers/XRateLimitProfile'
        X-RateLimit-Limit-Requests:
          $ref: '#/components/headers/XRateLimitLimitRequests'
        X-RateLimit-Remaining-Requests:
          $ref: '#/components/headers/XRateLimitRemainingRequests'
        X-RateLimit-Reset:
          $ref: '#/components/headers/XRateLimitReset'
        X-RateLimit-Limit-Tokens:
          $ref: '#/components/headers/XRateLimitLimitTokens'
        X-RateLimit-Remaining-Tokens:
          $ref: '#/components/headers/XRateLimitRemainingTokens'
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error500:
      description: Internal server error.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error503:
      description: Service unavailable or model at capacity.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: NoMask API key
      description: >-
        Create a NoMask API key at https://nomask.ai/api/keys. Keep it private;
        enter only your own key when sending a request.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.