Skip to content

Create a reference set

Viewing v2— current version

POST
/v2/workspaces/{workspace_id}/reference-sets
curl --request POST \
--url https://api.app.layer.ai/api/v2/workspaces/:workspace_id/reference-sets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"category": "general",
"file_ids": [
"<uuid>"
],
"description": "<string>",
"cover_file_ids": [
"<uuid>"
]
}'

Unchanged from v1. This endpoint’s documented request and response schemas are identical in v1 and v2 — change the /v1 prefix to /v2. Schema equality is not a promise about behaviour, so keep your usual smoke tests.

Create a reference set (a curated collection of already-uploaded files) that can then be trained into a custom style/LoRA. Upload files first via the Files API, then pass their IDs here.

workspace_id
required
Workspace Id

Id of the workspace that owns the resource.

string format: uuid

Id of the workspace that owns the resource.

Media typeapplication/json
CreateReferenceSetRequest
object
name
required
Name

Display name for the reference set.

string
<= 255 characters
category
required
Category

Training category: general (overall aesthetic), character (person/creature), object (specific item), scene (environment), or effect (visual effect).

string
Allowed values: general character object scene effect
file_ids
required
File Ids

Ordered image or video file IDs to include. Must belong to the workspace.

Array<string>
>= 1 items <= 1000 items
description
Any of:
string
<= 2000 characters
cover_file_ids
Any of:
Array<string>

Successful Response

Media typeapplication/json
CreateReferenceSetResponse
object
reference_set_id
required
Reference Set Id

ID of the created reference set (train this with a training run).

string format: uuid
name
required
Name
string
asset_count
required
Asset Count

Number of input files added to the reference set.

integer
cover_count
required
Cover Count

Number of cover thumbnails set on the reference set.

integer
skipped
Skipped

Files from file_ids that were not included, each with the reason.

Array<object>
SkippedFile
object
file_id
required
File Id
string format: uuid
reason
required
Reason

Why this file_id was not added: not_found (no such file), foreign_workspace (belongs to another workspace), already_member (already in the set), or duplicate_in_request (listed more than once in this call).

string
Allowed values: not_found foreign_workspace already_member duplicate_in_request
Example
{
"skipped": [
{
"reason": "not_found"
}
]
}

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.

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."
}

Invalid input parameters.

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 — too many concurrent requests.

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."
}