Skip to content

List models

Viewing v1— superseded by v2

GET
/v1/workspaces/{workspace_id}/models
curl --request GET \
--url https://api.app.layer.ai/api/v1/workspaces/:workspace_id/models \
--header 'Authorization: Bearer <token>'

v1 is superseded. v1 was superseded by v2 on 2026-08-26. A sunset date has not been announced yet; v1 will be deprecated as a whole before removal. Migrate with the v2 migration guide.

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

workspace_id
required
Workspace Id

Id of the workspace that owns the resource.

string format: uuid

Id of the workspace that owns the resource.

modality
Modality

Filter by modality

string
nullable
Allowed values: image video three_d audio world text

Filter by modality

search
Search

Full-text search on model name/description

string
nullable

Full-text search on model name/description

supports_reference_images
Supports Reference Images

Require reference image support

boolean
nullable

Require reference image support

inpainting
Inpainting

Require inpainting support

boolean
nullable

Require inpainting support

outpainting
Outpainting

Require outpainting support

boolean
nullable

Require outpainting support

generate_audio
Generate Audio

Require audio generation with video

boolean
nullable

Require audio generation with video

text_to_3d
Text To 3D

Require text-to-3D

boolean
nullable

Require text-to-3D

image_to_3d
Image To 3D

Require image-to-3D

boolean
nullable

Require image-to-3D

text_to_speech
Text To Speech

Require text-to-speech

boolean
nullable

Require text-to-speech

sound_effect
Sound Effect

Require sound effect generation

boolean
nullable

Require sound effect generation

limit
Limit

Maximum number of results to return.

integer
default: 20 >= 1 <= 100

Maximum number of results to return.

cursor
Cursor

Cursor from a previous response to fetch the next page.

string
nullable

Cursor from a previous response to fetch the next page.

Successful Response

Media typeapplication/json
ListModelsOutput
object
models
required
Models
Array<object>
ModelSummary
object
model_id
required
Model Id

Unique model identifier — use for generation or to fetch full details.

string format: uuid
name
required
Name
string
modality
required
Modality

Image, video, three_d, or audio

string
Allowed values: text image audio video three_d playable world
base_model_id
Base Model Id

Base model identifier, e.g. flux_2_pro, kling_v3_pro

string
nullable
description
Description

Model description

string
nullable
inference_timing
required
Inference Timing

Typical generation time range, e.g. ‘5-15s’

string
pagination
required
PaginationOutput
object
next_cursor
Next Cursor

Cursor to use to get the next page

string
nullable
has_more_results
required
Has More Results

If there are more results to page through

boolean
total_count
Total Count

Total number of results matching the query

integer
nullable
Example
{
"models": [
{
"modality": "text"
}
]
}

Unauthenticated — missing or invalid Bearer token.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Forbidden — insufficient permissions, or the access token lacks the scope the operation requires.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Resource not found.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

The outcome of the request with this Idempotency-Key is not known yet: it is still running, or it failed without a stored response. Retry after the number of seconds in Retry-After.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Invalid input parameters, or an Idempotency-Key reused for a different request.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Rate limited — retry after the number of seconds in Retry-After.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Internal server error.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}