Subjects & Styles Endpoints¶
AI subjects, visual styles, guidelines, shot types, and presets.
Overview¶
Subjects¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /subjects/ |
List subjects |
| POST | /subjects/ |
Create subject |
| GET | /subjects/{id} |
Get subject |
| PATCH | /subjects/{id} |
Update subject |
| DELETE | /subjects/{id} |
Delete subject |
Styles¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /styles/ |
List styles |
| POST | /styles/ |
Create style |
| GET | /styles/{id} |
Get style |
| PATCH | /styles/{id} |
Update style |
Guidelines¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /guidelines/ |
List guidelines |
| POST | /guidelines/ |
Create guideline |
| GET | /guidelines/{id} |
Get guideline |
Shot Types¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /shot-types/ |
List shot types |
| POST | /shot-types/ |
Create shot type |
| GET | /shot-types/{id} |
Get shot type |
Presets¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /background-presets/ |
List background presets |
| GET | /resolution-presets/ |
List resolution presets |
API Reference¶
Sartiq Backend Server - Subjects Styles 0.1.0¶
subjects¶
GET /api/v1/subjects/¶
Read Subjects
Description
Retrieve subjects.
When organization_id query param is provided, returns subjects belonging to that organization. Without organization_id, returns only personal subjects (not belonging to any organization).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
age_class |
query | No | |||
body_type |
query | No | |||
include_public |
query | No | |||
limit |
query | integer | 100 | No | |
only_with_base_images |
query | No | |||
organization_id |
query | No | |||
skip |
query | integer | 0 | No |
Responses
{
"id": "52815efe-2d5e-4f0e-b1e7-60c1af34aeff",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"data": [
{
"id": "2d7cc883-0842-4eb0-8bd7-f081d88ed941",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "31b3e78b-5146-48d0-9502-e673bb4879da",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "59a8e334-8c59-4d59-bdf0-87a249854f9f",
"organization_id": null
}
],
"count": 0
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"data": {
"items": {
"$ref": "#/components/schemas/SubjectPublic"
},
"type": "array",
"title": "Data"
},
"count": {
"type": "integer",
"title": "Count"
}
},
"type": "object",
"required": [
"data",
"count"
],
"title": "SubjectsPublic"
}
POST /api/v1/subjects/¶
Create Subject
Description
Create new subject, supporting base_images and data_images.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No |
Request body
{
"name": "string",
"surname": null,
"description": null,
"local_model_path": null,
"lora_trigger": null,
"lora_status": "string",
"cover_image": null,
"data_images": null,
"portrait_image": null,
"portfolio_images": null,
"base_images": null,
"age_class": "newborn",
"gender": "MALE",
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"subject_type": "AI",
"body_type": null,
"organization_id": null,
"measurements": null
}
Schema of the request body
{
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"surname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Surname"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"lora_status": {
"type": "string",
"title": "Lora Status",
"default": "none"
},
"cover_image": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
}
],
"title": "Cover Image"
},
"data_images": {
"anyOf": [
{
"items": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
}
]
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images"
},
"portrait_image": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
},
{
"type": "null"
}
],
"title": "Portrait Image"
},
"portfolio_images": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaInput"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Portfolio Images"
},
"base_images": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/BaseImageCreate"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Base Images"
},
"age_class": {
"$ref": "#/components/schemas/SubjectAgeClass"
},
"gender": {
"$ref": "#/components/schemas/Gender",
"default": "FEMALE"
},
"positive_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Positive Prompt"
},
"negative_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Negative Prompt"
},
"ethnicity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ethnicity"
},
"public": {
"type": "boolean",
"title": "Public",
"default": false
},
"subject_type": {
"$ref": "#/components/schemas/SubjectType",
"default": "AI"
},
"body_type": {
"anyOf": [
{
"$ref": "#/components/schemas/BodyType"
},
{
"type": "null"
}
]
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id",
"description": "Organization this subject belongs to"
},
"measurements": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectMeasurementsCreate"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"cover_image",
"age_class"
],
"title": "SubjectCreate"
}
Responses
{
"id": "b32a7d12-88db-4338-aa1d-c7b4728a2907",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "77436072-56a5-482b-b5b9-a17b8b75c78f",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "bec30db8-8149-442d-a5a6-5ecf40d5879e",
"organization_id": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"surname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Surname"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"age_class": {
"$ref": "#/components/schemas/SubjectAgeClass"
},
"gender": {
"$ref": "#/components/schemas/Gender"
},
"subject_type": {
"$ref": "#/components/schemas/SubjectType"
},
"body_type": {
"anyOf": [
{
"$ref": "#/components/schemas/BodyType"
},
{
"type": "null"
}
]
},
"positive_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Positive Prompt"
},
"negative_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Negative Prompt"
},
"ethnicity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ethnicity"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"ready": {
"type": "boolean",
"title": "Ready"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"portrait_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Portrait Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"portrait_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
},
"portfolio_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Portfolio Images Media"
},
"base_images": {
"items": {
"$ref": "#/components/schemas/BaseImagePublic"
},
"type": "array",
"title": "Base Images"
},
"measurements": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectMeasurementsPublic"
},
{
"type": "null"
}
]
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"slug",
"description",
"age_class",
"gender",
"subject_type",
"ethnicity",
"public",
"enabled",
"ready",
"lora_status",
"lora_trigger",
"cover_image_url",
"data_image_urls",
"owner_id"
],
"title": "SubjectPublic"
}
GET /api/v1/subjects/{id}¶
Read Subject
Description
Get subject by ID.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
{
"id": "5fe87b07-9cc9-4cee-92b5-0fe1c8bf2ac2",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "0fa4bbe1-019b-4ed3-a51f-7649c659bb74",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "661256c5-86c3-4f23-aa9b-1223e8c5d54c",
"organization_id": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"surname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Surname"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"age_class": {
"$ref": "#/components/schemas/SubjectAgeClass"
},
"gender": {
"$ref": "#/components/schemas/Gender"
},
"subject_type": {
"$ref": "#/components/schemas/SubjectType"
},
"body_type": {
"anyOf": [
{
"$ref": "#/components/schemas/BodyType"
},
{
"type": "null"
}
]
},
"positive_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Positive Prompt"
},
"negative_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Negative Prompt"
},
"ethnicity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ethnicity"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"ready": {
"type": "boolean",
"title": "Ready"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"portrait_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Portrait Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"portrait_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
},
"portfolio_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Portfolio Images Media"
},
"base_images": {
"items": {
"$ref": "#/components/schemas/BaseImagePublic"
},
"type": "array",
"title": "Base Images"
},
"measurements": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectMeasurementsPublic"
},
{
"type": "null"
}
]
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"slug",
"description",
"age_class",
"gender",
"subject_type",
"ethnicity",
"public",
"enabled",
"ready",
"lora_status",
"lora_trigger",
"cover_image_url",
"data_image_urls",
"owner_id"
],
"title": "SubjectPublic"
}
PUT /api/v1/subjects/{id}¶
Update Subject
Description
Update a subject.
Organization transfer: - To transfer a personal subject to an organization: set organization_id to the target org ID - To transfer a subject out of an organization: set organization_id to None (org owner only)
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Request body
{
"name": null,
"surname": null,
"description": null,
"cover_image": null,
"data_images": null,
"portrait_image": null,
"portfolio_images": null,
"age_class": null,
"gender": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": null,
"ready": null,
"body_type": null,
"organization_id": null,
"measurements": null
}
Schema of the request body
{
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"surname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Surname"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"cover_image": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
},
{
"type": "null"
}
],
"title": "Cover Image"
},
"data_images": {
"anyOf": [
{
"items": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
}
]
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images"
},
"portrait_image": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
},
{
"type": "null"
}
],
"title": "Portrait Image"
},
"portfolio_images": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaInput"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Portfolio Images"
},
"age_class": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectAgeClass"
},
{
"type": "null"
}
]
},
"gender": {
"anyOf": [
{
"$ref": "#/components/schemas/Gender"
},
{
"type": "null"
}
]
},
"positive_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Positive Prompt"
},
"negative_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Negative Prompt"
},
"ethnicity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ethnicity"
},
"public": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Public"
},
"ready": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Ready"
},
"body_type": {
"anyOf": [
{
"$ref": "#/components/schemas/BodyType"
},
{
"type": "null"
}
]
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id",
"description": "Organization to transfer this subject to"
},
"measurements": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectMeasurementsUpdate"
},
{
"type": "null"
}
]
}
},
"type": "object",
"title": "SubjectUpdate"
}
Responses
{
"id": "31fb4e1a-0902-4e36-a7a4-f9e2b4fd1396",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "891c1076-b556-4e56-a96e-bda066890478",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "e30d5ea2-8d8f-4f23-b38d-591fba3a0cce",
"organization_id": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"surname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Surname"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"age_class": {
"$ref": "#/components/schemas/SubjectAgeClass"
},
"gender": {
"$ref": "#/components/schemas/Gender"
},
"subject_type": {
"$ref": "#/components/schemas/SubjectType"
},
"body_type": {
"anyOf": [
{
"$ref": "#/components/schemas/BodyType"
},
{
"type": "null"
}
]
},
"positive_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Positive Prompt"
},
"negative_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Negative Prompt"
},
"ethnicity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ethnicity"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"ready": {
"type": "boolean",
"title": "Ready"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"portrait_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Portrait Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"portrait_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
},
"portfolio_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Portfolio Images Media"
},
"base_images": {
"items": {
"$ref": "#/components/schemas/BaseImagePublic"
},
"type": "array",
"title": "Base Images"
},
"measurements": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectMeasurementsPublic"
},
{
"type": "null"
}
]
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"slug",
"description",
"age_class",
"gender",
"subject_type",
"ethnicity",
"public",
"enabled",
"ready",
"lora_status",
"lora_trigger",
"cover_image_url",
"data_image_urls",
"owner_id"
],
"title": "SubjectPublic"
}
DELETE /api/v1/subjects/{id}¶
Delete Subject
Description
Delete a subject and all associated assets.
This includes: - LoRA model files on compute server - Training datasets on compute server - Generated images and related files
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
POST /api/v1/subjects/{id}/restore¶
Restore Subject
Description
Restore a soft-deleted subject (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No |
Responses
{
"id": "15cbf780-3eb3-4e7f-93c1-7f36301cb3a5",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "84885765-0df0-4891-a8bd-89f0ac3c8cb2",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "38a16925-10e1-4033-b268-c73335376178",
"organization_id": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"surname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Surname"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"age_class": {
"$ref": "#/components/schemas/SubjectAgeClass"
},
"gender": {
"$ref": "#/components/schemas/Gender"
},
"subject_type": {
"$ref": "#/components/schemas/SubjectType"
},
"body_type": {
"anyOf": [
{
"$ref": "#/components/schemas/BodyType"
},
{
"type": "null"
}
]
},
"positive_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Positive Prompt"
},
"negative_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Negative Prompt"
},
"ethnicity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ethnicity"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"ready": {
"type": "boolean",
"title": "Ready"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"portrait_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Portrait Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"portrait_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
},
"portfolio_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Portfolio Images Media"
},
"base_images": {
"items": {
"$ref": "#/components/schemas/BaseImagePublic"
},
"type": "array",
"title": "Base Images"
},
"measurements": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectMeasurementsPublic"
},
{
"type": "null"
}
]
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"slug",
"description",
"age_class",
"gender",
"subject_type",
"ethnicity",
"public",
"enabled",
"ready",
"lora_status",
"lora_trigger",
"cover_image_url",
"data_image_urls",
"owner_id"
],
"title": "SubjectPublic"
}
POST /api/v1/subjects/{id}/copy¶
Copy Subject
Description
Create a copy of an existing subject (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No |
Responses
{
"id": "d3306a93-e869-4a29-a705-71c6bb0cebe4",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "6fdd341b-4e2b-48b7-80ed-4f5dc0bf8fce",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "bf293596-6913-478e-a8cb-a023f4f77f00",
"organization_id": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"surname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Surname"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"age_class": {
"$ref": "#/components/schemas/SubjectAgeClass"
},
"gender": {
"$ref": "#/components/schemas/Gender"
},
"subject_type": {
"$ref": "#/components/schemas/SubjectType"
},
"body_type": {
"anyOf": [
{
"$ref": "#/components/schemas/BodyType"
},
{
"type": "null"
}
]
},
"positive_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Positive Prompt"
},
"negative_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Negative Prompt"
},
"ethnicity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ethnicity"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"ready": {
"type": "boolean",
"title": "Ready"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"portrait_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Portrait Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"portrait_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
},
"portfolio_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Portfolio Images Media"
},
"base_images": {
"items": {
"$ref": "#/components/schemas/BaseImagePublic"
},
"type": "array",
"title": "Base Images"
},
"measurements": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectMeasurementsPublic"
},
{
"type": "null"
}
]
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"slug",
"description",
"age_class",
"gender",
"subject_type",
"ethnicity",
"public",
"enabled",
"ready",
"lora_status",
"lora_trigger",
"cover_image_url",
"data_image_urls",
"owner_id"
],
"title": "SubjectPublic"
}
PATCH /api/v1/subjects/admin/{subject_id}/lora-trigger¶
Update Subject Lora Trigger
Description
Update the LoRA trigger for a subject (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
subject_id |
path | string | No |
Request body
Responses
{
"id": "a5149c3c-e1e7-4b60-9dea-fd5e4b635a64",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "2d8125f4-d6c5-46aa-ad74-6a154032a7be",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "b638c5b3-4e23-4911-862b-6cbba6de648a",
"organization_id": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"surname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Surname"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"age_class": {
"$ref": "#/components/schemas/SubjectAgeClass"
},
"gender": {
"$ref": "#/components/schemas/Gender"
},
"subject_type": {
"$ref": "#/components/schemas/SubjectType"
},
"body_type": {
"anyOf": [
{
"$ref": "#/components/schemas/BodyType"
},
{
"type": "null"
}
]
},
"positive_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Positive Prompt"
},
"negative_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Negative Prompt"
},
"ethnicity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ethnicity"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"ready": {
"type": "boolean",
"title": "Ready"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"portrait_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Portrait Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"portrait_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
},
"portfolio_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Portfolio Images Media"
},
"base_images": {
"items": {
"$ref": "#/components/schemas/BaseImagePublic"
},
"type": "array",
"title": "Base Images"
},
"measurements": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectMeasurementsPublic"
},
{
"type": "null"
}
]
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"slug",
"description",
"age_class",
"gender",
"subject_type",
"ethnicity",
"public",
"enabled",
"ready",
"lora_status",
"lora_trigger",
"cover_image_url",
"data_image_urls",
"owner_id"
],
"title": "SubjectPublic"
}
POST /api/v1/subjects/admin/{subject_id}/upload-lora¶
Upload Subject Lora
Description
Upload a LoRA file for a subject to the compute server. File must be a supported LoRA format (.safetensors, .ckpt, .pt, .pth, .bin) and max 100MB. The lora_trigger (trigger word) is required when uploading a file.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
subject_id |
path | string | No |
Request body
Schema of the request body
{
"properties": {
"file": {
"type": "string",
"contentMediaType": "application/octet-stream",
"title": "File"
},
"lora_trigger": {
"type": "string",
"title": "Lora Trigger"
},
"entity_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Entity Type"
}
},
"type": "object",
"required": [
"file",
"lora_trigger"
],
"title": "Body_upload_subject_lora"
}
Responses
{
"id": "1a865e50-5938-4fc6-9649-286a012b2712",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "56277716-4699-4948-a113-c6673c1bf782",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "fa149ccf-4c1b-43e8-84a1-3ffa9a8358cd",
"organization_id": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"surname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Surname"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"age_class": {
"$ref": "#/components/schemas/SubjectAgeClass"
},
"gender": {
"$ref": "#/components/schemas/Gender"
},
"subject_type": {
"$ref": "#/components/schemas/SubjectType"
},
"body_type": {
"anyOf": [
{
"$ref": "#/components/schemas/BodyType"
},
{
"type": "null"
}
]
},
"positive_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Positive Prompt"
},
"negative_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Negative Prompt"
},
"ethnicity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ethnicity"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"ready": {
"type": "boolean",
"title": "Ready"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"portrait_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Portrait Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"portrait_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
},
"portfolio_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Portfolio Images Media"
},
"base_images": {
"items": {
"$ref": "#/components/schemas/BaseImagePublic"
},
"type": "array",
"title": "Base Images"
},
"measurements": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectMeasurementsPublic"
},
{
"type": "null"
}
]
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"slug",
"description",
"age_class",
"gender",
"subject_type",
"ethnicity",
"public",
"enabled",
"ready",
"lora_status",
"lora_trigger",
"cover_image_url",
"data_image_urls",
"owner_id"
],
"title": "SubjectPublic"
}
PATCH /api/v1/subjects/admin/{subject_id}/assign-owner¶
Assign Subject Owner
Description
Transfer subject ownership to a different user (admin only). Optionally also assign to an organization.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No | Organization ID to assign | ||
subject_id |
path | string | No |
Request body
{
"id": "cc20391a-0b41-40aa-9819-a0eb8d2b5f55",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"new_owner_id": "356a4f4f-d8ed-462e-8d7d-91a482c810b9"
}
Schema of the request body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"new_owner_id": {
"type": "string",
"format": "uuid",
"title": "New Owner Id"
}
},
"type": "object",
"required": [
"new_owner_id"
],
"title": "AssignOwnerRequest"
}
Responses
{
"id": "e6c3a605-a3da-43fe-a894-5d58b3e533a8",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "9e54176e-a739-459b-ba06-037f1fc8fb9e",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "c8da3179-d33a-458f-a8cf-42fec6ddbc22",
"organization_id": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"surname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Surname"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"age_class": {
"$ref": "#/components/schemas/SubjectAgeClass"
},
"gender": {
"$ref": "#/components/schemas/Gender"
},
"subject_type": {
"$ref": "#/components/schemas/SubjectType"
},
"body_type": {
"anyOf": [
{
"$ref": "#/components/schemas/BodyType"
},
{
"type": "null"
}
]
},
"positive_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Positive Prompt"
},
"negative_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Negative Prompt"
},
"ethnicity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ethnicity"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"ready": {
"type": "boolean",
"title": "Ready"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"portrait_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Portrait Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"portrait_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
},
"portfolio_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Portfolio Images Media"
},
"base_images": {
"items": {
"$ref": "#/components/schemas/BaseImagePublic"
},
"type": "array",
"title": "Base Images"
},
"measurements": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectMeasurementsPublic"
},
{
"type": "null"
}
]
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"slug",
"description",
"age_class",
"gender",
"subject_type",
"ethnicity",
"public",
"enabled",
"ready",
"lora_status",
"lora_trigger",
"cover_image_url",
"data_image_urls",
"owner_id"
],
"title": "SubjectPublic"
}
POST /api/v1/subjects/admin/users/{user_id}/assign-subjects¶
Bulk Assign Subjects
Description
Assign multiple subjects to a user (admin only). Optionally also assign to an organization.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No | Organization ID to assign | ||
user_id |
path | string | No |
Request body
{
"id": "2d48a5de-3ce1-4f3c-8ac0-ed5104daa84a",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"subject_ids": [
"9d784e15-d7b1-404a-985e-b8f23c590e6d"
]
}
Schema of the request body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"subject_ids": {
"items": {
"type": "string",
"format": "uuid"
},
"type": "array",
"title": "Subject Ids"
}
},
"type": "object",
"required": [
"subject_ids"
],
"title": "BulkAssignSubjectsRequest"
}
Responses
GET /api/v1/subjects/admin/users/{user_id}/subjects¶
Get User Subjects
Description
Get all subjects owned by a specific user (admin only). Optionally filter by organization.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
limit |
query | integer | 100 | No | |
organization_id |
query | No | Organization ID to filter by | ||
skip |
query | integer | 0 | No | |
user_id |
path | string | No |
Responses
{
"id": "c43cdee8-2fdb-4413-b5ec-0eb686fafe7a",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"data": [
{
"id": "65ad34b6-f926-47d7-9d71-8fd144848eb9",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "ab20404d-de3a-4d76-b34e-6a0a0c86a58d",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "d55244fd-b218-4b35-abdb-2f4e8c0b53f8",
"organization_id": null
}
],
"count": 0
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"data": {
"items": {
"$ref": "#/components/schemas/SubjectPublic"
},
"type": "array",
"title": "Data"
},
"count": {
"type": "integer",
"title": "Count"
}
},
"type": "object",
"required": [
"data",
"count"
],
"title": "SubjectsPublic"
}
GET /api/v1/subjects/admin/¶
Read Subjects Admin
Description
Retrieve all subjects with admin fields (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
body_type |
query | No | |||
limit |
query | integer | 100 | No | |
organization_id |
query | No | Organization ID to filter by | ||
skip |
query | integer | 0 | No |
Responses
{
"id": "bc96ee33-86dd-4b94-beeb-797fd72be1f6",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"data": [
{
"id": "4209fb1f-c205-4960-9e29-52e20e3b28c6",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "15555efa-41d8-42df-b24e-499b2e11d3cf",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "f3f405f4-2723-46ca-a967-cdcc1b53e5b6",
"organization_id": null,
"local_model_path": null,
"lora_filename": null
}
],
"count": 0
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"data": {
"items": {
"$ref": "#/components/schemas/SubjectAdmin"
},
"type": "array",
"title": "Data"
},
"count": {
"type": "integer",
"title": "Count"
}
},
"type": "object",
"required": [
"data",
"count"
],
"title": "SubjectsAdmin"
}
GET /api/v1/subjects/admin/{id}¶
Read Subject Admin
Description
Get subject by ID with admin fields (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No |
Responses
{
"id": "dde5b0b1-27a8-4608-8c31-36104e5df4eb",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "8b4137c1-a6aa-4889-89d8-8aa4d19b4385",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "4a195c6d-a193-4b40-a0eb-cb65ad72305e",
"organization_id": null,
"local_model_path": null,
"lora_filename": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"surname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Surname"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"age_class": {
"$ref": "#/components/schemas/SubjectAgeClass"
},
"gender": {
"$ref": "#/components/schemas/Gender"
},
"subject_type": {
"$ref": "#/components/schemas/SubjectType"
},
"body_type": {
"anyOf": [
{
"$ref": "#/components/schemas/BodyType"
},
{
"type": "null"
}
]
},
"positive_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Positive Prompt"
},
"negative_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Negative Prompt"
},
"ethnicity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ethnicity"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"ready": {
"type": "boolean",
"title": "Ready"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"portrait_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Portrait Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"portrait_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
},
"portfolio_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Portfolio Images Media"
},
"base_images": {
"items": {
"$ref": "#/components/schemas/BaseImagePublic"
},
"type": "array",
"title": "Base Images"
},
"measurements": {
"anyOf": [
{
"$ref": "#/components/schemas/SubjectMeasurementsPublic"
},
{
"type": "null"
}
]
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_filename": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Filename",
"description": "Extract just the filename from local_model_path if it exists.",
"readOnly": true
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"slug",
"description",
"age_class",
"gender",
"subject_type",
"ethnicity",
"public",
"enabled",
"ready",
"lora_status",
"lora_trigger",
"cover_image_url",
"data_image_urls",
"owner_id",
"local_model_path",
"lora_filename"
],
"title": "SubjectAdmin"
}
POST /api/v1/subjects/{id}/base_images¶
Upload Subject Base Image
Description
Add a base image for a subject with specified shot type. Expects a JSON body with image_url (presigned URL from uploads endpoint) and shot_type_id.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Request body
Schema of the request body
{
"properties": {
"shot_type_id": {
"type": "string",
"format": "uuid",
"title": "Shot Type Id"
},
"image_url": {
"type": "string",
"title": "Image Url"
}
},
"type": "object",
"required": [
"shot_type_id",
"image_url"
],
"title": "BaseImageCreate",
"description": "Schema for creating a base image"
}
Responses
{
"shot_type_id": "c01bd69d-5ab5-4f38-86fe-1c4e5b5d6c9c",
"shot_type_label": "string",
"image_url": "string"
}
Schema of the response body
{
"properties": {
"shot_type_id": {
"type": "string",
"format": "uuid",
"title": "Shot Type Id"
},
"shot_type_label": {
"type": "string",
"title": "Shot Type Label"
},
"image_url": {
"type": "string",
"title": "Image Url"
}
},
"type": "object",
"required": [
"shot_type_id",
"shot_type_label",
"image_url"
],
"title": "BaseImagePublic",
"description": "Schema for base image response"
}
GET /api/v1/subjects/{id}/base_images¶
Get Subject Base Images
Description
Get all base images for a subject, optionally filtered by shot type.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No | |||
shot_type |
query | No | Filter by shot type ID |
Responses
DELETE /api/v1/subjects/{id}/base_images¶
Delete Subject Base Image
Description
Delete a specific base image by URL and remove the file from filesystem.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No | |||
url |
query | string | No | URL of the base image to delete |
Responses
POST /api/v1/subjects/base-images/upload¶
Upload Subject Base Images Zip
Description
Upload ZIP with base images for a subject.
When subject_id is provided the ZIP is processed against that existing
subject (original behaviour). When omitted, a new subject is created from
metadata.json inside the ZIP (required — returns 422 if absent).
The ZIP should contain images named after shot types (e.g., front_full_body.jpg). Returns a task object for polling progress.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No | |||
subject_id |
query | No |
Request body
Responses
{
"id": "42139205-5dd6-4fac-aade-5c5bb043f26a",
"owner_id": "bae4d87e-aca3-4d28-becc-c76e05f666e1",
"subject_id": "97b8cfc5-8104-49e3-9845-530dc04cefa2",
"status": "PENDING",
"progress": 0,
"total_items": 0,
"processed_items": 0,
"images_processed": 0,
"images_skipped": 0,
"portfolio_images_processed": 0,
"error_message": null,
"created_at": "2022-04-13T15:42:05.901Z",
"started_at": null,
"completed_at": null,
"result_data": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"subject_id": {
"type": "string",
"format": "uuid",
"title": "Subject Id"
},
"status": {
"$ref": "#/components/schemas/TaskStatus-Output"
},
"progress": {
"type": "integer",
"title": "Progress"
},
"total_items": {
"type": "integer",
"title": "Total Items"
},
"processed_items": {
"type": "integer",
"title": "Processed Items"
},
"images_processed": {
"type": "integer",
"title": "Images Processed"
},
"images_skipped": {
"type": "integer",
"title": "Images Skipped"
},
"portfolio_images_processed": {
"type": "integer",
"title": "Portfolio Images Processed",
"default": 0
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Started At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"result_data": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Result Data"
}
},
"type": "object",
"required": [
"id",
"owner_id",
"subject_id",
"status",
"progress",
"total_items",
"processed_items",
"images_processed",
"images_skipped",
"created_at"
],
"title": "SubjectBaseImagesUploadTaskPublic",
"description": "Response model for subject base images upload task."
}
GET /api/v1/subjects/upload-tasks/{task_id}¶
Get Subject Base Images Upload Task
Description
Poll task status for base images upload.
Use this endpoint to check progress after uploading a ZIP file.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
task_id |
path | string | No |
Responses
{
"id": "c3129e07-773a-4d14-859d-be866f39ec7d",
"owner_id": "70563b0e-8613-4ec6-8cc9-90c5096c5e59",
"subject_id": "69cbbe38-5325-46e4-86ca-7aaca279ce13",
"status": "PENDING",
"progress": 0,
"total_items": 0,
"processed_items": 0,
"images_processed": 0,
"images_skipped": 0,
"portfolio_images_processed": 0,
"error_message": null,
"created_at": "2022-04-13T15:42:05.901Z",
"started_at": null,
"completed_at": null,
"result_data": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"subject_id": {
"type": "string",
"format": "uuid",
"title": "Subject Id"
},
"status": {
"$ref": "#/components/schemas/TaskStatus-Output"
},
"progress": {
"type": "integer",
"title": "Progress"
},
"total_items": {
"type": "integer",
"title": "Total Items"
},
"processed_items": {
"type": "integer",
"title": "Processed Items"
},
"images_processed": {
"type": "integer",
"title": "Images Processed"
},
"images_skipped": {
"type": "integer",
"title": "Images Skipped"
},
"portfolio_images_processed": {
"type": "integer",
"title": "Portfolio Images Processed",
"default": 0
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Started At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"result_data": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Result Data"
}
},
"type": "object",
"required": [
"id",
"owner_id",
"subject_id",
"status",
"progress",
"total_items",
"processed_items",
"images_processed",
"images_skipped",
"created_at"
],
"title": "SubjectBaseImagesUploadTaskPublic",
"description": "Response model for subject base images upload task."
}
GET /api/v1/subjects/{subject_id}/base-images/upload-task¶
Get Subject Base Images Upload Task By Subject
Description
Get the latest base images upload task for a subject.
Use this endpoint when returning to a subject page to resume/check upload status. Returns the most recent task (by created_at) for this subject.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No | |||
subject_id |
path | string | No |
Responses
{
"id": "56fa4c7b-b666-4c17-ae27-4efbd9e6a077",
"owner_id": "051b916a-5b81-44c6-b544-a7e797fb30b1",
"subject_id": "bee35dfb-19a0-4304-97e0-dcf81fcd9237",
"status": "PENDING",
"progress": 0,
"total_items": 0,
"processed_items": 0,
"images_processed": 0,
"images_skipped": 0,
"portfolio_images_processed": 0,
"error_message": null,
"created_at": "2022-04-13T15:42:05.901Z",
"started_at": null,
"completed_at": null,
"result_data": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"subject_id": {
"type": "string",
"format": "uuid",
"title": "Subject Id"
},
"status": {
"$ref": "#/components/schemas/TaskStatus-Output"
},
"progress": {
"type": "integer",
"title": "Progress"
},
"total_items": {
"type": "integer",
"title": "Total Items"
},
"processed_items": {
"type": "integer",
"title": "Processed Items"
},
"images_processed": {
"type": "integer",
"title": "Images Processed"
},
"images_skipped": {
"type": "integer",
"title": "Images Skipped"
},
"portfolio_images_processed": {
"type": "integer",
"title": "Portfolio Images Processed",
"default": 0
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Started At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"result_data": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Result Data"
}
},
"type": "object",
"required": [
"id",
"owner_id",
"subject_id",
"status",
"progress",
"total_items",
"processed_items",
"images_processed",
"images_skipped",
"created_at"
],
"title": "SubjectBaseImagesUploadTaskPublic",
"description": "Response model for subject base images upload task."
}
styles¶
POST /api/v1/styles/¶
Create Style
Description
Create new style.
Supports both traditional image uploads (URL, base64) and MediaInput objects. For presigned URLs, the image should have been previously uploaded using the /uploads endpoint.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No |
Request body
{
"brand": "RetroFashion",
"cover_image": "https://example.com/image.jpg",
"default_lora_weight": 0.8,
"description": "Classic vintage denim style with worn-out look",
"name": "Vintage Denim",
"prompt_keywords": "vintage, denim, retro, classic",
"public": false,
"style_category": "VINTAGE",
"tags": [
"vintage",
"denim",
"retro"
]
}
Schema of the request body
{
"properties": {
"name": {
"type": "string",
"maxLength": 255,
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory",
"default": "OTHER"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight",
"default": 0.7
},
"prompt_keywords": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public",
"default": false
},
"cover_image": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
}
],
"title": "Cover Image",
"description": "URL or base64 string for cover image, or MediaInput object"
},
"data_images": {
"anyOf": [
{
"items": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
}
]
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images",
"description": "List of image URLs, base64 strings, or MediaInput objects"
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tags",
"description": "List of tags for the style"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id",
"description": "Organization this style belongs to"
}
},
"type": "object",
"required": [
"name",
"cover_image"
],
"title": "StyleCreate",
"example": {
"brand": "RetroFashion",
"cover_image": "https://example.com/image.jpg",
"default_lora_weight": 0.8,
"description": "Classic vintage denim style with worn-out look",
"name": "Vintage Denim",
"prompt_keywords": "vintage, denim, retro, classic",
"public": false,
"style_category": "VINTAGE",
"tags": [
"vintage",
"denim",
"retro"
]
}
}
Responses
{
"id": "85382083-1ce6-4b57-8cc0-0cd097c6ad1c",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "e11d8198-f8ff-427b-9ec2-73a2d1f3eca2",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"archived": {
"type": "boolean",
"title": "Archived"
},
"demo": {
"type": "boolean",
"title": "Demo"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"current_training_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Current Training Id"
},
"training_progress": {
"type": "number",
"title": "Training Progress",
"default": 0.0
},
"training_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Training Error"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
}
},
"type": "object",
"required": [
"id",
"created_at",
"name",
"slug",
"description",
"brand",
"style_category",
"local_model_path",
"lora_trigger",
"default_lora_weight",
"prompt_keywords",
"public",
"enabled",
"archived",
"demo",
"cover_image_url",
"data_image_urls",
"tags",
"lora_status",
"owner_id"
],
"title": "StylePublic"
}
GET /api/v1/styles/¶
Read Styles
Description
Retrieve styles. Optionally filter by owner, category, public status, enabled status, archived status, and demo status.
When organization_id query param is provided, returns styles belonging to that organization. Without organization_id, returns only personal styles (not belonging to any organization).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
archived |
query | No | |||
demo |
query | No | |||
enabled |
query | No | |||
limit |
query | integer | 100 | No | |
organization_id |
query | No | |||
owner_id |
query | No | |||
public |
query | No | |||
search |
query | No | |||
skip |
query | integer | 0 | No | |
style_category |
query | No |
Responses
{
"id": "19fc9c0e-6604-4fe3-9307-b5993ed73e15",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"data": [
{
"id": "62b22d56-1952-481a-82a7-5f4f85cf3b6a",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "ad74604e-7289-49f0-a9d5-175987fdec2f",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
],
"count": 0
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"data": {
"items": {
"$ref": "#/components/schemas/StylePublic"
},
"type": "array",
"title": "Data"
},
"count": {
"type": "integer",
"title": "Count"
}
},
"type": "object",
"required": [
"data",
"count"
],
"title": "StylesPublic"
}
GET /api/v1/styles/{id}¶
Read Style
Description
Get style by ID.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
{
"id": "37e84401-8d8c-460e-92d2-ec6df7db6116",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "dd185a24-7bd5-4ef8-a996-633c4c267b48",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"archived": {
"type": "boolean",
"title": "Archived"
},
"demo": {
"type": "boolean",
"title": "Demo"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"current_training_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Current Training Id"
},
"training_progress": {
"type": "number",
"title": "Training Progress",
"default": 0.0
},
"training_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Training Error"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
}
},
"type": "object",
"required": [
"id",
"created_at",
"name",
"slug",
"description",
"brand",
"style_category",
"local_model_path",
"lora_trigger",
"default_lora_weight",
"prompt_keywords",
"public",
"enabled",
"archived",
"demo",
"cover_image_url",
"data_image_urls",
"tags",
"lora_status",
"owner_id"
],
"title": "StylePublic"
}
PUT /api/v1/styles/{id}¶
Update Style
Description
Update a style.
Supports both traditional image uploads (URL, base64) and MediaInput objects. For presigned URLs, the image should have been previously uploaded using the /uploads endpoint.
Organization transfer: - To transfer a personal style to an organization: set organization_id to the target org ID - To transfer a style out of an organization: set organization_id to None (org owner only)
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Request body
{
"brand": "New RetroFashion",
"default_lora_weight": 0.9,
"name": "Updated Vintage Denim",
"public": true,
"style_category": "VINTAGE",
"tags": [
"vintage",
"denim",
"updated"
]
}
Schema of the request body
{
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"anyOf": [
{
"$ref": "#/components/schemas/StyleCategory"
},
{
"type": "null"
}
]
},
"lora_trigger": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Public"
},
"enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Enabled"
},
"archived": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Archived"
},
"cover_image": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
},
{
"type": "null"
}
],
"title": "Cover Image",
"description": "URL or base64 string for cover image, or MediaInput object"
},
"data_images": {
"anyOf": [
{
"items": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
}
]
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images",
"description": "List of image URLs, base64 strings, or MediaInput objects"
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tags",
"description": "List of tags for the style"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id",
"description": "Organization to transfer this style to"
}
},
"type": "object",
"title": "StyleUpdate",
"example": {
"brand": "New RetroFashion",
"default_lora_weight": 0.9,
"name": "Updated Vintage Denim",
"public": true,
"style_category": "VINTAGE",
"tags": [
"vintage",
"denim",
"updated"
]
}
}
Responses
{
"id": "bca69c0c-f22b-48fa-965f-28c117226693",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "f3e730c4-6ea2-427c-a1e0-ff6e3c942934",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"archived": {
"type": "boolean",
"title": "Archived"
},
"demo": {
"type": "boolean",
"title": "Demo"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"current_training_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Current Training Id"
},
"training_progress": {
"type": "number",
"title": "Training Progress",
"default": 0.0
},
"training_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Training Error"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
}
},
"type": "object",
"required": [
"id",
"created_at",
"name",
"slug",
"description",
"brand",
"style_category",
"local_model_path",
"lora_trigger",
"default_lora_weight",
"prompt_keywords",
"public",
"enabled",
"archived",
"demo",
"cover_image_url",
"data_image_urls",
"tags",
"lora_status",
"owner_id"
],
"title": "StylePublic"
}
DELETE /api/v1/styles/{id}¶
Delete Style
Description
Delete a style and all associated assets.
This includes: - LoRA model files on compute server - Training datasets on compute server - Generated images and related files - Media resource attachments
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
GET /api/v1/styles/slug/{slug}¶
Read Style By Slug
Description
Get style by slug.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No | |||
slug |
path | string | No |
Responses
{
"id": "272a1eeb-6bd8-4f0b-8c7d-659bc38123e3",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "fef3a094-f555-4113-b49f-20cbb0a5fb85",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"archived": {
"type": "boolean",
"title": "Archived"
},
"demo": {
"type": "boolean",
"title": "Demo"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"current_training_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Current Training Id"
},
"training_progress": {
"type": "number",
"title": "Training Progress",
"default": 0.0
},
"training_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Training Error"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
}
},
"type": "object",
"required": [
"id",
"created_at",
"name",
"slug",
"description",
"brand",
"style_category",
"local_model_path",
"lora_trigger",
"default_lora_weight",
"prompt_keywords",
"public",
"enabled",
"archived",
"demo",
"cover_image_url",
"data_image_urls",
"tags",
"lora_status",
"owner_id"
],
"title": "StylePublic"
}
POST /api/v1/styles/{id}/restore¶
Restore Style
Description
Restore a soft-deleted style (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No |
Responses
{
"id": "9d7542ee-ea92-4e9c-a489-0bd6b0c0e1fb",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "00211298-fae4-4357-b9d9-580b4294d9d1",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"archived": {
"type": "boolean",
"title": "Archived"
},
"demo": {
"type": "boolean",
"title": "Demo"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"current_training_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Current Training Id"
},
"training_progress": {
"type": "number",
"title": "Training Progress",
"default": 0.0
},
"training_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Training Error"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
}
},
"type": "object",
"required": [
"id",
"created_at",
"name",
"slug",
"description",
"brand",
"style_category",
"local_model_path",
"lora_trigger",
"default_lora_weight",
"prompt_keywords",
"public",
"enabled",
"archived",
"demo",
"cover_image_url",
"data_image_urls",
"tags",
"lora_status",
"owner_id"
],
"title": "StylePublic"
}
PUT /api/v1/styles/{id}/archive¶
Archive Style
Description
Archive a style.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
{
"id": "1197197d-122d-41e9-b628-49ca5f014b33",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "5f034d06-8bc8-4835-8504-20f7eb92fef9",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"archived": {
"type": "boolean",
"title": "Archived"
},
"demo": {
"type": "boolean",
"title": "Demo"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"current_training_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Current Training Id"
},
"training_progress": {
"type": "number",
"title": "Training Progress",
"default": 0.0
},
"training_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Training Error"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
}
},
"type": "object",
"required": [
"id",
"created_at",
"name",
"slug",
"description",
"brand",
"style_category",
"local_model_path",
"lora_trigger",
"default_lora_weight",
"prompt_keywords",
"public",
"enabled",
"archived",
"demo",
"cover_image_url",
"data_image_urls",
"tags",
"lora_status",
"owner_id"
],
"title": "StylePublic"
}
PUT /api/v1/styles/{id}/unarchive¶
Unarchive Style
Description
Unarchive a style.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
{
"id": "cf53efdb-4308-4dcd-a297-6c9074a49878",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "ed547a56-797a-458a-a6b6-2c87b7f40300",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"archived": {
"type": "boolean",
"title": "Archived"
},
"demo": {
"type": "boolean",
"title": "Demo"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"current_training_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Current Training Id"
},
"training_progress": {
"type": "number",
"title": "Training Progress",
"default": 0.0
},
"training_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Training Error"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
}
},
"type": "object",
"required": [
"id",
"created_at",
"name",
"slug",
"description",
"brand",
"style_category",
"local_model_path",
"lora_trigger",
"default_lora_weight",
"prompt_keywords",
"public",
"enabled",
"archived",
"demo",
"cover_image_url",
"data_image_urls",
"tags",
"lora_status",
"owner_id"
],
"title": "StylePublic"
}
GET /api/v1/styles/admin/¶
Read Styles Admin
Description
Retrieve all styles with admin fields (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
limit |
query | integer | 100 | No | |
organization_id |
query | No | Organization ID to filter by | ||
skip |
query | integer | 0 | No |
Responses
{
"id": "416d087f-7dd3-43fb-ac49-649bc70166d4",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"data": [
{
"id": "396ff45f-618b-4819-b50a-b9fed144265d",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "c5a702fc-d517-4239-8306-898acf81a751",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
],
"count": 0
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"data": {
"items": {
"$ref": "#/components/schemas/StyleAdmin"
},
"type": "array",
"title": "Data"
},
"count": {
"type": "integer",
"title": "Count"
}
},
"type": "object",
"required": [
"data",
"count"
],
"title": "StylesAdmin"
}
GET /api/v1/styles/admin/{id}¶
Read Style Admin
Description
Get style by ID with admin fields (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No |
Responses
{
"id": "e35ca5f9-c42a-4f50-853a-5122eced1815",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "30d88011-10cb-4ce9-b99c-42ba990c7689",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"archived": {
"type": "boolean",
"title": "Archived"
},
"demo": {
"type": "boolean",
"title": "Demo"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"current_training_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Current Training Id"
},
"training_progress": {
"type": "number",
"title": "Training Progress",
"default": 0.0
},
"training_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Training Error"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
}
},
"type": "object",
"required": [
"id",
"created_at",
"name",
"slug",
"description",
"brand",
"style_category",
"local_model_path",
"lora_trigger",
"default_lora_weight",
"prompt_keywords",
"public",
"enabled",
"archived",
"demo",
"cover_image_url",
"data_image_urls",
"tags",
"lora_status",
"owner_id"
],
"title": "StyleAdmin",
"description": "Style model with admin fields."
}
PATCH /api/v1/styles/admin/{style_id}/assign-owner¶
Assign Style Owner
Description
Assign a style to a different owner (admin only). Optionally also assign to an organization.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No | Organization ID to assign | ||
style_id |
path | string | No |
Request body
{
"id": "db2237e8-e3b2-4fc5-b0bd-194fb39e0866",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"new_owner_id": "279ba38d-414e-47ed-ac55-fdca52b2240f"
}
Schema of the request body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"new_owner_id": {
"type": "string",
"format": "uuid",
"title": "New Owner Id"
}
},
"type": "object",
"required": [
"new_owner_id"
],
"title": "AssignOwnerRequest"
}
Responses
{
"id": "2496b684-0f3b-4ec5-82b5-1c5cac833c4f",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "fec3e245-3a37-461c-8d73-590a99292969",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"archived": {
"type": "boolean",
"title": "Archived"
},
"demo": {
"type": "boolean",
"title": "Demo"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"current_training_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Current Training Id"
},
"training_progress": {
"type": "number",
"title": "Training Progress",
"default": 0.0
},
"training_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Training Error"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
}
},
"type": "object",
"required": [
"id",
"created_at",
"name",
"slug",
"description",
"brand",
"style_category",
"local_model_path",
"lora_trigger",
"default_lora_weight",
"prompt_keywords",
"public",
"enabled",
"archived",
"demo",
"cover_image_url",
"data_image_urls",
"tags",
"lora_status",
"owner_id"
],
"title": "StylePublic"
}
PATCH /api/v1/styles/admin/{style_id}/lora-trigger¶
Update Style Lora Trigger
Description
Update the LoRA trigger word for a style (admin only). If no lora_trigger is provided, it will be cleared (set to None).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
style_id |
path | string | No |
Request body
Responses
{
"id": "bb5526d0-ea30-4726-90d5-cb38c9f19b64",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "8910c3e7-93c1-4eaf-8264-f039cd4829d8",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"archived": {
"type": "boolean",
"title": "Archived"
},
"demo": {
"type": "boolean",
"title": "Demo"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"current_training_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Current Training Id"
},
"training_progress": {
"type": "number",
"title": "Training Progress",
"default": 0.0
},
"training_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Training Error"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
}
},
"type": "object",
"required": [
"id",
"created_at",
"name",
"slug",
"description",
"brand",
"style_category",
"local_model_path",
"lora_trigger",
"default_lora_weight",
"prompt_keywords",
"public",
"enabled",
"archived",
"demo",
"cover_image_url",
"data_image_urls",
"tags",
"lora_status",
"owner_id"
],
"title": "StylePublic"
}
POST /api/v1/styles/admin/{style_id}/upload-lora¶
Upload Style Lora
Description
Upload a pre-trained LoRA file for a style (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
style_id |
path | string | No |
Request body
Responses
{
"id": "760d009d-5e52-4d5e-b36d-a4c10f14bc4c",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"slug": "string",
"description": null,
"brand": null,
"style_category": "VINTAGE",
"local_model_path": null,
"lora_trigger": null,
"default_lora_weight": 10.12,
"prompt_keywords": null,
"public": true,
"enabled": true,
"archived": true,
"demo": true,
"cover_image_url": null,
"data_image_urls": [
"string"
],
"tags": [
"string"
],
"deleted_at": null,
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "9f992587-5a2c-48e9-ad28-58f24f96e311",
"organization_id": null,
"cover_image_media": null,
"data_images_media": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"type": "string",
"title": "Slug"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brand"
},
"style_category": {
"$ref": "#/components/schemas/StyleCategory"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"lora_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lora Trigger"
},
"default_lora_weight": {
"type": "number",
"title": "Default Lora Weight"
},
"prompt_keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Keywords"
},
"public": {
"type": "boolean",
"title": "Public"
},
"enabled": {
"type": "boolean",
"title": "Enabled"
},
"archived": {
"type": "boolean",
"title": "Archived"
},
"demo": {
"type": "boolean",
"title": "Demo"
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"data_image_urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Data Image Urls"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"lora_status": {
"type": "string",
"title": "Lora Status"
},
"current_training_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Current Training Id"
},
"training_progress": {
"type": "number",
"title": "Training Progress",
"default": 0.0
},
"training_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Training Error"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"cover_image_media": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
},
"data_images_media": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/MediaResourcePublic"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Images Media"
}
},
"type": "object",
"required": [
"id",
"created_at",
"name",
"slug",
"description",
"brand",
"style_category",
"local_model_path",
"lora_trigger",
"default_lora_weight",
"prompt_keywords",
"public",
"enabled",
"archived",
"demo",
"cover_image_url",
"data_image_urls",
"tags",
"lora_status",
"owner_id"
],
"title": "StylePublic"
}
shot-types¶
POST /api/v1/shot-types/¶
Create Shot Type
Description
Create new shot type.
Supports both traditional image uploads (URL, base64) and presigned URLs. For presigned URLs, the image should have been previously uploaded using the /uploads endpoint.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No |
Request body
{
"file_naming_convention": "{product_name}_front_upper",
"framing": "upper_body",
"name": "front_upper_body",
"shot_type_prompt_instruction": "Capture the front view from waist up",
"shot_type_ref_image_url": "https://example.com/reference.jpg",
"view_angle": "front"
}
Schema of the request body
{
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"view_angle": {
"$ref": "#/components/schemas/ViewAngle"
},
"framing": {
"$ref": "#/components/schemas/ShotTypeFraming"
},
"shot_type_ref_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Ref Image Url"
},
"shot_type_prompt_instruction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Prompt Instruction"
},
"file_naming_convention": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Naming Convention"
},
"reference_image_url": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
},
{
"type": "null"
}
],
"title": "Reference Image Url"
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt"
},
"prompt_builder_section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Builder Section"
},
"core_focus": {
"type": "boolean",
"title": "Core Focus",
"default": false
},
"default_shot_type": {
"anyOf": [
{
"$ref": "#/components/schemas/DefaultShotTypes"
},
{
"type": "null"
}
]
},
"margins": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Margins"
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"public": {
"type": "boolean",
"title": "Public",
"default": true
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
}
},
"type": "object",
"required": [
"name",
"view_angle",
"framing"
],
"title": "ShotTypeCreate",
"description": "Schema for creating a ShotType",
"example": {
"file_naming_convention": "{product_name}_front_upper",
"framing": "upper_body",
"name": "front_upper_body",
"shot_type_prompt_instruction": "Capture the front view from waist up",
"shot_type_ref_image_url": "https://example.com/reference.jpg",
"view_angle": "front"
}
}
Responses
{
"name": "string",
"view_angle": "front",
"framing": "full_body",
"shot_type_ref_image_url": null,
"shot_type_prompt_instruction": null,
"file_naming_convention": null,
"reference_image_url": null,
"prompt": null,
"prompt_builder_section": null,
"core_focus": true,
"default_shot_type": null,
"margins": null,
"owner_id": null,
"public": true,
"organization_id": null,
"id": "73b46155-6215-47cb-b7d9-f98fd96c776d",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"deleted_at": null,
"reference_image": null
}
Schema of the response body
{
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"view_angle": {
"$ref": "#/components/schemas/ViewAngle"
},
"framing": {
"$ref": "#/components/schemas/ShotTypeFraming"
},
"shot_type_ref_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Ref Image Url"
},
"shot_type_prompt_instruction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Prompt Instruction"
},
"file_naming_convention": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Naming Convention"
},
"reference_image_url": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
},
{
"type": "null"
}
],
"title": "Reference Image Url"
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt"
},
"prompt_builder_section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Builder Section"
},
"core_focus": {
"type": "boolean",
"title": "Core Focus",
"default": false
},
"default_shot_type": {
"anyOf": [
{
"$ref": "#/components/schemas/DefaultShotTypes"
},
{
"type": "null"
}
]
},
"margins": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Margins"
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"public": {
"type": "boolean",
"title": "Public",
"default": true
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"reference_image": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"view_angle",
"framing",
"id",
"created_at",
"updated_at"
],
"title": "ShotTypePublic",
"description": "Public schema for ShotType"
}
GET /api/v1/shot-types/¶
Read Shot Types
Description
Retrieve shot types. Optionally filter by view angle, framing, or search term.
When organization_id query param is provided, returns shot types belonging to that organization. Without organization_id, returns only personal shot types (not belonging to any organization).
Admin-only: owner_id filter returns public shot types + shot types owned by that user.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
framing |
query | No | |||
include_public |
query | No | |||
limit |
query | integer | 100 | No | |
organization_id |
query | No | |||
owner_id |
query | No | |||
public |
query | No | |||
search |
query | No | |||
skip |
query | integer | 0 | No | |
view_angle |
query | No |
Responses
{
"data": [
{
"name": "string",
"view_angle": "front",
"framing": "full_body",
"shot_type_ref_image_url": null,
"shot_type_prompt_instruction": null,
"file_naming_convention": null,
"reference_image_url": null,
"prompt": null,
"prompt_builder_section": null,
"core_focus": true,
"default_shot_type": null,
"margins": null,
"owner_id": null,
"public": true,
"organization_id": null,
"id": "a1355c2d-a443-44d9-88f3-bf59a51adf8e",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"deleted_at": null,
"reference_image": null
}
],
"count": 0
}
Schema of the response body
{
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/ShotTypePublic"
},
"type": "array",
"title": "Data"
},
"count": {
"type": "integer",
"title": "Count"
}
},
"type": "object",
"required": [
"data",
"count"
],
"title": "ShotTypesPublic",
"description": "Collection of ShotTypePublic objects"
}
GET /api/v1/shot-types/{id}¶
Read Shot Type
Description
Get shot type by ID.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
{
"name": "string",
"view_angle": "front",
"framing": "full_body",
"shot_type_ref_image_url": null,
"shot_type_prompt_instruction": null,
"file_naming_convention": null,
"reference_image_url": null,
"prompt": null,
"prompt_builder_section": null,
"core_focus": true,
"default_shot_type": null,
"margins": null,
"owner_id": null,
"public": true,
"organization_id": null,
"id": "f1f36c6f-dd52-49b2-8361-ddd37e8f85f8",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"deleted_at": null,
"reference_image": null
}
Schema of the response body
{
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"view_angle": {
"$ref": "#/components/schemas/ViewAngle"
},
"framing": {
"$ref": "#/components/schemas/ShotTypeFraming"
},
"shot_type_ref_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Ref Image Url"
},
"shot_type_prompt_instruction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Prompt Instruction"
},
"file_naming_convention": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Naming Convention"
},
"reference_image_url": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
},
{
"type": "null"
}
],
"title": "Reference Image Url"
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt"
},
"prompt_builder_section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Builder Section"
},
"core_focus": {
"type": "boolean",
"title": "Core Focus",
"default": false
},
"default_shot_type": {
"anyOf": [
{
"$ref": "#/components/schemas/DefaultShotTypes"
},
{
"type": "null"
}
]
},
"margins": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Margins"
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"public": {
"type": "boolean",
"title": "Public",
"default": true
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"reference_image": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"view_angle",
"framing",
"id",
"created_at",
"updated_at"
],
"title": "ShotTypePublic",
"description": "Public schema for ShotType"
}
PUT /api/v1/shot-types/{id}¶
Update Shot Type
Description
Update a shot type.
Supports both traditional image uploads (URL, base64) and presigned URLs. For presigned URLs, the image should have been previously uploaded using the /uploads endpoint.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Request body
{
"name": "front_upper_body_updated",
"shot_type_prompt_instruction": "Updated instructions for front view",
"view_angle": "front"
}
Schema of the request body
{
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"view_angle": {
"anyOf": [
{
"$ref": "#/components/schemas/ViewAngle"
},
{
"type": "null"
}
]
},
"framing": {
"anyOf": [
{
"$ref": "#/components/schemas/ShotTypeFraming"
},
{
"type": "null"
}
]
},
"shot_type_ref_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Ref Image Url"
},
"shot_type_prompt_instruction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Prompt Instruction"
},
"file_naming_convention": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Naming Convention"
},
"reference_image_url": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
},
{
"type": "null"
}
],
"title": "Reference Image Url"
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt"
},
"prompt_builder_section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Builder Section"
},
"core_focus": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Core Focus"
},
"default_shot_type": {
"anyOf": [
{
"$ref": "#/components/schemas/DefaultShotTypes"
},
{
"type": "null"
}
]
},
"margins": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Margins"
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"public": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Public",
"default": true
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
}
},
"type": "object",
"title": "ShotTypeUpdate",
"description": "Schema for updating a ShotType",
"example": {
"name": "front_upper_body_updated",
"shot_type_prompt_instruction": "Updated instructions for front view",
"view_angle": "front"
}
}
Responses
{
"name": "string",
"view_angle": "front",
"framing": "full_body",
"shot_type_ref_image_url": null,
"shot_type_prompt_instruction": null,
"file_naming_convention": null,
"reference_image_url": null,
"prompt": null,
"prompt_builder_section": null,
"core_focus": true,
"default_shot_type": null,
"margins": null,
"owner_id": null,
"public": true,
"organization_id": null,
"id": "b5ed4685-28f8-40ac-a8f2-40d2a57e36cb",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"deleted_at": null,
"reference_image": null
}
Schema of the response body
{
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"view_angle": {
"$ref": "#/components/schemas/ViewAngle"
},
"framing": {
"$ref": "#/components/schemas/ShotTypeFraming"
},
"shot_type_ref_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Ref Image Url"
},
"shot_type_prompt_instruction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Prompt Instruction"
},
"file_naming_convention": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Naming Convention"
},
"reference_image_url": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
},
{
"type": "null"
}
],
"title": "Reference Image Url"
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt"
},
"prompt_builder_section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Builder Section"
},
"core_focus": {
"type": "boolean",
"title": "Core Focus",
"default": false
},
"default_shot_type": {
"anyOf": [
{
"$ref": "#/components/schemas/DefaultShotTypes"
},
{
"type": "null"
}
]
},
"margins": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Margins"
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"public": {
"type": "boolean",
"title": "Public",
"default": true
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"reference_image": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"view_angle",
"framing",
"id",
"created_at",
"updated_at"
],
"title": "ShotTypePublic",
"description": "Public schema for ShotType"
}
DELETE /api/v1/shot-types/{id}¶
Delete Shot Type
Description
Delete a shot type.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
GET /api/v1/shot-types/name/{name}¶
Read Shot Type By Name
Description
Get shot type by name.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
name |
path | string | No | ||
organization_id |
query | No |
Responses
{
"name": "string",
"view_angle": "front",
"framing": "full_body",
"shot_type_ref_image_url": null,
"shot_type_prompt_instruction": null,
"file_naming_convention": null,
"reference_image_url": null,
"prompt": null,
"prompt_builder_section": null,
"core_focus": true,
"default_shot_type": null,
"margins": null,
"owner_id": null,
"public": true,
"organization_id": null,
"id": "75452a33-f5a4-41a5-b3cb-dff7a77685d6",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"deleted_at": null,
"reference_image": null
}
Schema of the response body
{
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"view_angle": {
"$ref": "#/components/schemas/ViewAngle"
},
"framing": {
"$ref": "#/components/schemas/ShotTypeFraming"
},
"shot_type_ref_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Ref Image Url"
},
"shot_type_prompt_instruction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Prompt Instruction"
},
"file_naming_convention": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Naming Convention"
},
"reference_image_url": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
},
{
"type": "null"
}
],
"title": "Reference Image Url"
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt"
},
"prompt_builder_section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Builder Section"
},
"core_focus": {
"type": "boolean",
"title": "Core Focus",
"default": false
},
"default_shot_type": {
"anyOf": [
{
"$ref": "#/components/schemas/DefaultShotTypes"
},
{
"type": "null"
}
]
},
"margins": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Margins"
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"public": {
"type": "boolean",
"title": "Public",
"default": true
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"reference_image": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"view_angle",
"framing",
"id",
"created_at",
"updated_at"
],
"title": "ShotTypePublic",
"description": "Public schema for ShotType"
}
POST /api/v1/shot-types/{id}/restore¶
Restore Shot Type
Description
Restore a soft-deleted shot type (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No |
Responses
{
"name": "string",
"view_angle": "front",
"framing": "full_body",
"shot_type_ref_image_url": null,
"shot_type_prompt_instruction": null,
"file_naming_convention": null,
"reference_image_url": null,
"prompt": null,
"prompt_builder_section": null,
"core_focus": true,
"default_shot_type": null,
"margins": null,
"owner_id": null,
"public": true,
"organization_id": null,
"id": "6bebbe02-d43c-456b-998e-76b20b0df273",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"deleted_at": null,
"reference_image": null
}
Schema of the response body
{
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"view_angle": {
"$ref": "#/components/schemas/ViewAngle"
},
"framing": {
"$ref": "#/components/schemas/ShotTypeFraming"
},
"shot_type_ref_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Ref Image Url"
},
"shot_type_prompt_instruction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shot Type Prompt Instruction"
},
"file_naming_convention": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Naming Convention"
},
"reference_image_url": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/MediaInput"
},
{
"type": "null"
}
],
"title": "Reference Image Url"
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt"
},
"prompt_builder_section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Builder Section"
},
"core_focus": {
"type": "boolean",
"title": "Core Focus",
"default": false
},
"default_shot_type": {
"anyOf": [
{
"$ref": "#/components/schemas/DefaultShotTypes"
},
{
"type": "null"
}
]
},
"margins": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Margins"
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"public": {
"type": "boolean",
"title": "Public",
"default": true
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"reference_image": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaResourcePublic"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"view_angle",
"framing",
"id",
"created_at",
"updated_at"
],
"title": "ShotTypePublic",
"description": "Public schema for ShotType"
}
background-presets¶
POST /api/v1/background-presets/¶
Create Background Preset
Description
Create new background preset with per-framing images.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No |
Request body
{
"framings": [
{
"image": "https://example.com/backgrounds/white.jpg"
}
],
"name": "Studio White Background",
"strategy": "DEFAULT"
}
Schema of the request body
{
"properties": {
"name": {
"type": "string",
"maxLength": 255,
"title": "Name"
},
"framings": {
"items": {
"$ref": "#/components/schemas/BackgroundPresetFramingCreate"
},
"type": "array",
"minItems": 1,
"title": "Framings",
"description": "At least one framing entry is required"
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"strategy": {
"anyOf": [
{
"$ref": "#/components/schemas/BackgroundFixStrategy"
},
{
"type": "null"
}
],
"description": "Strategy for background fix processing",
"default": "DEFAULT"
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt",
"description": "Optional free-text directive appended to every generation prompt that uses this background (e.g. 'make the background pure #FFFFFF white')."
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id",
"description": "Organization this preset belongs to"
}
},
"type": "object",
"required": [
"name",
"framings"
],
"title": "BackgroundPresetCreate",
"example": {
"framings": [
{
"image": "https://example.com/backgrounds/white.jpg"
}
],
"name": "Studio White Background",
"strategy": "DEFAULT"
}
}
Responses
{
"id": "b4968dc3-006e-44b8-bafd-344c6559405b",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "7e93e4fb-c395-4bc3-a3cf-e53373d2998c",
"organization_id": null,
"framings": [
{
"id": "2f911c21-bb6a-43c6-bb62-a61efeb09735",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"framing": null,
"image_url": null,
"image_media": null
}
],
"cover_image_url": null,
"strategy": null,
"prompt": null,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"framings": {
"items": {
"$ref": "#/components/schemas/BackgroundPresetFramingPublic"
},
"type": "array",
"title": "Framings",
"default": []
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"strategy": {
"anyOf": [
{
"$ref": "#/components/schemas/BackgroundFixStrategy"
},
{
"type": "null"
}
]
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"owner_id",
"strategy"
],
"title": "BackgroundPresetPublic"
}
GET /api/v1/background-presets/¶
Read Background Presets
Description
Retrieve background presets.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
limit |
query | integer | 100 | No | |
organization_id |
query | No | |||
owner_id |
query | No | |||
skip |
query | integer | 0 | No |
Responses
{
"data": [
{
"id": "9b904680-5094-4948-a768-1d1687c5244a",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "da17eecb-64bd-4ba6-ace9-6cb48045aa2b",
"organization_id": null,
"framings": [
{
"id": "83a14a60-16d0-4fbb-96e8-7d28f0ec7ab9",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"framing": null,
"image_url": null,
"image_media": null
}
],
"cover_image_url": null,
"strategy": null,
"prompt": null,
"deleted_at": null
}
],
"count": 0
}
GET /api/v1/background-presets/{id}¶
Read Background Preset
Description
Get background preset by ID.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
{
"id": "69a45cec-864a-4a00-bf3d-e13c88fd1f04",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "112f4de4-7cb1-442c-9508-ad35d70b5df2",
"organization_id": null,
"framings": [
{
"id": "32460692-8f10-4e23-a619-27140eceabe4",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"framing": null,
"image_url": null,
"image_media": null
}
],
"cover_image_url": null,
"strategy": null,
"prompt": null,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"framings": {
"items": {
"$ref": "#/components/schemas/BackgroundPresetFramingPublic"
},
"type": "array",
"title": "Framings",
"default": []
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"strategy": {
"anyOf": [
{
"$ref": "#/components/schemas/BackgroundFixStrategy"
},
{
"type": "null"
}
]
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"owner_id",
"strategy"
],
"title": "BackgroundPresetPublic"
}
PUT /api/v1/background-presets/{id}¶
Update Background Preset
Description
Update a background preset.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Request body
{
"framings": [
{
"framing": "full_body",
"image": "https://example.com/backgrounds/full.jpg"
},
{
"image": "https://example.com/backgrounds/fallback.jpg"
}
],
"name": "Updated Background Name",
"strategy": "OVS"
}
Schema of the request body
{
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Name"
},
"framings": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/BackgroundPresetFramingCreate"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Framings",
"description": "Full-replace framings list. None = no change."
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"strategy": {
"anyOf": [
{
"$ref": "#/components/schemas/BackgroundFixStrategy"
},
{
"type": "null"
}
],
"description": "Strategy for background fix processing"
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt",
"description": "Optional free-text directive appended to every generation prompt that uses this background. Send null to clear; omit to leave unchanged."
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id",
"description": "Organization to transfer this preset to"
}
},
"type": "object",
"title": "BackgroundPresetUpdate",
"example": {
"framings": [
{
"framing": "full_body",
"image": "https://example.com/backgrounds/full.jpg"
},
{
"image": "https://example.com/backgrounds/fallback.jpg"
}
],
"name": "Updated Background Name",
"strategy": "OVS"
}
}
Responses
{
"id": "fd4632bf-45e7-4c24-81ea-d46ff0a76fd4",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "99f2d2e1-d8dc-48fe-9689-e29d9c285270",
"organization_id": null,
"framings": [
{
"id": "f91b68df-d8df-4ec3-9b02-165fff100e0f",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"framing": null,
"image_url": null,
"image_media": null
}
],
"cover_image_url": null,
"strategy": null,
"prompt": null,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"framings": {
"items": {
"$ref": "#/components/schemas/BackgroundPresetFramingPublic"
},
"type": "array",
"title": "Framings",
"default": []
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"strategy": {
"anyOf": [
{
"$ref": "#/components/schemas/BackgroundFixStrategy"
},
{
"type": "null"
}
]
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"owner_id",
"strategy"
],
"title": "BackgroundPresetPublic"
}
DELETE /api/v1/background-presets/{id}¶
Delete Background Preset
Description
Delete a background preset.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
POST /api/v1/background-presets/{id}/restore¶
Restore Background Preset
Description
Restore a soft-deleted background preset (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No |
Responses
{
"id": "b166871e-0605-4608-9a5b-7e4300cd6d53",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "750fbf36-8049-4b44-b10c-f6ddee4e57d9",
"organization_id": null,
"framings": [
{
"id": "250a2ae6-15b0-4f46-abeb-491c384b549d",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"framing": null,
"image_url": null,
"image_media": null
}
],
"cover_image_url": null,
"strategy": null,
"prompt": null,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"framings": {
"items": {
"$ref": "#/components/schemas/BackgroundPresetFramingPublic"
},
"type": "array",
"title": "Framings",
"default": []
},
"cover_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cover Image Url"
},
"strategy": {
"anyOf": [
{
"$ref": "#/components/schemas/BackgroundFixStrategy"
},
{
"type": "null"
}
]
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"owner_id",
"strategy"
],
"title": "BackgroundPresetPublic"
}
resolution-presets¶
POST /api/v1/resolution-presets/¶
Create Resolution Preset
Description
Create new resolution preset.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No |
Request body
Schema of the request body
{
"properties": {
"name": {
"type": "string",
"maxLength": 255,
"title": "Name"
},
"width": {
"type": "integer",
"exclusiveMinimum": 0.0,
"title": "Width",
"description": "Width in pixels"
},
"height": {
"type": "integer",
"exclusiveMinimum": 0.0,
"title": "Height",
"description": "Height in pixels"
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id",
"description": "Organization this preset belongs to"
}
},
"type": "object",
"required": [
"name",
"width",
"height"
],
"title": "ResolutionPresetCreate",
"example": {
"height": 1080,
"name": "Full HD",
"width": 1920
}
}
Responses
{
"id": "fb56c1f7-05d4-49c1-a79c-e9ed2cac1316",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "c90d32c1-19a7-4378-a2c7-4e2f18ad570b",
"organization_id": null,
"width": 0,
"height": 0,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"width": {
"type": "integer",
"title": "Width"
},
"height": {
"type": "integer",
"title": "Height"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"owner_id",
"width",
"height"
],
"title": "ResolutionPresetPublic"
}
GET /api/v1/resolution-presets/¶
Read Resolution Presets
Description
Retrieve resolution presets.
When organization_id query param is provided, returns presets belonging to that organization. Without organization_id, returns only personal presets (not belonging to any organization).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
limit |
query | integer | 100 | No | |
organization_id |
query | No | |||
owner_id |
query | No | |||
skip |
query | integer | 0 | No |
Responses
{
"data": [
{
"id": "85f20cb2-0f5b-4f24-9b2c-39cac6a37989",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "86aac63c-3e3f-435d-afe4-ed059ce15686",
"organization_id": null,
"width": 0,
"height": 0,
"deleted_at": null
}
],
"count": 0
}
GET /api/v1/resolution-presets/{id}¶
Read Resolution Preset
Description
Get resolution preset by ID.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
{
"id": "aacbc12d-3ff7-446a-9cea-7dfc25520d72",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "009013e2-1fc5-457d-94e0-1d491d1bc476",
"organization_id": null,
"width": 0,
"height": 0,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"width": {
"type": "integer",
"title": "Width"
},
"height": {
"type": "integer",
"title": "Height"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"owner_id",
"width",
"height"
],
"title": "ResolutionPresetPublic"
}
PUT /api/v1/resolution-presets/{id}¶
Update Resolution Preset
Description
Update a resolution preset.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Request body
Schema of the request body
{
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Name"
},
"width": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Width",
"description": "Width in pixels"
},
"height": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Height",
"description": "Height in pixels"
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id",
"description": "Organization to transfer this preset to"
}
},
"type": "object",
"title": "ResolutionPresetUpdate",
"example": {
"height": 720,
"name": "Updated HD",
"width": 1280
}
}
Responses
{
"id": "b144b036-0d62-48f0-9a7c-f6d0e88b5bf4",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "e9686433-c18f-42d2-903e-8ec1bf3f4486",
"organization_id": null,
"width": 0,
"height": 0,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"width": {
"type": "integer",
"title": "Width"
},
"height": {
"type": "integer",
"title": "Height"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"owner_id",
"width",
"height"
],
"title": "ResolutionPresetPublic"
}
DELETE /api/v1/resolution-presets/{id}¶
Delete Resolution Preset
Description
Delete a resolution preset.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
POST /api/v1/resolution-presets/{id}/restore¶
Restore Resolution Preset
Description
Restore a soft-deleted resolution preset (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No |
Responses
{
"id": "23e593f8-8719-4e67-8e96-b2b7755c2095",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "51f20d90-004d-4a2e-ad23-75074ac4fef6",
"organization_id": null,
"width": 0,
"height": 0,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"owner_id": {
"type": "string",
"format": "uuid",
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"width": {
"type": "integer",
"title": "Width"
},
"height": {
"type": "integer",
"title": "Height"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"owner_id",
"width",
"height"
],
"title": "ResolutionPresetPublic"
}
guidelines¶
POST /api/v1/guidelines/¶
Create Guidelines
Description
Create new shooting guidelines preset.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
organization_id |
query | No |
Request body
{
"name": "string",
"auto_start_look_generations": true,
"allow_back_shots_without_back_image": true,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"stylist_id": null,
"export_configuration_id": null,
"generative_workflow_template_id": null,
"shot_type_ids": [
"f298603f-cba4-4e99-a114-008c0d7ed372"
],
"subject_ids": [
"6d72eb63-4aec-404b-aaff-58bdffff9d3d"
],
"pose_preset_ids": [
"b33fe16e-0270-4a09-b96c-50376fb4b8d5"
],
"shot_type_rules": null,
"owner_id": null,
"organization_id": null
}
Schema of the request body
{
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"auto_start_look_generations": {
"type": "boolean",
"title": "Auto Start Look Generations",
"default": true
},
"allow_back_shots_without_back_image": {
"type": "boolean",
"title": "Allow Back Shots Without Back Image",
"default": false
},
"resolution_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Resolution Preset Id"
},
"background_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Background Preset Id"
},
"set_design_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Set Design Id"
},
"stylist_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Stylist Id"
},
"export_configuration_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Export Configuration Id"
},
"generative_workflow_template_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Generative Workflow Template Id",
"description": "Optional generative workflow template attached at guideline creation. Cross-org and invalid-validation-status templates are rejected at the route layer (422)."
},
"shot_type_ids": {
"items": {
"type": "string",
"format": "uuid"
},
"type": "array",
"title": "Shot Type Ids"
},
"subject_ids": {
"items": {
"type": "string",
"format": "uuid"
},
"type": "array",
"title": "Subject Ids"
},
"pose_preset_ids": {
"items": {
"type": "string",
"format": "uuid"
},
"type": "array",
"title": "Pose Preset Ids"
},
"shot_type_rules": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/GuidelinesShotTypeRuleGroupInput"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Shot Type Rules",
"description": "Optional list of shot-type rules to create alongside the guideline (one DB transaction). Each entry is one (rule_kind, rule_value) → list of shot_type_ids group. Omit to create the guideline with no rules."
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id",
"description": "Organization these guidelines belong to"
}
},
"type": "object",
"required": [
"name"
],
"title": "ShootingGuidelinesCreate",
"description": "Request model for creating ShootingGuidelines."
}
Responses
{
"id": "2053b02c-0249-460c-b02f-c08ddf6fe6ee",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"auto_start_look_generations": true,
"allow_back_shots_without_back_image": true,
"owner_id": null,
"organization_id": null,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"stylist_id": null,
"export_configuration_id": null,
"shot_types": [
{
"name": "string",
"view_angle": "front",
"framing": "full_body",
"shot_type_ref_image_url": null,
"shot_type_prompt_instruction": null,
"file_naming_convention": null,
"reference_image_url": null,
"prompt": null,
"prompt_builder_section": null,
"core_focus": true,
"default_shot_type": null,
"margins": null,
"owner_id": null,
"public": true,
"organization_id": null,
"id": "e94e6f6a-33d1-454e-a02f-47ad9630269b",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"deleted_at": null,
"reference_image": null
}
],
"subjects": [
{
"id": "93eaddd0-a070-4b71-9890-fcb263da321a",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "f81ef9d7-3299-4cc0-bc43-ed9d6f69870f",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "a8daec56-45c2-4a75-85c5-0d0e829d39ea",
"organization_id": null
}
],
"pose_presets": [
{
"id": "b0ac96c4-3536-4558-a9f7-502faa36229c",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"prompt": null,
"shot_type_id": "d865816e-fa03-4d35-8656-a0c610f87845",
"owner_id": "f52c77a6-e669-4c26-8596-29607f56818f",
"organization_id": null,
"pose_image_url": null,
"pose_image_media": null,
"deleted_at": null
}
],
"set_design": null,
"shot_type_rules": [
{
"rule_kind": "TYPE",
"rule_value": "string",
"shot_types": null
}
],
"generative_workflow_template_id": null,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"auto_start_look_generations": {
"type": "boolean",
"title": "Auto Start Look Generations",
"default": true
},
"allow_back_shots_without_back_image": {
"type": "boolean",
"title": "Allow Back Shots Without Back Image",
"default": false
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"resolution_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Resolution Preset Id"
},
"background_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Background Preset Id"
},
"set_design_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Set Design Id"
},
"stylist_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Stylist Id"
},
"export_configuration_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Export Configuration Id"
},
"shot_types": {
"items": {
"$ref": "#/components/schemas/ShotTypePublic"
},
"type": "array",
"title": "Shot Types",
"default": []
},
"subjects": {
"items": {
"$ref": "#/components/schemas/SubjectPublic"
},
"type": "array",
"title": "Subjects",
"default": []
},
"pose_presets": {
"items": {
"$ref": "#/components/schemas/PosePresetPublic"
},
"type": "array",
"title": "Pose Presets",
"default": []
},
"set_design": {
"anyOf": [
{
"$ref": "#/components/schemas/SetDesignPublic"
},
{
"type": "null"
}
]
},
"shot_type_rules": {
"items": {
"$ref": "#/components/schemas/GuidelinesShotTypeRuleGroup"
},
"type": "array",
"title": "Shot Type Rules",
"default": []
},
"generative_workflow_template_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Generative Workflow Template Id"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"resolution_preset_id",
"background_preset_id"
],
"title": "ShootingGuidelinesPublic",
"description": "Response model for ShootingGuidelines.\n\nCovers both row variants discriminated by the\n``ck_shootingguidelines_provenance`` CHECK:\n\n- **Templates**: ``owner_id`` is set, ``production_id`` is NULL.\n- **Snapshots**: ``owner_id`` is NULL, ``production_id`` points at\n a ShootingProduction (the polymorphic snapshot baked at\n production-create or guidelines-update time).\n\n``owner_id`` is therefore optional on the response — snapshots\nlegitimately carry NULL there."
}
GET /api/v1/guidelines/¶
Read Guidelines List
Description
Retrieve shooting guidelines.
- Regular users: Only see their own guidelines or organization guidelines
- Superusers: See all guidelines by default, or filter by owner_id
When organization_id query param is provided, returns guidelines belonging to that organization. Without organization_id, returns only personal guidelines (not belonging to any organization).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
limit |
query | integer | 100 | No | |
organization_id |
query | No | |||
owner_id |
query | No | |||
skip |
query | integer | 0 | No |
Responses
{
"data": [
{
"id": "9f662705-b5f9-4b2f-acef-69b4a44e7a03",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"auto_start_look_generations": true,
"allow_back_shots_without_back_image": true,
"owner_id": null,
"organization_id": null,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"stylist_id": null,
"export_configuration_id": null,
"shot_types": [
{
"name": "string",
"view_angle": "front",
"framing": "full_body",
"shot_type_ref_image_url": null,
"shot_type_prompt_instruction": null,
"file_naming_convention": null,
"reference_image_url": null,
"prompt": null,
"prompt_builder_section": null,
"core_focus": true,
"default_shot_type": null,
"margins": null,
"owner_id": null,
"public": true,
"organization_id": null,
"id": "c34a5ff6-7d1c-4668-946f-b791aa0dc0d7",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"deleted_at": null,
"reference_image": null
}
],
"subjects": [
{
"id": "e395402d-28e9-43b7-b8fc-7781962bd4c4",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "30925366-90ab-4229-8584-0d885d4b0922",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "7ed4c019-d8f2-4813-b0eb-b72cc9868494",
"organization_id": null
}
],
"pose_presets": [
{
"id": "fc95d0e9-320b-40a5-a61e-bde0f9512cd2",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"prompt": null,
"shot_type_id": "3286a03f-2a18-4b89-a00e-c424d9e33f96",
"owner_id": "bda1bc58-b990-4063-b615-6cef58fdc0e2",
"organization_id": null,
"pose_image_url": null,
"pose_image_media": null,
"deleted_at": null
}
],
"set_design": null,
"shot_type_rules": [
{
"rule_kind": "TYPE",
"rule_value": "string",
"shot_types": null
}
],
"generative_workflow_template_id": null,
"deleted_at": null
}
],
"count": 0
}
Schema of the response body
{
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/ShootingGuidelinesPublic"
},
"type": "array",
"title": "Data"
},
"count": {
"type": "integer",
"title": "Count"
}
},
"type": "object",
"required": [
"data",
"count"
],
"title": "ShootingGuidelinesListPublic",
"description": "Response model for paginated list of ShootingGuidelines."
}
GET /api/v1/guidelines/{id}¶
Read Guidelines
Description
Get shooting guidelines by ID.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
{
"id": "4985e11a-a4ac-430b-a33d-c3bd2f0b05db",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"auto_start_look_generations": true,
"allow_back_shots_without_back_image": true,
"owner_id": null,
"organization_id": null,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"stylist_id": null,
"export_configuration_id": null,
"shot_types": [
{
"name": "string",
"view_angle": "front",
"framing": "full_body",
"shot_type_ref_image_url": null,
"shot_type_prompt_instruction": null,
"file_naming_convention": null,
"reference_image_url": null,
"prompt": null,
"prompt_builder_section": null,
"core_focus": true,
"default_shot_type": null,
"margins": null,
"owner_id": null,
"public": true,
"organization_id": null,
"id": "2dce79a3-e31f-40d6-916c-0432129cfdc1",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"deleted_at": null,
"reference_image": null
}
],
"subjects": [
{
"id": "75d16048-bd6d-4a60-bf4c-730360350b2e",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "46084e87-eae8-412b-b365-7913c8ca06f9",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "1a008fb8-1630-48c5-953a-ef4c206bff46",
"organization_id": null
}
],
"pose_presets": [
{
"id": "413fcdff-02e4-40fa-8f8c-47076c704fc8",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"prompt": null,
"shot_type_id": "700eb5d4-0ef3-4063-8186-2c24f4850331",
"owner_id": "123c13fb-0161-4c77-820a-379abdf5b6df",
"organization_id": null,
"pose_image_url": null,
"pose_image_media": null,
"deleted_at": null
}
],
"set_design": null,
"shot_type_rules": [
{
"rule_kind": "TYPE",
"rule_value": "string",
"shot_types": null
}
],
"generative_workflow_template_id": null,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"auto_start_look_generations": {
"type": "boolean",
"title": "Auto Start Look Generations",
"default": true
},
"allow_back_shots_without_back_image": {
"type": "boolean",
"title": "Allow Back Shots Without Back Image",
"default": false
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"resolution_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Resolution Preset Id"
},
"background_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Background Preset Id"
},
"set_design_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Set Design Id"
},
"stylist_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Stylist Id"
},
"export_configuration_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Export Configuration Id"
},
"shot_types": {
"items": {
"$ref": "#/components/schemas/ShotTypePublic"
},
"type": "array",
"title": "Shot Types",
"default": []
},
"subjects": {
"items": {
"$ref": "#/components/schemas/SubjectPublic"
},
"type": "array",
"title": "Subjects",
"default": []
},
"pose_presets": {
"items": {
"$ref": "#/components/schemas/PosePresetPublic"
},
"type": "array",
"title": "Pose Presets",
"default": []
},
"set_design": {
"anyOf": [
{
"$ref": "#/components/schemas/SetDesignPublic"
},
{
"type": "null"
}
]
},
"shot_type_rules": {
"items": {
"$ref": "#/components/schemas/GuidelinesShotTypeRuleGroup"
},
"type": "array",
"title": "Shot Type Rules",
"default": []
},
"generative_workflow_template_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Generative Workflow Template Id"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"resolution_preset_id",
"background_preset_id"
],
"title": "ShootingGuidelinesPublic",
"description": "Response model for ShootingGuidelines.\n\nCovers both row variants discriminated by the\n``ck_shootingguidelines_provenance`` CHECK:\n\n- **Templates**: ``owner_id`` is set, ``production_id`` is NULL.\n- **Snapshots**: ``owner_id`` is NULL, ``production_id`` points at\n a ShootingProduction (the polymorphic snapshot baked at\n production-create or guidelines-update time).\n\n``owner_id`` is therefore optional on the response — snapshots\nlegitimately carry NULL there."
}
PUT /api/v1/guidelines/{id}¶
Update Guidelines
Description
Update shooting guidelines.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Request body
{
"name": null,
"auto_start_look_generations": null,
"allow_back_shots_without_back_image": null,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"stylist_id": null,
"export_configuration_id": null,
"shot_type_ids": null,
"subject_ids": null,
"pose_preset_ids": null,
"shot_type_rules": null,
"owner_id": null,
"organization_id": null,
"generative_workflow_template_id": null
}
Schema of the request body
{
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"auto_start_look_generations": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Auto Start Look Generations"
},
"allow_back_shots_without_back_image": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Allow Back Shots Without Back Image"
},
"resolution_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Resolution Preset Id"
},
"background_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Background Preset Id"
},
"set_design_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Set Design Id"
},
"stylist_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Stylist Id"
},
"export_configuration_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Export Configuration Id"
},
"shot_type_ids": {
"anyOf": [
{
"items": {
"type": "string",
"format": "uuid"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Shot Type Ids"
},
"subject_ids": {
"anyOf": [
{
"items": {
"type": "string",
"format": "uuid"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Subject Ids"
},
"pose_preset_ids": {
"anyOf": [
{
"items": {
"type": "string",
"format": "uuid"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Pose Preset Ids"
},
"shot_type_rules": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/GuidelinesShotTypeRuleGroupInput"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Shot Type Rules",
"description": "Optional full-replace list of shot-type rules in group form (one entry per (rule_kind, rule_value) with its list of shot_type_ids). Omit to leave rules untouched; pass [] to clear all rules."
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id",
"description": "Organization to transfer these guidelines to"
},
"generative_workflow_template_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Generative Workflow Template Id",
"description": "Optional generative workflow template attached to these guidelines. Null clears the override. Cross-org templates are rejected (422)."
}
},
"type": "object",
"title": "ShootingGuidelinesUpdate",
"description": "Request model for updating ShootingGuidelines."
}
Responses
{
"id": "d90a59d3-9592-4e7a-a673-657df7959e43",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"auto_start_look_generations": true,
"allow_back_shots_without_back_image": true,
"owner_id": null,
"organization_id": null,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"stylist_id": null,
"export_configuration_id": null,
"shot_types": [
{
"name": "string",
"view_angle": "front",
"framing": "full_body",
"shot_type_ref_image_url": null,
"shot_type_prompt_instruction": null,
"file_naming_convention": null,
"reference_image_url": null,
"prompt": null,
"prompt_builder_section": null,
"core_focus": true,
"default_shot_type": null,
"margins": null,
"owner_id": null,
"public": true,
"organization_id": null,
"id": "11f86f51-dffb-4c68-ae02-2ab6de691112",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"deleted_at": null,
"reference_image": null
}
],
"subjects": [
{
"id": "26e8ecdb-4933-4160-8163-3d05ffdbf878",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "c89f9cdf-7b72-447f-a390-61d9a14bb632",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "e819cd1e-9cb5-4701-ad9d-d0ee9a8f26b8",
"organization_id": null
}
],
"pose_presets": [
{
"id": "584fe2ca-f207-49fb-a7b0-47822d4700cd",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"prompt": null,
"shot_type_id": "3d25cb9e-4c6b-4d6d-a9ba-b363a4cb6d83",
"owner_id": "35cd5d2c-debc-4a1a-a90c-a1738342ff5d",
"organization_id": null,
"pose_image_url": null,
"pose_image_media": null,
"deleted_at": null
}
],
"set_design": null,
"shot_type_rules": [
{
"rule_kind": "TYPE",
"rule_value": "string",
"shot_types": null
}
],
"generative_workflow_template_id": null,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"auto_start_look_generations": {
"type": "boolean",
"title": "Auto Start Look Generations",
"default": true
},
"allow_back_shots_without_back_image": {
"type": "boolean",
"title": "Allow Back Shots Without Back Image",
"default": false
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"resolution_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Resolution Preset Id"
},
"background_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Background Preset Id"
},
"set_design_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Set Design Id"
},
"stylist_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Stylist Id"
},
"export_configuration_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Export Configuration Id"
},
"shot_types": {
"items": {
"$ref": "#/components/schemas/ShotTypePublic"
},
"type": "array",
"title": "Shot Types",
"default": []
},
"subjects": {
"items": {
"$ref": "#/components/schemas/SubjectPublic"
},
"type": "array",
"title": "Subjects",
"default": []
},
"pose_presets": {
"items": {
"$ref": "#/components/schemas/PosePresetPublic"
},
"type": "array",
"title": "Pose Presets",
"default": []
},
"set_design": {
"anyOf": [
{
"$ref": "#/components/schemas/SetDesignPublic"
},
{
"type": "null"
}
]
},
"shot_type_rules": {
"items": {
"$ref": "#/components/schemas/GuidelinesShotTypeRuleGroup"
},
"type": "array",
"title": "Shot Type Rules",
"default": []
},
"generative_workflow_template_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Generative Workflow Template Id"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"resolution_preset_id",
"background_preset_id"
],
"title": "ShootingGuidelinesPublic",
"description": "Response model for ShootingGuidelines.\n\nCovers both row variants discriminated by the\n``ck_shootingguidelines_provenance`` CHECK:\n\n- **Templates**: ``owner_id`` is set, ``production_id`` is NULL.\n- **Snapshots**: ``owner_id`` is NULL, ``production_id`` points at\n a ShootingProduction (the polymorphic snapshot baked at\n production-create or guidelines-update time).\n\n``owner_id`` is therefore optional on the response — snapshots\nlegitimately carry NULL there."
}
DELETE /api/v1/guidelines/{id}¶
Delete Guidelines
Description
Delete shooting guidelines.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No | ||
organization_id |
query | No |
Responses
POST /api/v1/guidelines/{id}/restore¶
Restore Guidelines
Description
Restore a soft-deleted shooting guidelines (admin only).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
id |
path | string | No |
Responses
{
"id": "d677e964-f7b5-4614-b807-68c0f52d6788",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"auto_start_look_generations": true,
"allow_back_shots_without_back_image": true,
"owner_id": null,
"organization_id": null,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"stylist_id": null,
"export_configuration_id": null,
"shot_types": [
{
"name": "string",
"view_angle": "front",
"framing": "full_body",
"shot_type_ref_image_url": null,
"shot_type_prompt_instruction": null,
"file_naming_convention": null,
"reference_image_url": null,
"prompt": null,
"prompt_builder_section": null,
"core_focus": true,
"default_shot_type": null,
"margins": null,
"owner_id": null,
"public": true,
"organization_id": null,
"id": "59d9fe3a-5072-41c1-8bbf-b4d9aa867a12",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"deleted_at": null,
"reference_image": null
}
],
"subjects": [
{
"id": "4d7b829c-786d-4dc7-9dff-766f35e462bd",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"surname": null,
"slug": "string",
"description": null,
"age_class": "newborn",
"gender": "MALE",
"subject_type": "AI",
"body_type": null,
"positive_prompt": null,
"negative_prompt": null,
"ethnicity": null,
"public": true,
"enabled": true,
"ready": true,
"lora_status": "string",
"lora_trigger": null,
"cover_image_url": null,
"portrait_image_url": null,
"data_image_urls": [
"string"
],
"cover_image_media": null,
"portrait_image_media": null,
"data_images_media": null,
"portfolio_images_media": null,
"base_images": [
{
"shot_type_id": "9003a6d0-8ffe-40c2-bbbf-96933e324d0c",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"deleted_at": null,
"owner_id": "a0d3209f-2325-4629-846a-be11fb3a9742",
"organization_id": null
}
],
"pose_presets": [
{
"id": "954f1281-6570-4d4a-a5f3-cc0e7b658d00",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"prompt": null,
"shot_type_id": "5ca23d97-e52a-4ded-ba12-4680ccd833a4",
"owner_id": "3d6e88c9-e5dd-4f4f-912f-caf3f3d2605d",
"organization_id": null,
"pose_image_url": null,
"pose_image_media": null,
"deleted_at": null
}
],
"set_design": null,
"shot_type_rules": [
{
"rule_kind": "TYPE",
"rule_value": "string",
"shot_types": null
}
],
"generative_workflow_template_id": null,
"deleted_at": null
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"name": {
"type": "string",
"title": "Name"
},
"auto_start_look_generations": {
"type": "boolean",
"title": "Auto Start Look Generations",
"default": true
},
"allow_back_shots_without_back_image": {
"type": "boolean",
"title": "Allow Back Shots Without Back Image",
"default": false
},
"owner_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Owner Id"
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
},
"resolution_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Resolution Preset Id"
},
"background_preset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Background Preset Id"
},
"set_design_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Set Design Id"
},
"stylist_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Stylist Id"
},
"export_configuration_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Export Configuration Id"
},
"shot_types": {
"items": {
"$ref": "#/components/schemas/ShotTypePublic"
},
"type": "array",
"title": "Shot Types",
"default": []
},
"subjects": {
"items": {
"$ref": "#/components/schemas/SubjectPublic"
},
"type": "array",
"title": "Subjects",
"default": []
},
"pose_presets": {
"items": {
"$ref": "#/components/schemas/PosePresetPublic"
},
"type": "array",
"title": "Pose Presets",
"default": []
},
"set_design": {
"anyOf": [
{
"$ref": "#/components/schemas/SetDesignPublic"
},
{
"type": "null"
}
]
},
"shot_type_rules": {
"items": {
"$ref": "#/components/schemas/GuidelinesShotTypeRuleGroup"
},
"type": "array",
"title": "Shot Type Rules",
"default": []
},
"generative_workflow_template_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Generative Workflow Template Id"
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"resolution_preset_id",
"background_preset_id"
],
"title": "ShootingGuidelinesPublic",
"description": "Response model for ShootingGuidelines.\n\nCovers both row variants discriminated by the\n``ck_shootingguidelines_provenance`` CHECK:\n\n- **Templates**: ``owner_id`` is set, ``production_id`` is NULL.\n- **Snapshots**: ``owner_id`` is NULL, ``production_id`` points at\n a ShootingProduction (the polymorphic snapshot baked at\n production-create or guidelines-update time).\n\n``owner_id`` is therefore optional on the response — snapshots\nlegitimately carry NULL there."
}
Schemas¶
AssignOwnerRequest¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
id |
string(uuid) | |
new_owner_id |
string(uuid) | |
updated_at |
string(date-time) |
BackgroundFixStrategy¶
Type: string
BackgroundPresetCreate¶
| Name | Type | Description |
|---|---|---|
framings |
Array<BackgroundPresetFramingCreate> | At least one framing entry is required |
name |
string | |
organization_id |
Organization this preset belongs to | |
owner_id |
||
prompt |
Optional free-text directive appended to every generation prompt that uses this background (e.g. 'make the background pure #FFFFFF white'). | |
strategy |
Strategy for background fix processing |
BackgroundPresetFramingCreate¶
| Name | Type | Description |
|---|---|---|
framing |
||
image |
URL or MediaInput for framing image |
BackgroundPresetFramingPublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
framing |
||
id |
string(uuid) | |
image_media |
||
image_url |
||
updated_at |
string(date-time) |
BackgroundPresetPublic¶
| Name | Type | Description |
|---|---|---|
cover_image_url |
||
created_at |
string(date-time) | |
deleted_at |
||
framings |
Array<BackgroundPresetFramingPublic> | |
id |
string(uuid) | |
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
prompt |
||
strategy |
||
updated_at |
string(date-time) |
BackgroundPresetsPublic¶
| Name | Type | Description |
|---|---|---|
count |
integer | |
data |
Array<BackgroundPresetPublic> |
BackgroundPresetUpdate¶
| Name | Type | Description |
|---|---|---|
framings |
Full-replace framings list. None = no change. | |
name |
||
organization_id |
Organization to transfer this preset to | |
owner_id |
||
prompt |
Optional free-text directive appended to every generation prompt that uses this background. Send null to clear; omit to leave unchanged. | |
strategy |
Strategy for background fix processing |
BaseImageCreate¶
| Name | Type | Description |
|---|---|---|
image_url |
string | |
shot_type_id |
string(uuid) |
BaseImageListResponse¶
| Name | Type | Description |
|---|---|---|
data |
Array<BaseImagePublic> |
BaseImagePublic¶
| Name | Type | Description |
|---|---|---|
image_url |
string | |
shot_type_id |
string(uuid) | |
shot_type_label |
string |
Body_update_style_lora_trigger¶
| Name | Type | Description |
|---|---|---|
lora_trigger |
string |
Body_update_subject_lora_trigger¶
| Name | Type | Description |
|---|---|---|
lora_trigger |
Body_upload_style_lora¶
| Name | Type | Description |
|---|---|---|
file |
string | |
lora_trigger |
string |
Body_upload_subject_base_images_zip¶
| Name | Type | Description |
|---|---|---|
file |
string |
Body_upload_subject_lora¶
| Name | Type | Description |
|---|---|---|
entity_type |
||
file |
string | |
lora_trigger |
string |
BodyType¶
Type: string
BulkAssignSubjectsRequest¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
id |
string(uuid) | |
subject_ids |
Array<string(uuid)> | |
updated_at |
string(date-time) |
DefaultShotTypes¶
Type: string
EyeColor¶
Type: string
Gender¶
Type: string
GuidelinesShotTypeRuleGroup¶
| Name | Type | Description |
|---|---|---|
rule_kind |
GuidelinesShotTypeRuleKind | |
rule_value |
string | |
shot_types |
Array<ShotTypePublic> |
GuidelinesShotTypeRuleGroupInput¶
| Name | Type | Description |
|---|---|---|
rule_kind |
GuidelinesShotTypeRuleKind | |
rule_value |
string | |
shot_type_ids |
Array<string(uuid)> |
GuidelinesShotTypeRuleKind¶
Type: string
HairColor¶
Type: string
HTTPValidationError¶
| Name | Type | Description |
|---|---|---|
detail |
Array<ValidationError> |
MediaInput¶
| Name | Type | Description |
|---|---|---|
alt_text |
||
caption |
||
color_profile |
||
dominant_color |
||
duration |
||
height |
||
media_resource_id |
||
protected |
boolean | |
url |
||
width |
MediaResourcePublic¶
| Name | Type | Description |
|---|---|---|
alt_text |
||
aspect_ratio |
||
caption |
||
color_profile |
||
content_hash |
string | |
created_at |
string(date-time) | |
dominant_color |
||
duration |
||
extension |
string | |
file_size |
integer | |
height |
||
id |
string(uuid) | |
orientation |
||
protected |
boolean | |
resource_type |
MediaResourceType | |
url |
string | |
width |
MediaResourceType¶
Type: string
Message¶
| Name | Type | Description |
|---|---|---|
message |
string |
PosePresetPublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
deleted_at |
||
id |
string(uuid) | |
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
pose_image_media |
||
pose_image_url |
||
prompt |
||
shot_type_id |
string(uuid) | |
updated_at |
string(date-time) |
ResolutionPresetCreate¶
| Name | Type | Description |
|---|---|---|
height |
integer | Height in pixels |
name |
string | |
organization_id |
Organization this preset belongs to | |
owner_id |
||
width |
integer | Width in pixels |
ResolutionPresetPublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
deleted_at |
||
height |
integer | |
id |
string(uuid) | |
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
updated_at |
string(date-time) | |
width |
integer |
ResolutionPresetsPublic¶
| Name | Type | Description |
|---|---|---|
count |
integer | |
data |
Array<ResolutionPresetPublic> |
ResolutionPresetUpdate¶
| Name | Type | Description |
|---|---|---|
height |
Height in pixels | |
name |
||
organization_id |
Organization to transfer this preset to | |
owner_id |
||
width |
Width in pixels |
SetBaseImagePublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
id |
string(uuid) | |
image_media |
||
image_url |
||
shot_type_id |
string(uuid) | |
subject_id |
string(uuid) | |
updated_at |
string(date-time) | |
variant_index |
integer |
SetDesignPublic¶
| Name | Type | Description |
|---|---|---|
background_preset_id |
||
base_images |
Array<SetBaseImagePublic> | |
created_at |
string(date-time) | |
deleted_at |
||
description |
||
id |
string(uuid) | |
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
reference_images |
Array<SetReferenceImagePublic> | |
subject_portraits |
Array<SubjectPortraitPublic> | |
updated_at |
string(date-time) |
SetReferenceImagePublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
id |
string(uuid) | |
image_media |
||
image_url |
||
label |
||
shot_type_id |
string(uuid) | |
updated_at |
string(date-time) |
ShootingGuidelinesCreate¶
| Name | Type | Description |
|---|---|---|
allow_back_shots_without_back_image |
boolean | |
auto_start_look_generations |
boolean | |
background_preset_id |
||
export_configuration_id |
||
generative_workflow_template_id |
Optional generative workflow template attached at guideline creation. Cross-org and invalid-validation-status templates are rejected at the route layer (422). | |
name |
string | |
organization_id |
Organization these guidelines belong to | |
owner_id |
||
pose_preset_ids |
Array<string(uuid)> | |
resolution_preset_id |
||
set_design_id |
||
shot_type_ids |
Array<string(uuid)> | |
shot_type_rules |
Optional list of shot-type rules to create alongside the guideline (one DB transaction). Each entry is one (rule_kind, rule_value) → list of shot_type_ids group. Omit to create the guideline with no rules. | |
stylist_id |
||
subject_ids |
Array<string(uuid)> |
ShootingGuidelinesListPublic¶
| Name | Type | Description |
|---|---|---|
count |
integer | |
data |
Array<ShootingGuidelinesPublic> |
ShootingGuidelinesPublic¶
| Name | Type | Description |
|---|---|---|
allow_back_shots_without_back_image |
boolean | |
auto_start_look_generations |
boolean | |
background_preset_id |
||
created_at |
string(date-time) | |
deleted_at |
||
export_configuration_id |
||
generative_workflow_template_id |
||
id |
string(uuid) | |
name |
string | |
organization_id |
||
owner_id |
||
pose_presets |
Array<PosePresetPublic> | |
resolution_preset_id |
||
set_design |
||
set_design_id |
||
shot_type_rules |
Array<GuidelinesShotTypeRuleGroup> | |
shot_types |
Array<ShotTypePublic> | |
stylist_id |
||
subjects |
Array<SubjectPublic> | |
updated_at |
string(date-time) |
ShootingGuidelinesUpdate¶
| Name | Type | Description |
|---|---|---|
allow_back_shots_without_back_image |
||
auto_start_look_generations |
||
background_preset_id |
||
export_configuration_id |
||
generative_workflow_template_id |
Optional generative workflow template attached to these guidelines. Null clears the override. Cross-org templates are rejected (422). | |
name |
||
organization_id |
Organization to transfer these guidelines to | |
owner_id |
||
pose_preset_ids |
||
resolution_preset_id |
||
set_design_id |
||
shot_type_ids |
||
shot_type_rules |
Optional full-replace list of shot-type rules in group form (one entry per (rule_kind, rule_value) with its list of shot_type_ids). Omit to leave rules untouched; pass [] to clear all rules. | |
stylist_id |
||
subject_ids |
ShotTypeCreate¶
| Name | Type | Description |
|---|---|---|
core_focus |
boolean | |
default_shot_type |
||
file_naming_convention |
||
framing |
ShotTypeFraming | |
margins |
||
name |
string | |
organization_id |
||
owner_id |
||
prompt |
||
prompt_builder_section |
||
public |
boolean | |
reference_image_url |
||
shot_type_prompt_instruction |
||
shot_type_ref_image_url |
||
view_angle |
ViewAngle |
ShotTypeFraming¶
Type: string
ShotTypePublic¶
| Name | Type | Description |
|---|---|---|
core_focus |
boolean | |
created_at |
string(date-time) | |
default_shot_type |
||
deleted_at |
||
file_naming_convention |
||
framing |
ShotTypeFraming | |
id |
string(uuid) | |
margins |
||
name |
string | |
organization_id |
||
owner_id |
||
prompt |
||
prompt_builder_section |
||
public |
boolean | |
reference_image |
||
reference_image_url |
||
shot_type_prompt_instruction |
||
shot_type_ref_image_url |
||
updated_at |
string(date-time) | |
view_angle |
ViewAngle |
ShotTypesPublic¶
| Name | Type | Description |
|---|---|---|
count |
integer | |
data |
Array<ShotTypePublic> |
ShotTypeUpdate¶
| Name | Type | Description |
|---|---|---|
core_focus |
||
default_shot_type |
||
file_naming_convention |
||
framing |
||
margins |
||
name |
||
organization_id |
||
owner_id |
||
prompt |
||
prompt_builder_section |
||
public |
||
reference_image_url |
||
shot_type_prompt_instruction |
||
shot_type_ref_image_url |
||
view_angle |
StyleAdmin¶
| Name | Type | Description |
|---|---|---|
archived |
boolean | |
brand |
||
cover_image_media |
||
cover_image_url |
||
created_at |
string(date-time) | |
current_training_id |
||
data_image_urls |
Array<string> | |
data_images_media |
||
default_lora_weight |
number | |
deleted_at |
||
demo |
boolean | |
description |
||
enabled |
boolean | |
id |
string(uuid) | |
local_model_path |
||
lora_status |
string | |
lora_trigger |
||
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
prompt_keywords |
||
public |
boolean | |
slug |
string | |
style_category |
StyleCategory | |
tags |
Array<string> | |
training_error |
||
training_progress |
number | |
updated_at |
string(date-time) |
StyleCategory¶
Type: string
StyleCreate¶
| Name | Type | Description |
|---|---|---|
brand |
||
cover_image |
URL or base64 string for cover image, or MediaInput object | |
data_images |
List of image URLs, base64 strings, or MediaInput objects | |
default_lora_weight |
number | |
description |
||
local_model_path |
||
lora_trigger |
||
name |
string | |
organization_id |
Organization this style belongs to | |
prompt_keywords |
||
public |
boolean | |
style_category |
StyleCategory | |
tags |
List of tags for the style |
StylePublic¶
| Name | Type | Description |
|---|---|---|
archived |
boolean | |
brand |
||
cover_image_media |
||
cover_image_url |
||
created_at |
string(date-time) | |
current_training_id |
||
data_image_urls |
Array<string> | |
data_images_media |
||
default_lora_weight |
number | |
deleted_at |
||
demo |
boolean | |
description |
||
enabled |
boolean | |
id |
string(uuid) | |
local_model_path |
||
lora_status |
string | |
lora_trigger |
||
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
prompt_keywords |
||
public |
boolean | |
slug |
string | |
style_category |
StyleCategory | |
tags |
Array<string> | |
training_error |
||
training_progress |
number | |
updated_at |
string(date-time) |
StylesAdmin¶
| Name | Type | Description |
|---|---|---|
count |
integer | |
created_at |
string(date-time) | |
data |
Array<StyleAdmin> | |
id |
string(uuid) | |
updated_at |
string(date-time) |
StylesPublic¶
| Name | Type | Description |
|---|---|---|
count |
integer | |
created_at |
string(date-time) | |
data |
Array<StylePublic> | |
id |
string(uuid) | |
updated_at |
string(date-time) |
StyleUpdate¶
| Name | Type | Description |
|---|---|---|
archived |
||
brand |
||
cover_image |
URL or base64 string for cover image, or MediaInput object | |
data_images |
List of image URLs, base64 strings, or MediaInput objects | |
default_lora_weight |
||
description |
||
enabled |
||
lora_trigger |
||
name |
||
organization_id |
Organization to transfer this style to | |
prompt_keywords |
||
public |
||
style_category |
||
tags |
List of tags for the style |
SubjectAdmin¶
| Name | Type | Description |
|---|---|---|
age_class |
SubjectAgeClass | |
base_images |
Array<BaseImagePublic> | |
body_type |
||
cover_image_media |
||
cover_image_url |
||
created_at |
string(date-time) | |
data_image_urls |
Array<string> | |
data_images_media |
||
deleted_at |
||
description |
||
enabled |
boolean | |
ethnicity |
||
gender |
Gender | |
id |
string(uuid) | |
local_model_path |
||
lora_filename |
Extract just the filename from local_model_path if it exists. | |
lora_status |
string | |
lora_trigger |
||
measurements |
||
name |
string | |
negative_prompt |
||
organization_id |
||
owner_id |
string(uuid) | |
portfolio_images_media |
||
portrait_image_media |
||
portrait_image_url |
||
positive_prompt |
||
public |
boolean | |
ready |
boolean | |
slug |
string | |
subject_type |
SubjectType | |
surname |
||
updated_at |
string(date-time) |
SubjectAgeClass¶
Type: string
SubjectBaseImagesUploadTaskPublic¶
| Name | Type | Description |
|---|---|---|
completed_at |
||
created_at |
string(date-time) | |
error_message |
||
id |
string(uuid) | |
images_processed |
integer | |
images_skipped |
integer | |
owner_id |
string(uuid) | |
portfolio_images_processed |
integer | |
processed_items |
integer | |
progress |
integer | |
result_data |
||
started_at |
||
status |
TaskStatus-Output | |
subject_id |
string(uuid) | |
total_items |
integer |
SubjectCreate¶
| Name | Type | Description |
|---|---|---|
age_class |
SubjectAgeClass | |
base_images |
||
body_type |
||
cover_image |
||
data_images |
||
description |
||
ethnicity |
||
gender |
Gender | |
local_model_path |
||
lora_status |
string | |
lora_trigger |
||
measurements |
||
name |
string | |
negative_prompt |
||
organization_id |
Organization this subject belongs to | |
portfolio_images |
||
portrait_image |
||
positive_prompt |
||
public |
boolean | |
subject_type |
SubjectType | |
surname |
SubjectMeasurementsCreate¶
| Name | Type | Description |
|---|---|---|
bust_cm |
||
eye_color |
||
hair_color |
||
height_cm |
||
hips_cm |
||
shoe_eu |
||
waist_cm |
SubjectMeasurementsPublic¶
| Name | Type | Description |
|---|---|---|
bust_cm |
||
eye_color |
||
hair_color |
||
height_cm |
||
hips_cm |
||
id |
string(uuid) | |
shoe_eu |
||
waist_cm |
SubjectMeasurementsUpdate¶
| Name | Type | Description |
|---|---|---|
bust_cm |
||
eye_color |
||
hair_color |
||
height_cm |
||
hips_cm |
||
shoe_eu |
||
waist_cm |
SubjectPortraitPublic¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
id |
string(uuid) | |
image_media |
||
subject_id |
string(uuid) | |
updated_at |
string(date-time) |
SubjectPublic¶
| Name | Type | Description |
|---|---|---|
age_class |
SubjectAgeClass | |
base_images |
Array<BaseImagePublic> | |
body_type |
||
cover_image_media |
||
cover_image_url |
||
created_at |
string(date-time) | |
data_image_urls |
Array<string> | |
data_images_media |
||
deleted_at |
||
description |
||
enabled |
boolean | |
ethnicity |
||
gender |
Gender | |
id |
string(uuid) | |
lora_status |
string | |
lora_trigger |
||
measurements |
||
name |
string | |
negative_prompt |
||
organization_id |
||
owner_id |
string(uuid) | |
portfolio_images_media |
||
portrait_image_media |
||
portrait_image_url |
||
positive_prompt |
||
public |
boolean | |
ready |
boolean | |
slug |
string | |
subject_type |
SubjectType | |
surname |
||
updated_at |
string(date-time) |
SubjectsAdmin¶
| Name | Type | Description |
|---|---|---|
count |
integer | |
created_at |
string(date-time) | |
data |
Array<SubjectAdmin> | |
id |
string(uuid) | |
updated_at |
string(date-time) |
SubjectsPublic¶
| Name | Type | Description |
|---|---|---|
count |
integer | |
created_at |
string(date-time) | |
data |
Array<SubjectPublic> | |
id |
string(uuid) | |
updated_at |
string(date-time) |
SubjectType¶
Type: string
SubjectUpdate¶
| Name | Type | Description |
|---|---|---|
age_class |
||
body_type |
||
cover_image |
||
data_images |
||
description |
||
ethnicity |
||
gender |
||
measurements |
||
name |
||
negative_prompt |
||
organization_id |
Organization to transfer this subject to | |
portfolio_images |
||
portrait_image |
||
positive_prompt |
||
public |
||
ready |
||
surname |
TaskStatus-Output¶
Type: string
ValidationError¶
| Name | Type | Description |
|---|---|---|
ctx |
||
input |
||
loc |
Array<> | |
msg |
string | |
type |
string |
ViewAngle¶
Type: string
Security schemes¶
| Name | Type | Scheme | Description |
|---|---|---|---|
| OAuth2PasswordBearer | oauth2 |