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

# Get model

> Get full details for a specific model including capabilities, timing, and prompt format.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/workspaces/{workspace_id}/models/{model_id}
openapi: 3.1.0
info:
  title: Layer REST API
  description: >
    REST API for AI-powered game asset creation on the Layer platform.


    ## Authentication


    All endpoints require a Bearer token in the `Authorization` header:


    ```

    Authorization: Bearer <token>

    ```


    ### Personal Access Tokens (recommended)


    The simplest way to authenticate is with a Personal Access Token (PAT):


    1. Log in to [app.layer.ai](https://app.layer.ai)

    2. Go to **Settings > Personal Access Tokens**

    3. Click **Create Token**, give it a name, and copy the token value

    4. Pass it as `Authorization: Bearer <your-pat-token>`


    PATs are long-lived and ideal for scripts, CI pipelines, and partner
    integrations.


    ### OAuth2 (browser-based)


    For browser-based applications, use the Auth0 OAuth2 flow. Redirect users to

    the Layer login page, exchange the authorization code for a JWT access
    token,

    and use it as `Authorization: Bearer <jwt>`.


    ## Creative Units


    Generations consume Creative Units (CUs). Use the estimate endpoints to
    check

    cost before executing. Check workspace balance via `GET
    /v1/workspaces/{id}`.


    ## Pagination


    List endpoints support cursor-based pagination via `limit` and `cursor`
    query

    parameters. Responses include a `pagination` object with `next_cursor`,

    `has_more_results`, and `total_count`. Cursors are opaque — do not parse or

    construct them.


    ## Errors


    All errors return [RFC 7807 Problem
    Details](https://tools.ietf.org/html/rfc7807):


    ```json

    {
      "type": "https://api.layer.ai/errors/ERROR_CODE",
      "title": "Human-readable title",
      "status": 404,
      "detail": "Detailed description of what went wrong."
    }

    ```


    Common status codes: `401` (unauthenticated), `402` (insufficient balance),

    `403` (forbidden), `404` (not found), `422` (invalid input), `429` (rate
    limited).
  version: 1.0.0
servers:
  - url: https://api.app.layer.ai/api
    description: Production
  - url: /backend/rest
    description: Local development
security: []
paths:
  /v1/workspaces/{workspace_id}/models/{model_id}:
    get:
      tags:
        - Models
      summary: Get model
      description: >-
        Get full details for a specific model including capabilities, timing,
        and prompt format.
      operationId: getModel
      parameters:
        - name: workspace_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Workspace Id
        - name: model_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Model Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetModelRESTOutput'
        '401':
          description: Unauthenticated — missing or invalid Bearer token.
          content:
            application/problem+json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://api.layer.ai/errors/ERROR_CODE
                  title:
                    type: string
                    example: Error Title
                  status:
                    type: integer
                    example: 400
                  detail:
                    type: string
                    example: Human-readable description.
                required:
                  - type
                  - title
                  - status
                  - detail
        '402':
          description: Insufficient Creative Units balance.
          content:
            application/problem+json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://api.layer.ai/errors/ERROR_CODE
                  title:
                    type: string
                    example: Error Title
                  status:
                    type: integer
                    example: 400
                  detail:
                    type: string
                    example: Human-readable description.
                required:
                  - type
                  - title
                  - status
                  - detail
        '403':
          description: Forbidden — insufficient permissions.
          content:
            application/problem+json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://api.layer.ai/errors/ERROR_CODE
                  title:
                    type: string
                    example: Error Title
                  status:
                    type: integer
                    example: 400
                  detail:
                    type: string
                    example: Human-readable description.
                required:
                  - type
                  - title
                  - status
                  - detail
        '404':
          description: Resource not found.
          content:
            application/problem+json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://api.layer.ai/errors/ERROR_CODE
                  title:
                    type: string
                    example: Error Title
                  status:
                    type: integer
                    example: 400
                  detail:
                    type: string
                    example: Human-readable description.
                required:
                  - type
                  - title
                  - status
                  - detail
        '422':
          description: Invalid input parameters.
          content:
            application/problem+json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://api.layer.ai/errors/ERROR_CODE
                  title:
                    type: string
                    example: Error Title
                  status:
                    type: integer
                    example: 400
                  detail:
                    type: string
                    example: Human-readable description.
                required:
                  - type
                  - title
                  - status
                  - detail
        '429':
          description: Rate limited — too many concurrent requests.
          content:
            application/problem+json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://api.layer.ai/errors/ERROR_CODE
                  title:
                    type: string
                    example: Error Title
                  status:
                    type: integer
                    example: 400
                  detail:
                    type: string
                    example: Human-readable description.
                required:
                  - type
                  - title
                  - status
                  - detail
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://api.layer.ai/errors/ERROR_CODE
                  title:
                    type: string
                    example: Error Title
                  status:
                    type: integer
                    example: 400
                  detail:
                    type: string
                    example: Human-readable description.
                required:
                  - type
                  - title
                  - status
                  - detail
      security:
        - HTTPBearer: []
components:
  schemas:
    GetModelRESTOutput:
      properties:
        model:
          $ref: '#/components/schemas/ModelDetailREST'
      type: object
      required:
        - model
      title: GetModelRESTOutput
    ModelDetailREST:
      properties:
        model_id:
          type: string
          format: uuid
          title: Model Id
        name:
          type: string
          title: Name
        modality:
          $ref: '#/components/schemas/Modality'
        base_model_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Base Model Id
        base_model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Base Model Name
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        inference_timing:
          type: string
          title: Inference Timing
        capabilities:
          $ref: '#/components/schemas/ModelCapabilitiesREST'
        prompt_format:
          anyOf:
            - type: string
            - type: 'null'
          title: Prompt Format
      type: object
      required:
        - model_id
        - name
        - modality
        - inference_timing
        - capabilities
      title: ModelDetailREST
    Modality:
      type: string
      enum:
        - text
        - image
        - audio
        - video
        - three_d
      title: Modality
    ModelCapabilitiesREST:
      properties:
        session_modes:
          items:
            type: string
          type: array
          title: Session Modes
          description: >-
            Supported modes: create, create_video, create_3_d, create_speech,
            create_sound_effect, prompt_edit_image, etc.
        text_prompt:
          type: boolean
          title: Text Prompt
          default: false
        negative_prompt:
          type: boolean
          title: Negative Prompt
          default: false
        seed:
          type: boolean
          title: Seed
          default: false
        inpainting:
          type: boolean
          title: Inpainting
          default: false
        outpainting:
          type: boolean
          title: Outpainting
          default: false
        tileability:
          type: boolean
          title: Tileability
          default: false
        guidance_file_types:
          items:
            type: string
          type: array
          title: Guidance File Types
          description: >-
            Supported reference image types: pose, depth, canny, lineart, prompt
            (style reference), init, reference_image, etc.
        duration_seconds:
          items:
            type: integer
          type: array
          title: Duration Seconds
          description: Supported video durations in seconds
        generate_audio:
          type: boolean
          title: Generate Audio
          default: false
        lipsync:
          type: boolean
          title: Lipsync
          default: false
        textures:
          type: boolean
          title: Textures
          default: false
        quad_mesh:
          type: boolean
          title: Quad Mesh
          default: false
        pbr_materials:
          type: boolean
          title: Pbr Materials
          default: false
        text_to_speech:
          type: boolean
          title: Text To Speech
          default: false
        sound_effect:
          type: boolean
          title: Sound Effect
          default: false
      type: object
      title: ModelCapabilitiesREST
      description: >-
        ModelCapabilities without the MCP token-saving serializer — returns all
        fields.
  securitySchemes:
    HTTPBearer:
      type: http
      description: >-
        Personal Access Token or OAuth2 JWT. Create a PAT at app.layer.ai →
        Settings → Personal Access Tokens.
      scheme: bearer

````