---
title: "List models"
method: GET
path: "/v1/workspaces/{workspace_id}/models"
tags: ["Models"]
---

# List models

`GET /v1/workspaces/{workspace_id}/models`

List available AI models in a workspace with optional filtering by modality, capabilities, and text search.

## Path parameters

- `workspace_id` string, uuid, required — Id of the workspace that owns the resource.

## Query parameters

- `modality` 'image' | 'video' | 'three_d' | 'audio' | 'text', nullable — Filter by modality
- `search` string, nullable — Full-text search on model name/description
- `supports_reference_images` boolean, nullable — Require reference image support
- `inpainting` boolean, nullable — Require inpainting support
- `outpainting` boolean, nullable — Require outpainting support
- `generate_audio` boolean, nullable — Require audio generation with video
- `text_to_3d` boolean, nullable — Require text-to-3D
- `image_to_3d` boolean, nullable — Require image-to-3D
- `text_to_speech` boolean, nullable — Require text-to-speech
- `sound_effect` boolean, nullable — Require sound effect generation
- `limit` integer — Maximum number of results to return.
- `cursor` string, nullable — Cursor from a previous response to fetch the next page.

## Response `200`

Successful Response

- ListModelsOutput
  - `models` ModelSummary[], required
    - `model_id` string, uuid, required — Unique model identifier — use for generation or to fetch full details.
    - `name` string, required
    - `modality` 'text' | 'image' | 'audio' | 'video' | 'three_d' | 'playable', required
    - `base_model_id` string, nullable — Base model identifier, e.g. flux_2_pro, kling_v3_pro
    - `description` string, nullable — Model description
    - `inference_timing` string, required — Typical generation time range, e.g. '5-15s'
  - `pagination` PaginationOutput, required
    - `next_cursor` string, nullable — Cursor to use to get the next page
    - `has_more_results` boolean, required — If there are more results to page through
    - `total_count` integer, nullable — Total number of results matching the query

## Other responses

- `401` — Unauthenticated — missing or invalid Bearer token.
- `403` — Forbidden — insufficient permissions, or the access token lacks the scope the operation requires.
- `404` — Resource not found.
- `409` — The request with this `Idempotency-Key` is still running — retry after the number of seconds in `Retry-After`.
- `422` — Invalid input parameters, or an `Idempotency-Key` reused for a different request.
- `429` — Rate limited — retry after the number of seconds in `Retry-After`.
- `500` — Internal server error.

---

[API](https://skmtc.dev/layer/apis/layer-rest-api.md) · [All operations](https://skmtc.dev/layer/apis/layer-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/layer/layer-rest-api/revisions/fafc779f9ba2/schema)
