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": "32eab329-8e3f-43c6-8415-0c7b95370627",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"data": [
{
"id": "e66394fa-29f9-45d4-9de1-bacaf1a94dbf",
"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": "c0d6b5d2-380b-41fb-aea5-169c0ad5ef6e",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "23c583a6-83a0-4021-99fb-fd344c937e36",
"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": "155c78e7-b3a9-4480-a989-ce5641452716",
"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": "d318c45c-d30c-4f50-b54e-8e30576a95ef",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "64292317-fdd9-4280-a7ca-ca6a28b7b867",
"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"
}
]
},
"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",
"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": "31e8b181-c26a-43de-b503-da13eaff7f7d",
"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": "90a1a012-32a6-4a01-83cc-c451c91aa1ae",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "9d564b55-1170-4b71-b1db-370fb7f74e40",
"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"
}
]
},
"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",
"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": "e21735d1-3404-457e-b85d-9c58a3e8b4cd",
"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": "76616594-e46f-4974-aaea-5aac4617a126",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "d45dbbb8-e899-4204-9634-e06826ea6826",
"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"
}
]
},
"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",
"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}/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": "50f77043-3965-409f-821e-524ce6289a8a",
"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": "4a5d487e-3012-4150-9593-5cbfa86c31dd",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "4e9a2c54-fd98-4b61-ae9f-eadfc7ac0b7e",
"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"
}
]
},
"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",
"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": "dccca078-61c9-4192-bbf2-7312558168bd",
"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": "ff7fd42d-87d3-49b8-8e07-78d49131f151",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "466e9a87-7eca-49b8-9985-7fd653aa2b9e",
"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"
}
]
},
"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",
"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": "2134f2dd-9a74-495a-a375-10876bd680c1",
"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": "b0fbe4e0-f724-4a22-a4c0-c415befa587d",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "764d8a3d-5b58-4094-80c3-411f58df3952",
"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"
}
]
},
"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",
"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": "9d8bd1c5-11ee-4d76-8e07-04b28f75721f",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"new_owner_id": "1e8fadae-3d10-4f80-b2a9-149cbfd1674b"
}
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": "42aad122-01a8-4958-8d5e-3b4b9a09bf9e",
"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": "2600925f-4046-4e7c-aeb9-3a6c904d5506",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "d0724aa4-1418-4f9f-9b2d-08ace09e7052",
"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"
}
]
},
"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",
"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": "2343162f-0287-4a5d-8eb2-e0473dc1176a",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"subject_ids": [
"a54b9568-4293-46e4-8d6b-9383e1d0925d"
]
}
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": "00c6bf17-d30b-4289-8918-e7bb8755ce76",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"data": [
{
"id": "b15f21fc-2581-43ef-b619-8cd5515688e5",
"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": "d9b3c8db-c05b-453a-bb71-ae5615c015a9",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "ed005480-4bb9-47f5-ba31-66a9290dbc66",
"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": "511c5326-7a6a-427e-8455-16c80f158722",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"data": [
{
"id": "950d473e-137f-483b-b64d-d735f21f0c7b",
"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": "ed343b99-5f6c-44a2-9dd2-07bbf6ae03a1",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "4426115c-b662-47b3-b788-0fde673c8c7a",
"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": "5f6192fd-af04-41b0-99c4-22353a2a4e05",
"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": "09482d13-6c24-4abf-b04b-b88c0d4a5ade",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "0d71a6a4-edbf-4dc5-9c32-1ab1dbc6717a",
"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"
}
]
},
"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",
"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": "db5ae2d0-c43c-4b55-8781-8e4dc17c8942",
"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": "df1e45fb-6ff7-4ad5-9f0f-e29b8436cdf2",
"owner_id": "1fdf3c28-87e2-4a8e-aabd-64beb7fe0315",
"subject_id": "9fd6a649-de66-41e1-bd43-bff70bfac36a",
"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": "43b89fd0-309d-417d-8fea-cc1558a5079d",
"owner_id": "d016521f-cf37-4f2b-b164-8fd89460c5da",
"subject_id": "84564a02-5f3a-4d28-b4bb-0d521b54c9d6",
"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": "9a1eb7e9-8473-435a-951e-c2b7218a9604",
"owner_id": "068fc141-0af5-4812-b40d-314c56db1a05",
"subject_id": "1eac440b-8050-44f2-aeb9-efcda19a335e",
"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"
},
"train": {
"type": "boolean",
"title": "Train",
"description": "Whether to start training after creation",
"default": true
},
"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": "3d9aa408-5b40-4ff1-8aa9-6ee83dd1abaf",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "df43012b-134c-43bc-a16b-b9768fd76071",
"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"
},
"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": "345b3eb3-3d5b-4e1c-9689-8aff5ff7102b",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"data": [
{
"id": "49d15feb-a651-448e-9703-79ef1fc8762c",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "b5464cc7-13a7-4f2c-8ee2-18fab33a2d57",
"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": "b1bea26f-cd3f-49b4-9159-d16b66462a22",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "0a845006-5669-4819-bf1c-8bec6b3ef974",
"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"
},
"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": "40b36086-3ecd-4807-85e9-b1d9fba877c9",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "b60cfe2b-f597-4e52-b5c4-4115f183c928",
"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"
},
"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": "df9a18f1-99dd-42ad-ade3-92b38376fa8b",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "f9eef655-d3d1-44db-bff4-21f892844418",
"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"
},
"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": "4b4aa57c-d977-4ae7-a5ae-bdfe821984ad",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "e700d38a-0eef-4e7c-bb94-287891986e0c",
"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"
},
"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": "486c117e-cef9-46e5-968d-b3cf1b32b4b2",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "9d923ee0-b900-432f-a3d2-21635ebf71da",
"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"
},
"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}/training-status¶
Update Style Training Status
Description
Update the training status of a style.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
error |
query | string | No | ||
id |
path | string | No | ||
organization_id |
query | No | |||
progress |
query | number | No | ||
status |
query | string | No |
Responses
{
"id": "f881f4f0-874b-486d-8b3f-5c3a25541e02",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "d7f0f1ee-9a9d-4440-9617-918152d23442",
"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"
},
"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}/retrain¶
Retrain Style
Description
Retrain 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": "c356d807-08a2-439c-b16d-839129864e83",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "6f711635-f913-4d2a-abd6-c2a72a4c2b1f",
"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"
},
"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": "ea04736e-21d1-4082-bce2-3f90115e258f",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"data": [
{
"id": "50eb5632-4b76-4c81-ae75-a23c41360b94",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "1b4b2304-1756-4db3-aa56-c1091b0250ef",
"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": "ebcca846-c8e5-4539-9e1c-3c15869d9b5c",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "3fc50695-5ee0-466a-9dfe-a73adb1f3c6f",
"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"
},
"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": "b2657d3d-7452-46b4-bed2-6af90abd09e4",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"new_owner_id": "90287004-4583-4e39-a9cd-a869bea7c488"
}
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": "9e906e49-94c6-48bd-ac04-f2bc5b5bb168",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "9abf2e4b-ffe4-4259-a4f4-53301e8cad6a",
"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"
},
"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": "f7146218-3431-4b92-8a33-e04d90114359",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "51918393-836f-41c5-83f2-40200aabd1b5",
"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"
},
"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": "e9dd640c-2e72-4b8c-928c-41ba939a4dab",
"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"
],
"lora_status": "string",
"current_training_id": null,
"training_progress": 10.12,
"training_error": null,
"owner_id": "f1f70fc2-9938-4be7-9252-dea38e1de6b1",
"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"
},
"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": "c5b1fbda-086d-45d0-8420-ad3183f804d7",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"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"
},
"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": "fadccca0-98be-477b-97b6-edfd7a8eb8e3",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"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": "fd4ad172-f7f5-438e-9c13-4c7086a11eba",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"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"
},
"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": "2ce9428b-c904-4e38-ae2a-212a21e09895",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"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"
},
"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": "8e3bd517-094b-4f3a-b07f-a0e044953a91",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"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"
},
"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"
},
"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": "7f8b81ec-12b5-45cd-8424-4601b0c4c168",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "b6c1f624-da4e-421e-8791-733f12611f3d",
"organization_id": null,
"framings": [
{
"id": "4afd2247-a99f-48df-873c-5caa262a5f51",
"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
}
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"
}
]
}
},
"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": "6de22700-8471-4d16-a947-ecaf8ebce1d9",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "01ab5336-9c51-4aeb-a1d6-c6a8eaaf0f8b",
"organization_id": null,
"framings": [
{
"id": "3e7ccc49-c8a9-44cc-8c8d-78a5cda85cc2",
"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
}
],
"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": "84ecf709-64bf-43f8-85a8-59309add8711",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "de54193a-5f74-49ce-8f40-6a948a338cef",
"organization_id": null,
"framings": [
{
"id": "d4a6e550-89c1-48d4-9043-3890f2f83b5c",
"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
}
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"
}
]
}
},
"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"
},
"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": "e4b04b61-236c-473b-b0a9-5f959535bb46",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "5404b6ba-cb18-4064-80de-7e26d9865750",
"organization_id": null,
"framings": [
{
"id": "e50d0cdd-98d3-4ec7-b7b8-ce8feb470e52",
"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
}
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"
}
]
}
},
"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
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": "c5e91325-d310-4d80-868c-2be15e578295",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "66eb831f-8417-4ad6-863b-3e6376de1ef0",
"organization_id": null,
"width": 0,
"height": 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"
},
"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"
}
},
"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": "272b232a-02a9-4376-9227-27c5206e757d",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "8fd9d9d4-6590-44f0-ac37-ef00f2d9484b",
"organization_id": null,
"width": 0,
"height": 0
}
],
"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": "48511a03-6a5f-4517-af1f-77e7e91eb33a",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "56342748-9846-4790-b29a-592817162c89",
"organization_id": null,
"width": 0,
"height": 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"
},
"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"
}
},
"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": "487d1266-a07b-4575-838a-047bc4bfbf7a",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "1a5f400a-946d-4683-b4d0-8c4672ebe695",
"organization_id": null,
"width": 0,
"height": 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"
},
"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"
}
},
"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
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",
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"file_format": "string",
"shot_type_ids": [
"d458fe77-42e4-4ba0-94e9-f3836dc45f30"
],
"subject_ids": [
"f1a91500-e541-42e1-a082-b33baab098fe"
],
"pose_preset_ids": [
"ac09115a-e27d-46ea-a764-defbb0e5bb50"
],
"owner_id": null,
"organization_id": null
}
Schema of the request body
{
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"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"
},
"file_format": {
"type": "string",
"title": "File Format",
"default": "JPG"
},
"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"
},
"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": "65e2a91b-c442-4af2-8609-36374af0eef4",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "03ca2fa3-0991-47b0-9c44-cd73f61e1759",
"organization_id": null,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"file_format": "string",
"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": "8e550cac-35e5-4316-99c3-e4b6158c6f08",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"reference_image": null
}
],
"subjects": [
{
"id": "30512043-ffd5-4dad-92fb-23a1b57b0803",
"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": "a013e8c8-4d2c-4ebd-ab12-18f537ffeffa",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "d7824227-8f13-49f1-9a0d-ea37cd2ab7e4",
"organization_id": null
}
],
"pose_presets": [
{
"id": "cdc985c8-3bcc-46f5-84f4-ee3af81a2a00",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"prompt": null,
"shot_type_id": "26660ce3-2128-4500-a8cb-ede5ca81ad64",
"owner_id": "abc13641-8a97-4435-9442-18de639e6b22",
"organization_id": null,
"pose_image_url": null,
"pose_image_media": null
}
],
"set_design": 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"
},
"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"
},
"file_format": {
"type": "string",
"title": "File Format"
},
"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"
}
]
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"owner_id",
"resolution_preset_id",
"background_preset_id",
"file_format"
],
"title": "ShootingGuidelinesPublic",
"description": "Response model for ShootingGuidelines."
}
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": "dc115933-880e-404d-a55f-883076b30288",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "159dcc85-72ef-467a-86fa-5c0ed8b87707",
"organization_id": null,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"file_format": "string",
"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": "0bebe829-152b-47ad-a726-b729163486dd",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"reference_image": null
}
],
"subjects": [
{
"id": "0542cf64-8ac0-42b8-9d39-809a43320e48",
"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": "0e9aedf7-55e4-4ae8-9f9a-121ae45b945a",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "a79b0185-bb3b-485d-ba06-e6f3dce00e5d",
"organization_id": null
}
],
"pose_presets": [
{
"id": "38dd8050-41c3-44ea-854a-6bea83be3e3f",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"prompt": null,
"shot_type_id": "e3858177-bdac-4c70-a8de-0b4051139951",
"owner_id": "7f11a54e-136f-463c-a32c-5ae07f9bbb5e",
"organization_id": null,
"pose_image_url": null,
"pose_image_media": null
}
],
"set_design": 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": "a47782ea-36c7-4fd6-b72c-8eb1146810f7",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "9ae1c90f-ee0a-4773-8e6b-5a76d91730e0",
"organization_id": null,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"file_format": "string",
"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": "111c9307-5c81-4014-aa7e-0820980238e9",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"reference_image": null
}
],
"subjects": [
{
"id": "e9436fa6-d8a7-4a6c-9fef-dbb6a0ba7f8f",
"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": "2d936651-5487-4931-aba5-4104cd9066da",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "43849a36-2fd6-4f76-9435-fab6515aaec4",
"organization_id": null
}
],
"pose_presets": [
{
"id": "cc9af425-5696-4d14-be32-baccbc280c6b",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"prompt": null,
"shot_type_id": "168e983d-4a0d-487e-9cf0-de6a1931f9bb",
"owner_id": "c26d9cc7-77be-40cd-b307-7d42c18763d0",
"organization_id": null,
"pose_image_url": null,
"pose_image_media": null
}
],
"set_design": 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"
},
"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"
},
"file_format": {
"type": "string",
"title": "File Format"
},
"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"
}
]
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"owner_id",
"resolution_preset_id",
"background_preset_id",
"file_format"
],
"title": "ShootingGuidelinesPublic",
"description": "Response model for ShootingGuidelines."
}
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,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"file_format": null,
"shot_type_ids": null,
"subject_ids": null,
"pose_preset_ids": null,
"owner_id": null,
"organization_id": null
}
Schema of the request body
{
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"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"
},
"file_format": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Format"
},
"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"
},
"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"
}
},
"type": "object",
"title": "ShootingGuidelinesUpdate",
"description": "Request model for updating ShootingGuidelines."
}
Responses
{
"id": "596e032e-0acc-484e-9116-5f421ef05e1b",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"owner_id": "961e8250-3b74-4b0d-8fa6-b62d837b1beb",
"organization_id": null,
"resolution_preset_id": null,
"background_preset_id": null,
"set_design_id": null,
"file_format": "string",
"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": "17881de8-7656-442d-8690-6d65b50310a2",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"reference_image": null
}
],
"subjects": [
{
"id": "78bd09af-97d2-40a7-b915-04b7127e20bb",
"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": "7bf2c6c3-f9b4-4635-9471-cff62f715aa2",
"shot_type_label": "string",
"image_url": "string"
}
],
"measurements": null,
"owner_id": "7739f701-50d6-4beb-b785-6b7c41b50f5f",
"organization_id": null
}
],
"pose_presets": [
{
"id": "09d24ce1-efab-42ef-b304-bf3896cb52e2",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": "string",
"prompt": null,
"shot_type_id": "b8e5b3c5-2723-43cb-a9fd-457541fd9982",
"owner_id": "e38c126b-58ec-4337-913d-b03834d54a39",
"organization_id": null,
"pose_image_url": null,
"pose_image_media": null
}
],
"set_design": 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"
},
"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"
},
"file_format": {
"type": "string",
"title": "File Format"
},
"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"
}
]
}
},
"type": "object",
"required": [
"id",
"created_at",
"updated_at",
"name",
"owner_id",
"resolution_preset_id",
"background_preset_id",
"file_format"
],
"title": "ShootingGuidelinesPublic",
"description": "Response model for ShootingGuidelines."
}
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
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 |
||
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) | |
framings |
Array<BackgroundPresetFramingPublic> | |
id |
string(uuid) | |
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
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 |
||
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
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) | |
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) | |
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) |
SetDesignPublic¶
| Name | Type | Description |
|---|---|---|
background_preset_id |
||
base_images |
Array<SetBaseImagePublic> | |
created_at |
string(date-time) | |
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 |
|---|---|---|
background_preset_id |
||
file_format |
string | |
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)> | |
subject_ids |
Array<string(uuid)> |
ShootingGuidelinesListPublic¶
| Name | Type | Description |
|---|---|---|
count |
integer | |
data |
Array<ShootingGuidelinesPublic> |
ShootingGuidelinesPublic¶
| Name | Type | Description |
|---|---|---|
background_preset_id |
||
created_at |
string(date-time) | |
file_format |
string | |
id |
string(uuid) | |
name |
string | |
organization_id |
||
owner_id |
string(uuid) | |
pose_presets |
Array<PosePresetPublic> | |
resolution_preset_id |
||
set_design |
||
set_design_id |
||
shot_types |
Array<ShotTypePublic> | |
subjects |
Array<SubjectPublic> | |
updated_at |
string(date-time) |
ShootingGuidelinesUpdate¶
| Name | Type | Description |
|---|---|---|
background_preset_id |
||
file_format |
||
name |
||
organization_id |
Organization to transfer these guidelines to | |
owner_id |
||
pose_preset_ids |
||
resolution_preset_id |
||
set_design_id |
||
shot_type_ids |
||
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 |
||
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 | |
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 | |
train |
boolean | Whether to start training after creation |
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 | |
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 |
||
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 |
||
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 |