Skip to content

Subjects & Styles Endpoints

AI subjects, visual styles, guidelines, shot types, and presets.


Overview

Subjects

Method Endpoint Description
GET /subjects/ List subjects
POST /subjects/ Create subject
GET /subjects/{id} Get subject
PATCH /subjects/{id} Update subject
DELETE /subjects/{id} Delete subject

Styles

Method Endpoint Description
GET /styles/ List styles
POST /styles/ Create style
GET /styles/{id} Get style
PATCH /styles/{id} Update style

Guidelines

Method Endpoint Description
GET /guidelines/ List guidelines
POST /guidelines/ Create guideline
GET /guidelines/{id} Get guideline

Shot Types

Method Endpoint Description
GET /shot-types/ List shot types
POST /shot-types/ Create shot type
GET /shot-types/{id} Get shot type

Presets

Method Endpoint Description
GET /background-presets/ List background presets
GET /resolution-presets/ List resolution presets

API Reference

Sartiq Backend Server - Subjects Styles 0.1.0

subjects


GET /api/v1/subjects/

Read Subjects

Description

Retrieve subjects.

When organization_id query param is provided, returns subjects belonging to that organization. Without organization_id, returns only personal subjects (not belonging to any organization).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
age_class query No
body_type query No
include_public query No
limit query integer 100 No
only_with_base_images query No
organization_id query No
skip query integer 0 No

Responses

{
    "id": "52815efe-2d5e-4f0e-b1e7-60c1af34aeff",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "data": [
        {
            "id": "2d7cc883-0842-4eb0-8bd7-f081d88ed941",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "surname": null,
            "slug": "string",
            "description": null,
            "age_class": "newborn",
            "gender": "MALE",
            "subject_type": "AI",
            "body_type": null,
            "positive_prompt": null,
            "negative_prompt": null,
            "ethnicity": null,
            "public": true,
            "enabled": true,
            "ready": true,
            "lora_status": "string",
            "lora_trigger": null,
            "cover_image_url": null,
            "portrait_image_url": null,
            "data_image_urls": [
                "string"
            ],
            "cover_image_media": null,
            "portrait_image_media": null,
            "data_images_media": null,
            "portfolio_images_media": null,
            "base_images": [
                {
                    "shot_type_id": "31b3e78b-5146-48d0-9502-e673bb4879da",
                    "shot_type_label": "string",
                    "image_url": "string"
                }
            ],
            "measurements": null,
            "deleted_at": null,
            "owner_id": "59a8e334-8c59-4d59-bdf0-87a249854f9f",
            "organization_id": null
        }
    ],
    "count": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "type": "string",
            "title": "Name"
        },
        "surname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Surname"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status",
            "default": "none"
        },
        "cover_image": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                }
            ],
            "title": "Cover Image"
        },
        "data_images": {
            "anyOf": [
                {
                    "items": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "$ref": "#/components/schemas/MediaInput"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images"
        },
        "portrait_image": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portrait Image"
        },
        "portfolio_images": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaInput"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portfolio Images"
        },
        "base_images": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/BaseImageCreate"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Base Images"
        },
        "age_class": {
            "$ref": "#/components/schemas/SubjectAgeClass"
        },
        "gender": {
            "$ref": "#/components/schemas/Gender",
            "default": "FEMALE"
        },
        "positive_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Positive Prompt"
        },
        "negative_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Negative Prompt"
        },
        "ethnicity": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ethnicity"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": false
        },
        "subject_type": {
            "$ref": "#/components/schemas/SubjectType",
            "default": "AI"
        },
        "body_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BodyType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id",
            "description": "Organization this subject belongs to"
        },
        "measurements": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectMeasurementsCreate"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "type": "object",
    "required": [
        "name",
        "cover_image",
        "age_class"
    ],
    "title": "SubjectCreate"
}

Responses

{
    "id": "b32a7d12-88db-4338-aa1d-c7b4728a2907",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "surname": null,
    "slug": "string",
    "description": null,
    "age_class": "newborn",
    "gender": "MALE",
    "subject_type": "AI",
    "body_type": null,
    "positive_prompt": null,
    "negative_prompt": null,
    "ethnicity": null,
    "public": true,
    "enabled": true,
    "ready": true,
    "lora_status": "string",
    "lora_trigger": null,
    "cover_image_url": null,
    "portrait_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "cover_image_media": null,
    "portrait_image_media": null,
    "data_images_media": null,
    "portfolio_images_media": null,
    "base_images": [
        {
            "shot_type_id": "77436072-56a5-482b-b5b9-a17b8b75c78f",
            "shot_type_label": "string",
            "image_url": "string"
        }
    ],
    "measurements": null,
    "deleted_at": null,
    "owner_id": "bec30db8-8149-442d-a5a6-5ecf40d5879e",
    "organization_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "surname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Surname"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "age_class": {
            "$ref": "#/components/schemas/SubjectAgeClass"
        },
        "gender": {
            "$ref": "#/components/schemas/Gender"
        },
        "subject_type": {
            "$ref": "#/components/schemas/SubjectType"
        },
        "body_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BodyType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "positive_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Positive Prompt"
        },
        "negative_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Negative Prompt"
        },
        "ethnicity": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ethnicity"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "ready": {
            "type": "boolean",
            "title": "Ready"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "portrait_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portrait Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "portrait_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        },
        "portfolio_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portfolio Images Media"
        },
        "base_images": {
            "items": {
                "$ref": "#/components/schemas/BaseImagePublic"
            },
            "type": "array",
            "title": "Base Images"
        },
        "measurements": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectMeasurementsPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "slug",
        "description",
        "age_class",
        "gender",
        "subject_type",
        "ethnicity",
        "public",
        "enabled",
        "ready",
        "lora_status",
        "lora_trigger",
        "cover_image_url",
        "data_image_urls",
        "owner_id"
    ],
    "title": "SubjectPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/subjects/{id}

Read Subject

Description

Get subject by ID.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No
organization_id query No

Responses

{
    "id": "5fe87b07-9cc9-4cee-92b5-0fe1c8bf2ac2",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "surname": null,
    "slug": "string",
    "description": null,
    "age_class": "newborn",
    "gender": "MALE",
    "subject_type": "AI",
    "body_type": null,
    "positive_prompt": null,
    "negative_prompt": null,
    "ethnicity": null,
    "public": true,
    "enabled": true,
    "ready": true,
    "lora_status": "string",
    "lora_trigger": null,
    "cover_image_url": null,
    "portrait_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "cover_image_media": null,
    "portrait_image_media": null,
    "data_images_media": null,
    "portfolio_images_media": null,
    "base_images": [
        {
            "shot_type_id": "0fa4bbe1-019b-4ed3-a51f-7649c659bb74",
            "shot_type_label": "string",
            "image_url": "string"
        }
    ],
    "measurements": null,
    "deleted_at": null,
    "owner_id": "661256c5-86c3-4f23-aa9b-1223e8c5d54c",
    "organization_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "surname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Surname"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "age_class": {
            "$ref": "#/components/schemas/SubjectAgeClass"
        },
        "gender": {
            "$ref": "#/components/schemas/Gender"
        },
        "subject_type": {
            "$ref": "#/components/schemas/SubjectType"
        },
        "body_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BodyType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "positive_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Positive Prompt"
        },
        "negative_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Negative Prompt"
        },
        "ethnicity": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ethnicity"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "ready": {
            "type": "boolean",
            "title": "Ready"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "portrait_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portrait Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "portrait_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        },
        "portfolio_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portfolio Images Media"
        },
        "base_images": {
            "items": {
                "$ref": "#/components/schemas/BaseImagePublic"
            },
            "type": "array",
            "title": "Base Images"
        },
        "measurements": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectMeasurementsPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "slug",
        "description",
        "age_class",
        "gender",
        "subject_type",
        "ethnicity",
        "public",
        "enabled",
        "ready",
        "lora_status",
        "lora_trigger",
        "cover_image_url",
        "data_image_urls",
        "owner_id"
    ],
    "title": "SubjectPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Name"
        },
        "surname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Surname"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "cover_image": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image"
        },
        "data_images": {
            "anyOf": [
                {
                    "items": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "$ref": "#/components/schemas/MediaInput"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images"
        },
        "portrait_image": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portrait Image"
        },
        "portfolio_images": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaInput"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portfolio Images"
        },
        "age_class": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectAgeClass"
                },
                {
                    "type": "null"
                }
            ]
        },
        "gender": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/Gender"
                },
                {
                    "type": "null"
                }
            ]
        },
        "positive_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Positive Prompt"
        },
        "negative_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Negative Prompt"
        },
        "ethnicity": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ethnicity"
        },
        "public": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Public"
        },
        "ready": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ready"
        },
        "body_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BodyType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id",
            "description": "Organization to transfer this subject to"
        },
        "measurements": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectMeasurementsUpdate"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "type": "object",
    "title": "SubjectUpdate"
}

Responses

{
    "id": "31fb4e1a-0902-4e36-a7a4-f9e2b4fd1396",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "surname": null,
    "slug": "string",
    "description": null,
    "age_class": "newborn",
    "gender": "MALE",
    "subject_type": "AI",
    "body_type": null,
    "positive_prompt": null,
    "negative_prompt": null,
    "ethnicity": null,
    "public": true,
    "enabled": true,
    "ready": true,
    "lora_status": "string",
    "lora_trigger": null,
    "cover_image_url": null,
    "portrait_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "cover_image_media": null,
    "portrait_image_media": null,
    "data_images_media": null,
    "portfolio_images_media": null,
    "base_images": [
        {
            "shot_type_id": "891c1076-b556-4e56-a96e-bda066890478",
            "shot_type_label": "string",
            "image_url": "string"
        }
    ],
    "measurements": null,
    "deleted_at": null,
    "owner_id": "e30d5ea2-8d8f-4f23-b38d-591fba3a0cce",
    "organization_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "surname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Surname"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "age_class": {
            "$ref": "#/components/schemas/SubjectAgeClass"
        },
        "gender": {
            "$ref": "#/components/schemas/Gender"
        },
        "subject_type": {
            "$ref": "#/components/schemas/SubjectType"
        },
        "body_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BodyType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "positive_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Positive Prompt"
        },
        "negative_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Negative Prompt"
        },
        "ethnicity": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ethnicity"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "ready": {
            "type": "boolean",
            "title": "Ready"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "portrait_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portrait Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "portrait_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        },
        "portfolio_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portfolio Images Media"
        },
        "base_images": {
            "items": {
                "$ref": "#/components/schemas/BaseImagePublic"
            },
            "type": "array",
            "title": "Base Images"
        },
        "measurements": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectMeasurementsPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "slug",
        "description",
        "age_class",
        "gender",
        "subject_type",
        "ethnicity",
        "public",
        "enabled",
        "ready",
        "lora_status",
        "lora_trigger",
        "cover_image_url",
        "data_image_urls",
        "owner_id"
    ],
    "title": "SubjectPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "message": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "message": {
            "type": "string",
            "title": "Message"
        }
    },
    "type": "object",
    "required": [
        "message"
    ],
    "title": "Message"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/subjects/{id}/restore

Restore Subject

Description

Restore a soft-deleted subject (admin only).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No

Responses

{
    "id": "15cbf780-3eb3-4e7f-93c1-7f36301cb3a5",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "surname": null,
    "slug": "string",
    "description": null,
    "age_class": "newborn",
    "gender": "MALE",
    "subject_type": "AI",
    "body_type": null,
    "positive_prompt": null,
    "negative_prompt": null,
    "ethnicity": null,
    "public": true,
    "enabled": true,
    "ready": true,
    "lora_status": "string",
    "lora_trigger": null,
    "cover_image_url": null,
    "portrait_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "cover_image_media": null,
    "portrait_image_media": null,
    "data_images_media": null,
    "portfolio_images_media": null,
    "base_images": [
        {
            "shot_type_id": "84885765-0df0-4891-a8bd-89f0ac3c8cb2",
            "shot_type_label": "string",
            "image_url": "string"
        }
    ],
    "measurements": null,
    "deleted_at": null,
    "owner_id": "38a16925-10e1-4033-b268-c73335376178",
    "organization_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "surname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Surname"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "age_class": {
            "$ref": "#/components/schemas/SubjectAgeClass"
        },
        "gender": {
            "$ref": "#/components/schemas/Gender"
        },
        "subject_type": {
            "$ref": "#/components/schemas/SubjectType"
        },
        "body_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BodyType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "positive_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Positive Prompt"
        },
        "negative_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Negative Prompt"
        },
        "ethnicity": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ethnicity"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "ready": {
            "type": "boolean",
            "title": "Ready"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "portrait_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portrait Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "portrait_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        },
        "portfolio_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portfolio Images Media"
        },
        "base_images": {
            "items": {
                "$ref": "#/components/schemas/BaseImagePublic"
            },
            "type": "array",
            "title": "Base Images"
        },
        "measurements": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectMeasurementsPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "slug",
        "description",
        "age_class",
        "gender",
        "subject_type",
        "ethnicity",
        "public",
        "enabled",
        "ready",
        "lora_status",
        "lora_trigger",
        "cover_image_url",
        "data_image_urls",
        "owner_id"
    ],
    "title": "SubjectPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/subjects/{id}/copy

Copy Subject

Description

Create a copy of an existing subject (admin only).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No

Responses

{
    "id": "d3306a93-e869-4a29-a705-71c6bb0cebe4",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "surname": null,
    "slug": "string",
    "description": null,
    "age_class": "newborn",
    "gender": "MALE",
    "subject_type": "AI",
    "body_type": null,
    "positive_prompt": null,
    "negative_prompt": null,
    "ethnicity": null,
    "public": true,
    "enabled": true,
    "ready": true,
    "lora_status": "string",
    "lora_trigger": null,
    "cover_image_url": null,
    "portrait_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "cover_image_media": null,
    "portrait_image_media": null,
    "data_images_media": null,
    "portfolio_images_media": null,
    "base_images": [
        {
            "shot_type_id": "6fdd341b-4e2b-48b7-80ed-4f5dc0bf8fce",
            "shot_type_label": "string",
            "image_url": "string"
        }
    ],
    "measurements": null,
    "deleted_at": null,
    "owner_id": "bf293596-6913-478e-a8cb-a023f4f77f00",
    "organization_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "surname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Surname"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "age_class": {
            "$ref": "#/components/schemas/SubjectAgeClass"
        },
        "gender": {
            "$ref": "#/components/schemas/Gender"
        },
        "subject_type": {
            "$ref": "#/components/schemas/SubjectType"
        },
        "body_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BodyType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "positive_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Positive Prompt"
        },
        "negative_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Negative Prompt"
        },
        "ethnicity": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ethnicity"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "ready": {
            "type": "boolean",
            "title": "Ready"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "portrait_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portrait Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "portrait_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        },
        "portfolio_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portfolio Images Media"
        },
        "base_images": {
            "items": {
                "$ref": "#/components/schemas/BaseImagePublic"
            },
            "type": "array",
            "title": "Base Images"
        },
        "measurements": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectMeasurementsPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "slug",
        "description",
        "age_class",
        "gender",
        "subject_type",
        "ethnicity",
        "public",
        "enabled",
        "ready",
        "lora_status",
        "lora_trigger",
        "cover_image_url",
        "data_image_urls",
        "owner_id"
    ],
    "title": "SubjectPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "lora_trigger": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        }
    },
    "type": "object",
    "title": "Body_update_subject_lora_trigger"
}

Responses

{
    "id": "a5149c3c-e1e7-4b60-9dea-fd5e4b635a64",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "surname": null,
    "slug": "string",
    "description": null,
    "age_class": "newborn",
    "gender": "MALE",
    "subject_type": "AI",
    "body_type": null,
    "positive_prompt": null,
    "negative_prompt": null,
    "ethnicity": null,
    "public": true,
    "enabled": true,
    "ready": true,
    "lora_status": "string",
    "lora_trigger": null,
    "cover_image_url": null,
    "portrait_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "cover_image_media": null,
    "portrait_image_media": null,
    "data_images_media": null,
    "portfolio_images_media": null,
    "base_images": [
        {
            "shot_type_id": "2d8125f4-d6c5-46aa-ad74-6a154032a7be",
            "shot_type_label": "string",
            "image_url": "string"
        }
    ],
    "measurements": null,
    "deleted_at": null,
    "owner_id": "b638c5b3-4e23-4911-862b-6cbba6de648a",
    "organization_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "surname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Surname"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "age_class": {
            "$ref": "#/components/schemas/SubjectAgeClass"
        },
        "gender": {
            "$ref": "#/components/schemas/Gender"
        },
        "subject_type": {
            "$ref": "#/components/schemas/SubjectType"
        },
        "body_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BodyType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "positive_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Positive Prompt"
        },
        "negative_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Negative Prompt"
        },
        "ethnicity": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ethnicity"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "ready": {
            "type": "boolean",
            "title": "Ready"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "portrait_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portrait Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "portrait_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        },
        "portfolio_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portfolio Images Media"
        },
        "base_images": {
            "items": {
                "$ref": "#/components/schemas/BaseImagePublic"
            },
            "type": "array",
            "title": "Base Images"
        },
        "measurements": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectMeasurementsPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "slug",
        "description",
        "age_class",
        "gender",
        "subject_type",
        "ethnicity",
        "public",
        "enabled",
        "ready",
        "lora_status",
        "lora_trigger",
        "cover_image_url",
        "data_image_urls",
        "owner_id"
    ],
    "title": "SubjectPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "file": "string",
    "lora_trigger": "string",
    "entity_type": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "file": {
            "type": "string",
            "contentMediaType": "application/octet-stream",
            "title": "File"
        },
        "lora_trigger": {
            "type": "string",
            "title": "Lora Trigger"
        },
        "entity_type": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Entity Type"
        }
    },
    "type": "object",
    "required": [
        "file",
        "lora_trigger"
    ],
    "title": "Body_upload_subject_lora"
}

Responses

{
    "id": "1a865e50-5938-4fc6-9649-286a012b2712",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "surname": null,
    "slug": "string",
    "description": null,
    "age_class": "newborn",
    "gender": "MALE",
    "subject_type": "AI",
    "body_type": null,
    "positive_prompt": null,
    "negative_prompt": null,
    "ethnicity": null,
    "public": true,
    "enabled": true,
    "ready": true,
    "lora_status": "string",
    "lora_trigger": null,
    "cover_image_url": null,
    "portrait_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "cover_image_media": null,
    "portrait_image_media": null,
    "data_images_media": null,
    "portfolio_images_media": null,
    "base_images": [
        {
            "shot_type_id": "56277716-4699-4948-a113-c6673c1bf782",
            "shot_type_label": "string",
            "image_url": "string"
        }
    ],
    "measurements": null,
    "deleted_at": null,
    "owner_id": "fa149ccf-4c1b-43e8-84a1-3ffa9a8358cd",
    "organization_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "surname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Surname"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "age_class": {
            "$ref": "#/components/schemas/SubjectAgeClass"
        },
        "gender": {
            "$ref": "#/components/schemas/Gender"
        },
        "subject_type": {
            "$ref": "#/components/schemas/SubjectType"
        },
        "body_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BodyType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "positive_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Positive Prompt"
        },
        "negative_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Negative Prompt"
        },
        "ethnicity": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ethnicity"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "ready": {
            "type": "boolean",
            "title": "Ready"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "portrait_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portrait Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "portrait_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        },
        "portfolio_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portfolio Images Media"
        },
        "base_images": {
            "items": {
                "$ref": "#/components/schemas/BaseImagePublic"
            },
            "type": "array",
            "title": "Base Images"
        },
        "measurements": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectMeasurementsPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "slug",
        "description",
        "age_class",
        "gender",
        "subject_type",
        "ethnicity",
        "public",
        "enabled",
        "ready",
        "lora_status",
        "lora_trigger",
        "cover_image_url",
        "data_image_urls",
        "owner_id"
    ],
    "title": "SubjectPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

PATCH /api/v1/subjects/admin/{subject_id}/assign-owner

Assign Subject Owner

Description

Transfer subject ownership to a different user (admin only). Optionally also assign to an organization.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
organization_id query No Organization ID to assign
subject_id path string No

Request body

{
    "id": "cc20391a-0b41-40aa-9819-a0eb8d2b5f55",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "new_owner_id": "356a4f4f-d8ed-462e-8d7d-91a482c810b9"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "new_owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "New Owner Id"
        }
    },
    "type": "object",
    "required": [
        "new_owner_id"
    ],
    "title": "AssignOwnerRequest"
}

Responses

{
    "id": "e6c3a605-a3da-43fe-a894-5d58b3e533a8",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "surname": null,
    "slug": "string",
    "description": null,
    "age_class": "newborn",
    "gender": "MALE",
    "subject_type": "AI",
    "body_type": null,
    "positive_prompt": null,
    "negative_prompt": null,
    "ethnicity": null,
    "public": true,
    "enabled": true,
    "ready": true,
    "lora_status": "string",
    "lora_trigger": null,
    "cover_image_url": null,
    "portrait_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "cover_image_media": null,
    "portrait_image_media": null,
    "data_images_media": null,
    "portfolio_images_media": null,
    "base_images": [
        {
            "shot_type_id": "9e54176e-a739-459b-ba06-037f1fc8fb9e",
            "shot_type_label": "string",
            "image_url": "string"
        }
    ],
    "measurements": null,
    "deleted_at": null,
    "owner_id": "c8da3179-d33a-458f-a8cf-42fec6ddbc22",
    "organization_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "surname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Surname"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "age_class": {
            "$ref": "#/components/schemas/SubjectAgeClass"
        },
        "gender": {
            "$ref": "#/components/schemas/Gender"
        },
        "subject_type": {
            "$ref": "#/components/schemas/SubjectType"
        },
        "body_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BodyType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "positive_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Positive Prompt"
        },
        "negative_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Negative Prompt"
        },
        "ethnicity": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ethnicity"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "ready": {
            "type": "boolean",
            "title": "Ready"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "portrait_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portrait Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "portrait_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        },
        "portfolio_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portfolio Images Media"
        },
        "base_images": {
            "items": {
                "$ref": "#/components/schemas/BaseImagePublic"
            },
            "type": "array",
            "title": "Base Images"
        },
        "measurements": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectMeasurementsPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "slug",
        "description",
        "age_class",
        "gender",
        "subject_type",
        "ethnicity",
        "public",
        "enabled",
        "ready",
        "lora_status",
        "lora_trigger",
        "cover_image_url",
        "data_image_urls",
        "owner_id"
    ],
    "title": "SubjectPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/subjects/admin/users/{user_id}/assign-subjects

Bulk Assign Subjects

Description

Assign multiple subjects to a user (admin only). Optionally also assign to an organization.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
organization_id query No Organization ID to assign
user_id path string No

Request body

{
    "id": "2d48a5de-3ce1-4f3c-8ac0-ed5104daa84a",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "subject_ids": [
        "9d784e15-d7b1-404a-985e-b8f23c590e6d"
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "message": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "message": {
            "type": "string",
            "title": "Message"
        }
    },
    "type": "object",
    "required": [
        "message"
    ],
    "title": "Message"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/subjects/admin/users/{user_id}/subjects

Get User Subjects

Description

Get all subjects owned by a specific user (admin only). Optionally filter by organization.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
limit query integer 100 No
organization_id query No Organization ID to filter by
skip query integer 0 No
user_id path string No

Responses

{
    "id": "c43cdee8-2fdb-4413-b5ec-0eb686fafe7a",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "data": [
        {
            "id": "65ad34b6-f926-47d7-9d71-8fd144848eb9",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "surname": null,
            "slug": "string",
            "description": null,
            "age_class": "newborn",
            "gender": "MALE",
            "subject_type": "AI",
            "body_type": null,
            "positive_prompt": null,
            "negative_prompt": null,
            "ethnicity": null,
            "public": true,
            "enabled": true,
            "ready": true,
            "lora_status": "string",
            "lora_trigger": null,
            "cover_image_url": null,
            "portrait_image_url": null,
            "data_image_urls": [
                "string"
            ],
            "cover_image_media": null,
            "portrait_image_media": null,
            "data_images_media": null,
            "portfolio_images_media": null,
            "base_images": [
                {
                    "shot_type_id": "ab20404d-de3a-4d76-b34e-6a0a0c86a58d",
                    "shot_type_label": "string",
                    "image_url": "string"
                }
            ],
            "measurements": null,
            "deleted_at": null,
            "owner_id": "d55244fd-b218-4b35-abdb-2f4e8c0b53f8",
            "organization_id": null
        }
    ],
    "count": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/subjects/admin/

Read Subjects Admin

Description

Retrieve all subjects with admin fields (admin only).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
body_type query No
limit query integer 100 No
organization_id query No Organization ID to filter by
skip query integer 0 No

Responses

{
    "id": "bc96ee33-86dd-4b94-beeb-797fd72be1f6",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "data": [
        {
            "id": "4209fb1f-c205-4960-9e29-52e20e3b28c6",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "surname": null,
            "slug": "string",
            "description": null,
            "age_class": "newborn",
            "gender": "MALE",
            "subject_type": "AI",
            "body_type": null,
            "positive_prompt": null,
            "negative_prompt": null,
            "ethnicity": null,
            "public": true,
            "enabled": true,
            "ready": true,
            "lora_status": "string",
            "lora_trigger": null,
            "cover_image_url": null,
            "portrait_image_url": null,
            "data_image_urls": [
                "string"
            ],
            "cover_image_media": null,
            "portrait_image_media": null,
            "data_images_media": null,
            "portfolio_images_media": null,
            "base_images": [
                {
                    "shot_type_id": "15555efa-41d8-42df-b24e-499b2e11d3cf",
                    "shot_type_label": "string",
                    "image_url": "string"
                }
            ],
            "measurements": null,
            "deleted_at": null,
            "owner_id": "f3f405f4-2723-46ca-a967-cdcc1b53e5b6",
            "organization_id": null,
            "local_model_path": null,
            "lora_filename": null
        }
    ],
    "count": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/subjects/admin/{id}

Read Subject Admin

Description

Get subject by ID with admin fields (admin only).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No

Responses

{
    "id": "dde5b0b1-27a8-4608-8c31-36104e5df4eb",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "surname": null,
    "slug": "string",
    "description": null,
    "age_class": "newborn",
    "gender": "MALE",
    "subject_type": "AI",
    "body_type": null,
    "positive_prompt": null,
    "negative_prompt": null,
    "ethnicity": null,
    "public": true,
    "enabled": true,
    "ready": true,
    "lora_status": "string",
    "lora_trigger": null,
    "cover_image_url": null,
    "portrait_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "cover_image_media": null,
    "portrait_image_media": null,
    "data_images_media": null,
    "portfolio_images_media": null,
    "base_images": [
        {
            "shot_type_id": "8b4137c1-a6aa-4889-89d8-8aa4d19b4385",
            "shot_type_label": "string",
            "image_url": "string"
        }
    ],
    "measurements": null,
    "deleted_at": null,
    "owner_id": "4a195c6d-a193-4b40-a0eb-cb65ad72305e",
    "organization_id": null,
    "local_model_path": null,
    "lora_filename": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "surname": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Surname"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "age_class": {
            "$ref": "#/components/schemas/SubjectAgeClass"
        },
        "gender": {
            "$ref": "#/components/schemas/Gender"
        },
        "subject_type": {
            "$ref": "#/components/schemas/SubjectType"
        },
        "body_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BodyType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "positive_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Positive Prompt"
        },
        "negative_prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Negative Prompt"
        },
        "ethnicity": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Ethnicity"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "ready": {
            "type": "boolean",
            "title": "Ready"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "portrait_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portrait Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "portrait_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        },
        "portfolio_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Portfolio Images Media"
        },
        "base_images": {
            "items": {
                "$ref": "#/components/schemas/BaseImagePublic"
            },
            "type": "array",
            "title": "Base Images"
        },
        "measurements": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SubjectMeasurementsPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_filename": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Filename",
            "description": "Extract just the filename from local_model_path if it exists.",
            "readOnly": true
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "slug",
        "description",
        "age_class",
        "gender",
        "subject_type",
        "ethnicity",
        "public",
        "enabled",
        "ready",
        "lora_status",
        "lora_trigger",
        "cover_image_url",
        "data_image_urls",
        "owner_id",
        "local_model_path",
        "lora_filename"
    ],
    "title": "SubjectAdmin"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "shot_type_id": "3c5afd63-c242-4084-8d9e-3ce8ddf6d2f5",
    "image_url": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "shot_type_id": {
            "type": "string",
            "format": "uuid",
            "title": "Shot Type Id"
        },
        "image_url": {
            "type": "string",
            "title": "Image Url"
        }
    },
    "type": "object",
    "required": [
        "shot_type_id",
        "image_url"
    ],
    "title": "BaseImageCreate",
    "description": "Schema for creating a base image"
}

Responses

{
    "shot_type_id": "c01bd69d-5ab5-4f38-86fe-1c4e5b5d6c9c",
    "shot_type_label": "string",
    "image_url": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "data": [
        {
            "shot_type_id": "90968132-0179-4b64-9a4e-8de8966521c8",
            "shot_type_label": "string",
            "image_url": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "data": {
            "items": {
                "$ref": "#/components/schemas/BaseImagePublic"
            },
            "type": "array",
            "title": "Data"
        }
    },
    "type": "object",
    "required": [
        "data"
    ],
    "title": "BaseImageListResponse",
    "description": "Schema for listing base images"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "message": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "message": {
            "type": "string",
            "title": "Message"
        }
    },
    "type": "object",
    "required": [
        "message"
    ],
    "title": "Message"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "file": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "file": {
            "type": "string",
            "contentMediaType": "application/octet-stream",
            "title": "File"
        }
    },
    "type": "object",
    "required": [
        "file"
    ],
    "title": "Body_upload_subject_base_images_zip"
}

Responses

{
    "id": "42139205-5dd6-4fac-aade-5c5bb043f26a",
    "owner_id": "bae4d87e-aca3-4d28-becc-c76e05f666e1",
    "subject_id": "97b8cfc5-8104-49e3-9845-530dc04cefa2",
    "status": "PENDING",
    "progress": 0,
    "total_items": 0,
    "processed_items": 0,
    "images_processed": 0,
    "images_skipped": 0,
    "portfolio_images_processed": 0,
    "error_message": null,
    "created_at": "2022-04-13T15:42:05.901Z",
    "started_at": null,
    "completed_at": null,
    "result_data": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/subjects/upload-tasks/{task_id}

Get Subject Base Images Upload Task

Description

Poll task status for base images upload.

Use this endpoint to check progress after uploading a ZIP file.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
task_id path string No

Responses

{
    "id": "c3129e07-773a-4d14-859d-be866f39ec7d",
    "owner_id": "70563b0e-8613-4ec6-8cc9-90c5096c5e59",
    "subject_id": "69cbbe38-5325-46e4-86ca-7aaca279ce13",
    "status": "PENDING",
    "progress": 0,
    "total_items": 0,
    "processed_items": 0,
    "images_processed": 0,
    "images_skipped": 0,
    "portfolio_images_processed": 0,
    "error_message": null,
    "created_at": "2022-04-13T15:42:05.901Z",
    "started_at": null,
    "completed_at": null,
    "result_data": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/subjects/{subject_id}/base-images/upload-task

Get Subject Base Images Upload Task By Subject

Description

Get the latest base images upload task for a subject.

Use this endpoint when returning to a subject page to resume/check upload status. Returns the most recent task (by created_at) for this subject.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
organization_id query No
subject_id path string No

Responses

{
    "id": "56fa4c7b-b666-4c17-ae27-4efbd9e6a077",
    "owner_id": "051b916a-5b81-44c6-b544-a7e797fb30b1",
    "subject_id": "bee35dfb-19a0-4304-97e0-dcf81fcd9237",
    "status": "PENDING",
    "progress": 0,
    "total_items": 0,
    "processed_items": 0,
    "images_processed": 0,
    "images_skipped": 0,
    "portfolio_images_processed": 0,
    "error_message": null,
    "created_at": "2022-04-13T15:42:05.901Z",
    "started_at": null,
    "completed_at": null,
    "result_data": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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"
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "type": "string",
            "maxLength": 255,
            "title": "Name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 1000
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 1000
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory",
            "default": "OTHER"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 128
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight",
            "default": 0.7
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 1000
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": false
        },
        "cover_image": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                }
            ],
            "title": "Cover Image",
            "description": "URL or base64 string for cover image, or MediaInput object"
        },
        "data_images": {
            "anyOf": [
                {
                    "items": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "$ref": "#/components/schemas/MediaInput"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images",
            "description": "List of image URLs, base64 strings, or MediaInput objects"
        },
        "tags": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Tags",
            "description": "List of tags for the style"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id",
            "description": "Organization this style belongs to"
        }
    },
    "type": "object",
    "required": [
        "name",
        "cover_image"
    ],
    "title": "StyleCreate",
    "example": {
        "brand": "RetroFashion",
        "cover_image": "https://example.com/image.jpg",
        "default_lora_weight": 0.8,
        "description": "Classic vintage denim style with worn-out look",
        "name": "Vintage Denim",
        "prompt_keywords": "vintage, denim, retro, classic",
        "public": false,
        "style_category": "VINTAGE",
        "tags": [
            "vintage",
            "denim",
            "retro"
        ]
    }
}

Responses

{
    "id": "85382083-1ce6-4b57-8cc0-0cd097c6ad1c",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "slug": "string",
    "description": null,
    "brand": null,
    "style_category": "VINTAGE",
    "local_model_path": null,
    "lora_trigger": null,
    "default_lora_weight": 10.12,
    "prompt_keywords": null,
    "public": true,
    "enabled": true,
    "archived": true,
    "demo": true,
    "cover_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "tags": [
        "string"
    ],
    "deleted_at": null,
    "lora_status": "string",
    "current_training_id": null,
    "training_progress": 10.12,
    "training_error": null,
    "owner_id": "e11d8198-f8ff-427b-9ec2-73a2d1f3eca2",
    "organization_id": null,
    "cover_image_media": null,
    "data_images_media": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "archived": {
            "type": "boolean",
            "title": "Archived"
        },
        "demo": {
            "type": "boolean",
            "title": "Demo"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Tags"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "current_training_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Training Id"
        },
        "training_progress": {
            "type": "number",
            "title": "Training Progress",
            "default": 0.0
        },
        "training_error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Training Error"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "name",
        "slug",
        "description",
        "brand",
        "style_category",
        "local_model_path",
        "lora_trigger",
        "default_lora_weight",
        "prompt_keywords",
        "public",
        "enabled",
        "archived",
        "demo",
        "cover_image_url",
        "data_image_urls",
        "tags",
        "lora_status",
        "owner_id"
    ],
    "title": "StylePublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/styles/

Read Styles

Description

Retrieve styles. Optionally filter by owner, category, public status, enabled status, archived status, and demo status.

When organization_id query param is provided, returns styles belonging to that organization. Without organization_id, returns only personal styles (not belonging to any organization).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
archived query No
demo query No
enabled query No
limit query integer 100 No
organization_id query No
owner_id query No
public query No
search query No
skip query integer 0 No
style_category query No

Responses

{
    "id": "19fc9c0e-6604-4fe3-9307-b5993ed73e15",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "data": [
        {
            "id": "62b22d56-1952-481a-82a7-5f4f85cf3b6a",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "slug": "string",
            "description": null,
            "brand": null,
            "style_category": "VINTAGE",
            "local_model_path": null,
            "lora_trigger": null,
            "default_lora_weight": 10.12,
            "prompt_keywords": null,
            "public": true,
            "enabled": true,
            "archived": true,
            "demo": true,
            "cover_image_url": null,
            "data_image_urls": [
                "string"
            ],
            "tags": [
                "string"
            ],
            "deleted_at": null,
            "lora_status": "string",
            "current_training_id": null,
            "training_progress": 10.12,
            "training_error": null,
            "owner_id": "ad74604e-7289-49f0-a9d5-175987fdec2f",
            "organization_id": null,
            "cover_image_media": null,
            "data_images_media": null
        }
    ],
    "count": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/styles/{id}

Read Style

Description

Get style by ID.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No
organization_id query No

Responses

{
    "id": "37e84401-8d8c-460e-92d2-ec6df7db6116",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "slug": "string",
    "description": null,
    "brand": null,
    "style_category": "VINTAGE",
    "local_model_path": null,
    "lora_trigger": null,
    "default_lora_weight": 10.12,
    "prompt_keywords": null,
    "public": true,
    "enabled": true,
    "archived": true,
    "demo": true,
    "cover_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "tags": [
        "string"
    ],
    "deleted_at": null,
    "lora_status": "string",
    "current_training_id": null,
    "training_progress": 10.12,
    "training_error": null,
    "owner_id": "dd185a24-7bd5-4ef8-a996-633c4c267b48",
    "organization_id": null,
    "cover_image_media": null,
    "data_images_media": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "archived": {
            "type": "boolean",
            "title": "Archived"
        },
        "demo": {
            "type": "boolean",
            "title": "Demo"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Tags"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "current_training_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Training Id"
        },
        "training_progress": {
            "type": "number",
            "title": "Training Progress",
            "default": 0.0
        },
        "training_error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Training Error"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "name",
        "slug",
        "description",
        "brand",
        "style_category",
        "local_model_path",
        "lora_trigger",
        "default_lora_weight",
        "prompt_keywords",
        "public",
        "enabled",
        "archived",
        "demo",
        "cover_image_url",
        "data_image_urls",
        "tags",
        "lora_status",
        "owner_id"
    ],
    "title": "StylePublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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"
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 255
                },
                {
                    "type": "null"
                }
            ],
            "title": "Name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 1000
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 1000
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/StyleCategory"
                },
                {
                    "type": "null"
                }
            ]
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 128
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 1000
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Public"
        },
        "enabled": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Enabled"
        },
        "archived": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Archived"
        },
        "cover_image": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image",
            "description": "URL or base64 string for cover image, or MediaInput object"
        },
        "data_images": {
            "anyOf": [
                {
                    "items": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "$ref": "#/components/schemas/MediaInput"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images",
            "description": "List of image URLs, base64 strings, or MediaInput objects"
        },
        "tags": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Tags",
            "description": "List of tags for the style"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id",
            "description": "Organization to transfer this style to"
        }
    },
    "type": "object",
    "title": "StyleUpdate",
    "example": {
        "brand": "New RetroFashion",
        "default_lora_weight": 0.9,
        "name": "Updated Vintage Denim",
        "public": true,
        "style_category": "VINTAGE",
        "tags": [
            "vintage",
            "denim",
            "updated"
        ]
    }
}

Responses

{
    "id": "bca69c0c-f22b-48fa-965f-28c117226693",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "slug": "string",
    "description": null,
    "brand": null,
    "style_category": "VINTAGE",
    "local_model_path": null,
    "lora_trigger": null,
    "default_lora_weight": 10.12,
    "prompt_keywords": null,
    "public": true,
    "enabled": true,
    "archived": true,
    "demo": true,
    "cover_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "tags": [
        "string"
    ],
    "deleted_at": null,
    "lora_status": "string",
    "current_training_id": null,
    "training_progress": 10.12,
    "training_error": null,
    "owner_id": "f3e730c4-6ea2-427c-a1e0-ff6e3c942934",
    "organization_id": null,
    "cover_image_media": null,
    "data_images_media": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "archived": {
            "type": "boolean",
            "title": "Archived"
        },
        "demo": {
            "type": "boolean",
            "title": "Demo"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Tags"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "current_training_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Training Id"
        },
        "training_progress": {
            "type": "number",
            "title": "Training Progress",
            "default": 0.0
        },
        "training_error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Training Error"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "name",
        "slug",
        "description",
        "brand",
        "style_category",
        "local_model_path",
        "lora_trigger",
        "default_lora_weight",
        "prompt_keywords",
        "public",
        "enabled",
        "archived",
        "demo",
        "cover_image_url",
        "data_image_urls",
        "tags",
        "lora_status",
        "owner_id"
    ],
    "title": "StylePublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "message": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "message": {
            "type": "string",
            "title": "Message"
        }
    },
    "type": "object",
    "required": [
        "message"
    ],
    "title": "Message"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/styles/slug/{slug}

Read Style By Slug

Description

Get style by slug.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
organization_id query No
slug path string No

Responses

{
    "id": "272a1eeb-6bd8-4f0b-8c7d-659bc38123e3",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "slug": "string",
    "description": null,
    "brand": null,
    "style_category": "VINTAGE",
    "local_model_path": null,
    "lora_trigger": null,
    "default_lora_weight": 10.12,
    "prompt_keywords": null,
    "public": true,
    "enabled": true,
    "archived": true,
    "demo": true,
    "cover_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "tags": [
        "string"
    ],
    "deleted_at": null,
    "lora_status": "string",
    "current_training_id": null,
    "training_progress": 10.12,
    "training_error": null,
    "owner_id": "fef3a094-f555-4113-b49f-20cbb0a5fb85",
    "organization_id": null,
    "cover_image_media": null,
    "data_images_media": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "archived": {
            "type": "boolean",
            "title": "Archived"
        },
        "demo": {
            "type": "boolean",
            "title": "Demo"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Tags"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "current_training_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Training Id"
        },
        "training_progress": {
            "type": "number",
            "title": "Training Progress",
            "default": 0.0
        },
        "training_error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Training Error"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "name",
        "slug",
        "description",
        "brand",
        "style_category",
        "local_model_path",
        "lora_trigger",
        "default_lora_weight",
        "prompt_keywords",
        "public",
        "enabled",
        "archived",
        "demo",
        "cover_image_url",
        "data_image_urls",
        "tags",
        "lora_status",
        "owner_id"
    ],
    "title": "StylePublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/styles/{id}/restore

Restore Style

Description

Restore a soft-deleted style (admin only).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No

Responses

{
    "id": "9d7542ee-ea92-4e9c-a489-0bd6b0c0e1fb",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "slug": "string",
    "description": null,
    "brand": null,
    "style_category": "VINTAGE",
    "local_model_path": null,
    "lora_trigger": null,
    "default_lora_weight": 10.12,
    "prompt_keywords": null,
    "public": true,
    "enabled": true,
    "archived": true,
    "demo": true,
    "cover_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "tags": [
        "string"
    ],
    "deleted_at": null,
    "lora_status": "string",
    "current_training_id": null,
    "training_progress": 10.12,
    "training_error": null,
    "owner_id": "00211298-fae4-4357-b9d9-580b4294d9d1",
    "organization_id": null,
    "cover_image_media": null,
    "data_images_media": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "archived": {
            "type": "boolean",
            "title": "Archived"
        },
        "demo": {
            "type": "boolean",
            "title": "Demo"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Tags"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "current_training_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Training Id"
        },
        "training_progress": {
            "type": "number",
            "title": "Training Progress",
            "default": 0.0
        },
        "training_error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Training Error"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "name",
        "slug",
        "description",
        "brand",
        "style_category",
        "local_model_path",
        "lora_trigger",
        "default_lora_weight",
        "prompt_keywords",
        "public",
        "enabled",
        "archived",
        "demo",
        "cover_image_url",
        "data_image_urls",
        "tags",
        "lora_status",
        "owner_id"
    ],
    "title": "StylePublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

PUT /api/v1/styles/{id}/archive

Archive Style

Description

Archive a style.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No
organization_id query No

Responses

{
    "id": "1197197d-122d-41e9-b628-49ca5f014b33",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "slug": "string",
    "description": null,
    "brand": null,
    "style_category": "VINTAGE",
    "local_model_path": null,
    "lora_trigger": null,
    "default_lora_weight": 10.12,
    "prompt_keywords": null,
    "public": true,
    "enabled": true,
    "archived": true,
    "demo": true,
    "cover_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "tags": [
        "string"
    ],
    "deleted_at": null,
    "lora_status": "string",
    "current_training_id": null,
    "training_progress": 10.12,
    "training_error": null,
    "owner_id": "5f034d06-8bc8-4835-8504-20f7eb92fef9",
    "organization_id": null,
    "cover_image_media": null,
    "data_images_media": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "archived": {
            "type": "boolean",
            "title": "Archived"
        },
        "demo": {
            "type": "boolean",
            "title": "Demo"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Tags"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "current_training_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Training Id"
        },
        "training_progress": {
            "type": "number",
            "title": "Training Progress",
            "default": 0.0
        },
        "training_error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Training Error"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "name",
        "slug",
        "description",
        "brand",
        "style_category",
        "local_model_path",
        "lora_trigger",
        "default_lora_weight",
        "prompt_keywords",
        "public",
        "enabled",
        "archived",
        "demo",
        "cover_image_url",
        "data_image_urls",
        "tags",
        "lora_status",
        "owner_id"
    ],
    "title": "StylePublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

PUT /api/v1/styles/{id}/unarchive

Unarchive Style

Description

Unarchive a style.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No
organization_id query No

Responses

{
    "id": "cf53efdb-4308-4dcd-a297-6c9074a49878",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "slug": "string",
    "description": null,
    "brand": null,
    "style_category": "VINTAGE",
    "local_model_path": null,
    "lora_trigger": null,
    "default_lora_weight": 10.12,
    "prompt_keywords": null,
    "public": true,
    "enabled": true,
    "archived": true,
    "demo": true,
    "cover_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "tags": [
        "string"
    ],
    "deleted_at": null,
    "lora_status": "string",
    "current_training_id": null,
    "training_progress": 10.12,
    "training_error": null,
    "owner_id": "ed547a56-797a-458a-a6b6-2c87b7f40300",
    "organization_id": null,
    "cover_image_media": null,
    "data_images_media": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "archived": {
            "type": "boolean",
            "title": "Archived"
        },
        "demo": {
            "type": "boolean",
            "title": "Demo"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Tags"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "current_training_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Training Id"
        },
        "training_progress": {
            "type": "number",
            "title": "Training Progress",
            "default": 0.0
        },
        "training_error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Training Error"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "name",
        "slug",
        "description",
        "brand",
        "style_category",
        "local_model_path",
        "lora_trigger",
        "default_lora_weight",
        "prompt_keywords",
        "public",
        "enabled",
        "archived",
        "demo",
        "cover_image_url",
        "data_image_urls",
        "tags",
        "lora_status",
        "owner_id"
    ],
    "title": "StylePublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/styles/admin/

Read Styles Admin

Description

Retrieve all styles with admin fields (admin only).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
limit query integer 100 No
organization_id query No Organization ID to filter by
skip query integer 0 No

Responses

{
    "id": "416d087f-7dd3-43fb-ac49-649bc70166d4",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "data": [
        {
            "id": "396ff45f-618b-4819-b50a-b9fed144265d",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "slug": "string",
            "description": null,
            "brand": null,
            "style_category": "VINTAGE",
            "local_model_path": null,
            "lora_trigger": null,
            "default_lora_weight": 10.12,
            "prompt_keywords": null,
            "public": true,
            "enabled": true,
            "archived": true,
            "demo": true,
            "cover_image_url": null,
            "data_image_urls": [
                "string"
            ],
            "tags": [
                "string"
            ],
            "deleted_at": null,
            "lora_status": "string",
            "current_training_id": null,
            "training_progress": 10.12,
            "training_error": null,
            "owner_id": "c5a702fc-d517-4239-8306-898acf81a751",
            "organization_id": null,
            "cover_image_media": null,
            "data_images_media": null
        }
    ],
    "count": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/styles/admin/{id}

Read Style Admin

Description

Get style by ID with admin fields (admin only).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No

Responses

{
    "id": "e35ca5f9-c42a-4f50-853a-5122eced1815",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "slug": "string",
    "description": null,
    "brand": null,
    "style_category": "VINTAGE",
    "local_model_path": null,
    "lora_trigger": null,
    "default_lora_weight": 10.12,
    "prompt_keywords": null,
    "public": true,
    "enabled": true,
    "archived": true,
    "demo": true,
    "cover_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "tags": [
        "string"
    ],
    "deleted_at": null,
    "lora_status": "string",
    "current_training_id": null,
    "training_progress": 10.12,
    "training_error": null,
    "owner_id": "30d88011-10cb-4ce9-b99c-42ba990c7689",
    "organization_id": null,
    "cover_image_media": null,
    "data_images_media": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "archived": {
            "type": "boolean",
            "title": "Archived"
        },
        "demo": {
            "type": "boolean",
            "title": "Demo"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Tags"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "current_training_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Training Id"
        },
        "training_progress": {
            "type": "number",
            "title": "Training Progress",
            "default": 0.0
        },
        "training_error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Training Error"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "name",
        "slug",
        "description",
        "brand",
        "style_category",
        "local_model_path",
        "lora_trigger",
        "default_lora_weight",
        "prompt_keywords",
        "public",
        "enabled",
        "archived",
        "demo",
        "cover_image_url",
        "data_image_urls",
        "tags",
        "lora_status",
        "owner_id"
    ],
    "title": "StyleAdmin",
    "description": "Style model with admin fields."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

PATCH /api/v1/styles/admin/{style_id}/assign-owner

Assign Style Owner

Description

Assign a style to a different owner (admin only). Optionally also assign to an organization.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
organization_id query No Organization ID to assign
style_id path string No

Request body

{
    "id": "db2237e8-e3b2-4fc5-b0bd-194fb39e0866",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "new_owner_id": "279ba38d-414e-47ed-ac55-fdca52b2240f"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "new_owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "New Owner Id"
        }
    },
    "type": "object",
    "required": [
        "new_owner_id"
    ],
    "title": "AssignOwnerRequest"
}

Responses

{
    "id": "2496b684-0f3b-4ec5-82b5-1c5cac833c4f",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "slug": "string",
    "description": null,
    "brand": null,
    "style_category": "VINTAGE",
    "local_model_path": null,
    "lora_trigger": null,
    "default_lora_weight": 10.12,
    "prompt_keywords": null,
    "public": true,
    "enabled": true,
    "archived": true,
    "demo": true,
    "cover_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "tags": [
        "string"
    ],
    "deleted_at": null,
    "lora_status": "string",
    "current_training_id": null,
    "training_progress": 10.12,
    "training_error": null,
    "owner_id": "fec3e245-3a37-461c-8d73-590a99292969",
    "organization_id": null,
    "cover_image_media": null,
    "data_images_media": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "archived": {
            "type": "boolean",
            "title": "Archived"
        },
        "demo": {
            "type": "boolean",
            "title": "Demo"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Tags"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "current_training_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Training Id"
        },
        "training_progress": {
            "type": "number",
            "title": "Training Progress",
            "default": 0.0
        },
        "training_error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Training Error"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "name",
        "slug",
        "description",
        "brand",
        "style_category",
        "local_model_path",
        "lora_trigger",
        "default_lora_weight",
        "prompt_keywords",
        "public",
        "enabled",
        "archived",
        "demo",
        "cover_image_url",
        "data_image_urls",
        "tags",
        "lora_status",
        "owner_id"
    ],
    "title": "StylePublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "lora_trigger": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "lora_trigger": {
            "type": "string",
            "title": "Lora Trigger"
        }
    },
    "type": "object",
    "title": "Body_update_style_lora_trigger"
}

Responses

{
    "id": "bb5526d0-ea30-4726-90d5-cb38c9f19b64",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "slug": "string",
    "description": null,
    "brand": null,
    "style_category": "VINTAGE",
    "local_model_path": null,
    "lora_trigger": null,
    "default_lora_weight": 10.12,
    "prompt_keywords": null,
    "public": true,
    "enabled": true,
    "archived": true,
    "demo": true,
    "cover_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "tags": [
        "string"
    ],
    "deleted_at": null,
    "lora_status": "string",
    "current_training_id": null,
    "training_progress": 10.12,
    "training_error": null,
    "owner_id": "8910c3e7-93c1-4eaf-8264-f039cd4829d8",
    "organization_id": null,
    "cover_image_media": null,
    "data_images_media": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "archived": {
            "type": "boolean",
            "title": "Archived"
        },
        "demo": {
            "type": "boolean",
            "title": "Demo"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Tags"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "current_training_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Training Id"
        },
        "training_progress": {
            "type": "number",
            "title": "Training Progress",
            "default": 0.0
        },
        "training_error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Training Error"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "name",
        "slug",
        "description",
        "brand",
        "style_category",
        "local_model_path",
        "lora_trigger",
        "default_lora_weight",
        "prompt_keywords",
        "public",
        "enabled",
        "archived",
        "demo",
        "cover_image_url",
        "data_image_urls",
        "tags",
        "lora_status",
        "owner_id"
    ],
    "title": "StylePublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "file": "string",
    "lora_trigger": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "file": {
            "type": "string",
            "contentMediaType": "application/octet-stream",
            "title": "File"
        },
        "lora_trigger": {
            "type": "string",
            "title": "Lora Trigger"
        }
    },
    "type": "object",
    "required": [
        "file",
        "lora_trigger"
    ],
    "title": "Body_upload_style_lora"
}

Responses

{
    "id": "760d009d-5e52-4d5e-b36d-a4c10f14bc4c",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "slug": "string",
    "description": null,
    "brand": null,
    "style_category": "VINTAGE",
    "local_model_path": null,
    "lora_trigger": null,
    "default_lora_weight": 10.12,
    "prompt_keywords": null,
    "public": true,
    "enabled": true,
    "archived": true,
    "demo": true,
    "cover_image_url": null,
    "data_image_urls": [
        "string"
    ],
    "tags": [
        "string"
    ],
    "deleted_at": null,
    "lora_status": "string",
    "current_training_id": null,
    "training_progress": 10.12,
    "training_error": null,
    "owner_id": "9f992587-5a2c-48e9-ad28-58f24f96e311",
    "organization_id": null,
    "cover_image_media": null,
    "data_images_media": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "slug": {
            "type": "string",
            "title": "Slug"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "brand": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Brand"
        },
        "style_category": {
            "$ref": "#/components/schemas/StyleCategory"
        },
        "local_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Local Model Path"
        },
        "lora_trigger": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Lora Trigger"
        },
        "default_lora_weight": {
            "type": "number",
            "title": "Default Lora Weight"
        },
        "prompt_keywords": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Keywords"
        },
        "public": {
            "type": "boolean",
            "title": "Public"
        },
        "enabled": {
            "type": "boolean",
            "title": "Enabled"
        },
        "archived": {
            "type": "boolean",
            "title": "Archived"
        },
        "demo": {
            "type": "boolean",
            "title": "Demo"
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "data_image_urls": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Data Image Urls"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Tags"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "lora_status": {
            "type": "string",
            "title": "Lora Status"
        },
        "current_training_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Training Id"
        },
        "training_progress": {
            "type": "number",
            "title": "Training Progress",
            "default": 0.0
        },
        "training_error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Training Error"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "cover_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "data_images_media": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/MediaResourcePublic"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Data Images Media"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "name",
        "slug",
        "description",
        "brand",
        "style_category",
        "local_model_path",
        "lora_trigger",
        "default_lora_weight",
        "prompt_keywords",
        "public",
        "enabled",
        "archived",
        "demo",
        "cover_image_url",
        "data_image_urls",
        "tags",
        "lora_status",
        "owner_id"
    ],
    "title": "StylePublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "type": "string",
            "title": "Name"
        },
        "view_angle": {
            "$ref": "#/components/schemas/ViewAngle"
        },
        "framing": {
            "$ref": "#/components/schemas/ShotTypeFraming"
        },
        "shot_type_ref_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Ref Image Url"
        },
        "shot_type_prompt_instruction": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Prompt Instruction"
        },
        "file_naming_convention": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "File Naming Convention"
        },
        "reference_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Url"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "prompt_builder_section": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Builder Section"
        },
        "core_focus": {
            "type": "boolean",
            "title": "Core Focus",
            "default": false
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "margins": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Margins"
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": true
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        }
    },
    "type": "object",
    "required": [
        "name",
        "view_angle",
        "framing"
    ],
    "title": "ShotTypeCreate",
    "description": "Schema for creating a ShotType",
    "example": {
        "file_naming_convention": "{product_name}_front_upper",
        "framing": "upper_body",
        "name": "front_upper_body",
        "shot_type_prompt_instruction": "Capture the front view from waist up",
        "shot_type_ref_image_url": "https://example.com/reference.jpg",
        "view_angle": "front"
    }
}

Responses

{
    "name": "string",
    "view_angle": "front",
    "framing": "full_body",
    "shot_type_ref_image_url": null,
    "shot_type_prompt_instruction": null,
    "file_naming_convention": null,
    "reference_image_url": null,
    "prompt": null,
    "prompt_builder_section": null,
    "core_focus": true,
    "default_shot_type": null,
    "margins": null,
    "owner_id": null,
    "public": true,
    "organization_id": null,
    "id": "73b46155-6215-47cb-b7d9-f98fd96c776d",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "deleted_at": null,
    "reference_image": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "name": {
            "type": "string",
            "title": "Name"
        },
        "view_angle": {
            "$ref": "#/components/schemas/ViewAngle"
        },
        "framing": {
            "$ref": "#/components/schemas/ShotTypeFraming"
        },
        "shot_type_ref_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Ref Image Url"
        },
        "shot_type_prompt_instruction": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Prompt Instruction"
        },
        "file_naming_convention": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "File Naming Convention"
        },
        "reference_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Url"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "prompt_builder_section": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Builder Section"
        },
        "core_focus": {
            "type": "boolean",
            "title": "Core Focus",
            "default": false
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "margins": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Margins"
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": true
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "reference_image": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "type": "object",
    "required": [
        "name",
        "view_angle",
        "framing",
        "id",
        "created_at",
        "updated_at"
    ],
    "title": "ShotTypePublic",
    "description": "Public schema for ShotType"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/shot-types/

Read Shot Types

Description

Retrieve shot types. Optionally filter by view angle, framing, or search term.

When organization_id query param is provided, returns shot types belonging to that organization. Without organization_id, returns only personal shot types (not belonging to any organization).

Admin-only: owner_id filter returns public shot types + shot types owned by that user.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
framing query No
include_public query No
limit query integer 100 No
organization_id query No
owner_id query No
public query No
search query No
skip query integer 0 No
view_angle query No

Responses

{
    "data": [
        {
            "name": "string",
            "view_angle": "front",
            "framing": "full_body",
            "shot_type_ref_image_url": null,
            "shot_type_prompt_instruction": null,
            "file_naming_convention": null,
            "reference_image_url": null,
            "prompt": null,
            "prompt_builder_section": null,
            "core_focus": true,
            "default_shot_type": null,
            "margins": null,
            "owner_id": null,
            "public": true,
            "organization_id": null,
            "id": "a1355c2d-a443-44d9-88f3-bf59a51adf8e",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "deleted_at": null,
            "reference_image": null
        }
    ],
    "count": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/shot-types/{id}

Read Shot Type

Description

Get shot type by ID.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No
organization_id query No

Responses

{
    "name": "string",
    "view_angle": "front",
    "framing": "full_body",
    "shot_type_ref_image_url": null,
    "shot_type_prompt_instruction": null,
    "file_naming_convention": null,
    "reference_image_url": null,
    "prompt": null,
    "prompt_builder_section": null,
    "core_focus": true,
    "default_shot_type": null,
    "margins": null,
    "owner_id": null,
    "public": true,
    "organization_id": null,
    "id": "f1f36c6f-dd52-49b2-8361-ddd37e8f85f8",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "deleted_at": null,
    "reference_image": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "name": {
            "type": "string",
            "title": "Name"
        },
        "view_angle": {
            "$ref": "#/components/schemas/ViewAngle"
        },
        "framing": {
            "$ref": "#/components/schemas/ShotTypeFraming"
        },
        "shot_type_ref_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Ref Image Url"
        },
        "shot_type_prompt_instruction": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Prompt Instruction"
        },
        "file_naming_convention": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "File Naming Convention"
        },
        "reference_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Url"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "prompt_builder_section": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Builder Section"
        },
        "core_focus": {
            "type": "boolean",
            "title": "Core Focus",
            "default": false
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "margins": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Margins"
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": true
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "reference_image": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "type": "object",
    "required": [
        "name",
        "view_angle",
        "framing",
        "id",
        "created_at",
        "updated_at"
    ],
    "title": "ShotTypePublic",
    "description": "Public schema for ShotType"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Name"
        },
        "view_angle": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ViewAngle"
                },
                {
                    "type": "null"
                }
            ]
        },
        "framing": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ShotTypeFraming"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shot_type_ref_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Ref Image Url"
        },
        "shot_type_prompt_instruction": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Prompt Instruction"
        },
        "file_naming_convention": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "File Naming Convention"
        },
        "reference_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Url"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "prompt_builder_section": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Builder Section"
        },
        "core_focus": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Core Focus"
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "margins": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Margins"
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "public": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Public",
            "default": true
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        }
    },
    "type": "object",
    "title": "ShotTypeUpdate",
    "description": "Schema for updating a ShotType",
    "example": {
        "name": "front_upper_body_updated",
        "shot_type_prompt_instruction": "Updated instructions for front view",
        "view_angle": "front"
    }
}

Responses

{
    "name": "string",
    "view_angle": "front",
    "framing": "full_body",
    "shot_type_ref_image_url": null,
    "shot_type_prompt_instruction": null,
    "file_naming_convention": null,
    "reference_image_url": null,
    "prompt": null,
    "prompt_builder_section": null,
    "core_focus": true,
    "default_shot_type": null,
    "margins": null,
    "owner_id": null,
    "public": true,
    "organization_id": null,
    "id": "b5ed4685-28f8-40ac-a8f2-40d2a57e36cb",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "deleted_at": null,
    "reference_image": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "name": {
            "type": "string",
            "title": "Name"
        },
        "view_angle": {
            "$ref": "#/components/schemas/ViewAngle"
        },
        "framing": {
            "$ref": "#/components/schemas/ShotTypeFraming"
        },
        "shot_type_ref_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Ref Image Url"
        },
        "shot_type_prompt_instruction": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Prompt Instruction"
        },
        "file_naming_convention": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "File Naming Convention"
        },
        "reference_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Url"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "prompt_builder_section": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Builder Section"
        },
        "core_focus": {
            "type": "boolean",
            "title": "Core Focus",
            "default": false
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "margins": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Margins"
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": true
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "reference_image": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "type": "object",
    "required": [
        "name",
        "view_angle",
        "framing",
        "id",
        "created_at",
        "updated_at"
    ],
    "title": "ShotTypePublic",
    "description": "Public schema for ShotType"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "message": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "message": {
            "type": "string",
            "title": "Message"
        }
    },
    "type": "object",
    "required": [
        "message"
    ],
    "title": "Message"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/shot-types/name/{name}

Read Shot Type By Name

Description

Get shot type by name.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
name path string No
organization_id query No

Responses

{
    "name": "string",
    "view_angle": "front",
    "framing": "full_body",
    "shot_type_ref_image_url": null,
    "shot_type_prompt_instruction": null,
    "file_naming_convention": null,
    "reference_image_url": null,
    "prompt": null,
    "prompt_builder_section": null,
    "core_focus": true,
    "default_shot_type": null,
    "margins": null,
    "owner_id": null,
    "public": true,
    "organization_id": null,
    "id": "75452a33-f5a4-41a5-b3cb-dff7a77685d6",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "deleted_at": null,
    "reference_image": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "name": {
            "type": "string",
            "title": "Name"
        },
        "view_angle": {
            "$ref": "#/components/schemas/ViewAngle"
        },
        "framing": {
            "$ref": "#/components/schemas/ShotTypeFraming"
        },
        "shot_type_ref_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Ref Image Url"
        },
        "shot_type_prompt_instruction": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Prompt Instruction"
        },
        "file_naming_convention": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "File Naming Convention"
        },
        "reference_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Url"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "prompt_builder_section": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Builder Section"
        },
        "core_focus": {
            "type": "boolean",
            "title": "Core Focus",
            "default": false
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "margins": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Margins"
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": true
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "reference_image": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "type": "object",
    "required": [
        "name",
        "view_angle",
        "framing",
        "id",
        "created_at",
        "updated_at"
    ],
    "title": "ShotTypePublic",
    "description": "Public schema for ShotType"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/shot-types/{id}/restore

Restore Shot Type

Description

Restore a soft-deleted shot type (admin only).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No

Responses

{
    "name": "string",
    "view_angle": "front",
    "framing": "full_body",
    "shot_type_ref_image_url": null,
    "shot_type_prompt_instruction": null,
    "file_naming_convention": null,
    "reference_image_url": null,
    "prompt": null,
    "prompt_builder_section": null,
    "core_focus": true,
    "default_shot_type": null,
    "margins": null,
    "owner_id": null,
    "public": true,
    "organization_id": null,
    "id": "6bebbe02-d43c-456b-998e-76b20b0df273",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "deleted_at": null,
    "reference_image": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "name": {
            "type": "string",
            "title": "Name"
        },
        "view_angle": {
            "$ref": "#/components/schemas/ViewAngle"
        },
        "framing": {
            "$ref": "#/components/schemas/ShotTypeFraming"
        },
        "shot_type_ref_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Ref Image Url"
        },
        "shot_type_prompt_instruction": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Prompt Instruction"
        },
        "file_naming_convention": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "File Naming Convention"
        },
        "reference_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Url"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "prompt_builder_section": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt Builder Section"
        },
        "core_focus": {
            "type": "boolean",
            "title": "Core Focus",
            "default": false
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "margins": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Margins"
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": true
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "reference_image": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "type": "object",
    "required": [
        "name",
        "view_angle",
        "framing",
        "id",
        "created_at",
        "updated_at"
    ],
    "title": "ShotTypePublic",
    "description": "Public schema for ShotType"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "type": "string",
            "maxLength": 255,
            "title": "Name"
        },
        "framings": {
            "items": {
                "$ref": "#/components/schemas/BackgroundPresetFramingCreate"
            },
            "type": "array",
            "minItems": 1,
            "title": "Framings",
            "description": "At least one framing entry is required"
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "strategy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BackgroundFixStrategy"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Strategy for background fix processing",
            "default": "DEFAULT"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt",
            "description": "Optional free-text directive appended to every generation prompt that uses this background (e.g. 'make the background pure #FFFFFF white')."
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id",
            "description": "Organization this preset belongs to"
        }
    },
    "type": "object",
    "required": [
        "name",
        "framings"
    ],
    "title": "BackgroundPresetCreate",
    "example": {
        "framings": [
            {
                "image": "https://example.com/backgrounds/white.jpg"
            }
        ],
        "name": "Studio White Background",
        "strategy": "DEFAULT"
    }
}

Responses

{
    "id": "b4968dc3-006e-44b8-bafd-344c6559405b",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "owner_id": "7e93e4fb-c395-4bc3-a3cf-e53373d2998c",
    "organization_id": null,
    "framings": [
        {
            "id": "2f911c21-bb6a-43c6-bb62-a61efeb09735",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "framing": null,
            "image_url": null,
            "image_media": null
        }
    ],
    "cover_image_url": null,
    "strategy": null,
    "prompt": null,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "framings": {
            "items": {
                "$ref": "#/components/schemas/BackgroundPresetFramingPublic"
            },
            "type": "array",
            "title": "Framings",
            "default": []
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "strategy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BackgroundFixStrategy"
                },
                {
                    "type": "null"
                }
            ]
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "owner_id",
        "strategy"
    ],
    "title": "BackgroundPresetPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/background-presets/

Read Background Presets

Description

Retrieve background presets.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
limit query integer 100 No
organization_id query No
owner_id query No
skip query integer 0 No

Responses

{
    "data": [
        {
            "id": "9b904680-5094-4948-a768-1d1687c5244a",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "owner_id": "da17eecb-64bd-4ba6-ace9-6cb48045aa2b",
            "organization_id": null,
            "framings": [
                {
                    "id": "83a14a60-16d0-4fbb-96e8-7d28f0ec7ab9",
                    "created_at": "2022-04-13T15:42:05.901Z",
                    "updated_at": "2022-04-13T15:42:05.901Z",
                    "framing": null,
                    "image_url": null,
                    "image_media": null
                }
            ],
            "cover_image_url": null,
            "strategy": null,
            "prompt": null,
            "deleted_at": null
        }
    ],
    "count": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "data": {
            "items": {
                "$ref": "#/components/schemas/BackgroundPresetPublic"
            },
            "type": "array",
            "title": "Data"
        },
        "count": {
            "type": "integer",
            "title": "Count"
        }
    },
    "type": "object",
    "required": [
        "data",
        "count"
    ],
    "title": "BackgroundPresetsPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/background-presets/{id}

Read Background Preset

Description

Get background preset by ID.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No
organization_id query No

Responses

{
    "id": "69a45cec-864a-4a00-bf3d-e13c88fd1f04",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "owner_id": "112f4de4-7cb1-442c-9508-ad35d70b5df2",
    "organization_id": null,
    "framings": [
        {
            "id": "32460692-8f10-4e23-a619-27140eceabe4",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "framing": null,
            "image_url": null,
            "image_media": null
        }
    ],
    "cover_image_url": null,
    "strategy": null,
    "prompt": null,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "framings": {
            "items": {
                "$ref": "#/components/schemas/BackgroundPresetFramingPublic"
            },
            "type": "array",
            "title": "Framings",
            "default": []
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "strategy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BackgroundFixStrategy"
                },
                {
                    "type": "null"
                }
            ]
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "owner_id",
        "strategy"
    ],
    "title": "BackgroundPresetPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 255
                },
                {
                    "type": "null"
                }
            ],
            "title": "Name"
        },
        "framings": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/BackgroundPresetFramingCreate"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Framings",
            "description": "Full-replace framings list. None = no change."
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "strategy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BackgroundFixStrategy"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Strategy for background fix processing"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt",
            "description": "Optional free-text directive appended to every generation prompt that uses this background. Send null to clear; omit to leave unchanged."
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id",
            "description": "Organization to transfer this preset to"
        }
    },
    "type": "object",
    "title": "BackgroundPresetUpdate",
    "example": {
        "framings": [
            {
                "framing": "full_body",
                "image": "https://example.com/backgrounds/full.jpg"
            },
            {
                "image": "https://example.com/backgrounds/fallback.jpg"
            }
        ],
        "name": "Updated Background Name",
        "strategy": "OVS"
    }
}

Responses

{
    "id": "fd4632bf-45e7-4c24-81ea-d46ff0a76fd4",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "owner_id": "99f2d2e1-d8dc-48fe-9689-e29d9c285270",
    "organization_id": null,
    "framings": [
        {
            "id": "f91b68df-d8df-4ec3-9b02-165fff100e0f",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "framing": null,
            "image_url": null,
            "image_media": null
        }
    ],
    "cover_image_url": null,
    "strategy": null,
    "prompt": null,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "framings": {
            "items": {
                "$ref": "#/components/schemas/BackgroundPresetFramingPublic"
            },
            "type": "array",
            "title": "Framings",
            "default": []
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "strategy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BackgroundFixStrategy"
                },
                {
                    "type": "null"
                }
            ]
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "owner_id",
        "strategy"
    ],
    "title": "BackgroundPresetPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "message": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "message": {
            "type": "string",
            "title": "Message"
        }
    },
    "type": "object",
    "required": [
        "message"
    ],
    "title": "Message"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/background-presets/{id}/restore

Restore Background Preset

Description

Restore a soft-deleted background preset (admin only).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No

Responses

{
    "id": "b166871e-0605-4608-9a5b-7e4300cd6d53",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "owner_id": "750fbf36-8049-4b44-b10c-f6ddee4e57d9",
    "organization_id": null,
    "framings": [
        {
            "id": "250a2ae6-15b0-4f46-abeb-491c384b549d",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "framing": null,
            "image_url": null,
            "image_media": null
        }
    ],
    "cover_image_url": null,
    "strategy": null,
    "prompt": null,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "framings": {
            "items": {
                "$ref": "#/components/schemas/BackgroundPresetFramingPublic"
            },
            "type": "array",
            "title": "Framings",
            "default": []
        },
        "cover_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Cover Image Url"
        },
        "strategy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/BackgroundFixStrategy"
                },
                {
                    "type": "null"
                }
            ]
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "owner_id",
        "strategy"
    ],
    "title": "BackgroundPresetPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "height": 1080,
    "name": "Full HD",
    "width": 1920
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "type": "string",
            "maxLength": 255,
            "title": "Name"
        },
        "width": {
            "type": "integer",
            "exclusiveMinimum": 0.0,
            "title": "Width",
            "description": "Width in pixels"
        },
        "height": {
            "type": "integer",
            "exclusiveMinimum": 0.0,
            "title": "Height",
            "description": "Height in pixels"
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id",
            "description": "Organization this preset belongs to"
        }
    },
    "type": "object",
    "required": [
        "name",
        "width",
        "height"
    ],
    "title": "ResolutionPresetCreate",
    "example": {
        "height": 1080,
        "name": "Full HD",
        "width": 1920
    }
}

Responses

{
    "id": "fb56c1f7-05d4-49c1-a79c-e9ed2cac1316",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "owner_id": "c90d32c1-19a7-4378-a2c7-4e2f18ad570b",
    "organization_id": null,
    "width": 0,
    "height": 0,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "width": {
            "type": "integer",
            "title": "Width"
        },
        "height": {
            "type": "integer",
            "title": "Height"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "owner_id",
        "width",
        "height"
    ],
    "title": "ResolutionPresetPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/resolution-presets/

Read Resolution Presets

Description

Retrieve resolution presets.

When organization_id query param is provided, returns presets belonging to that organization. Without organization_id, returns only personal presets (not belonging to any organization).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
limit query integer 100 No
organization_id query No
owner_id query No
skip query integer 0 No

Responses

{
    "data": [
        {
            "id": "85f20cb2-0f5b-4f24-9b2c-39cac6a37989",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "owner_id": "86aac63c-3e3f-435d-afe4-ed059ce15686",
            "organization_id": null,
            "width": 0,
            "height": 0,
            "deleted_at": null
        }
    ],
    "count": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "data": {
            "items": {
                "$ref": "#/components/schemas/ResolutionPresetPublic"
            },
            "type": "array",
            "title": "Data"
        },
        "count": {
            "type": "integer",
            "title": "Count"
        }
    },
    "type": "object",
    "required": [
        "data",
        "count"
    ],
    "title": "ResolutionPresetsPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/resolution-presets/{id}

Read Resolution Preset

Description

Get resolution preset by ID.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No
organization_id query No

Responses

{
    "id": "aacbc12d-3ff7-446a-9cea-7dfc25520d72",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "owner_id": "009013e2-1fc5-457d-94e0-1d491d1bc476",
    "organization_id": null,
    "width": 0,
    "height": 0,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "width": {
            "type": "integer",
            "title": "Width"
        },
        "height": {
            "type": "integer",
            "title": "Height"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "owner_id",
        "width",
        "height"
    ],
    "title": "ResolutionPresetPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "height": 720,
    "name": "Updated HD",
    "width": 1280
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 255
                },
                {
                    "type": "null"
                }
            ],
            "title": "Name"
        },
        "width": {
            "anyOf": [
                {
                    "type": "integer",
                    "exclusiveMinimum": 0.0
                },
                {
                    "type": "null"
                }
            ],
            "title": "Width",
            "description": "Width in pixels"
        },
        "height": {
            "anyOf": [
                {
                    "type": "integer",
                    "exclusiveMinimum": 0.0
                },
                {
                    "type": "null"
                }
            ],
            "title": "Height",
            "description": "Height in pixels"
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id",
            "description": "Organization to transfer this preset to"
        }
    },
    "type": "object",
    "title": "ResolutionPresetUpdate",
    "example": {
        "height": 720,
        "name": "Updated HD",
        "width": 1280
    }
}

Responses

{
    "id": "b144b036-0d62-48f0-9a7c-f6d0e88b5bf4",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "owner_id": "e9686433-c18f-42d2-903e-8ec1bf3f4486",
    "organization_id": null,
    "width": 0,
    "height": 0,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "width": {
            "type": "integer",
            "title": "Width"
        },
        "height": {
            "type": "integer",
            "title": "Height"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "owner_id",
        "width",
        "height"
    ],
    "title": "ResolutionPresetPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "message": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "message": {
            "type": "string",
            "title": "Message"
        }
    },
    "type": "object",
    "required": [
        "message"
    ],
    "title": "Message"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/resolution-presets/{id}/restore

Restore Resolution Preset

Description

Restore a soft-deleted resolution preset (admin only).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No

Responses

{
    "id": "23e593f8-8719-4e67-8e96-b2b7755c2095",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "owner_id": "51f20d90-004d-4a2e-ad23-75074ac4fef6",
    "organization_id": null,
    "width": 0,
    "height": 0,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "width": {
            "type": "integer",
            "title": "Width"
        },
        "height": {
            "type": "integer",
            "title": "Height"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "owner_id",
        "width",
        "height"
    ],
    "title": "ResolutionPresetPublic"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

guidelines


POST /api/v1/guidelines/

Create Guidelines

Description

Create new shooting guidelines preset.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
organization_id query No

Request body

{
    "name": "string",
    "auto_start_look_generations": true,
    "allow_back_shots_without_back_image": true,
    "resolution_preset_id": null,
    "background_preset_id": null,
    "set_design_id": null,
    "stylist_id": null,
    "export_configuration_id": null,
    "generative_workflow_template_id": null,
    "shot_type_ids": [
        "f298603f-cba4-4e99-a114-008c0d7ed372"
    ],
    "subject_ids": [
        "6d72eb63-4aec-404b-aaff-58bdffff9d3d"
    ],
    "pose_preset_ids": [
        "b33fe16e-0270-4a09-b96c-50376fb4b8d5"
    ],
    "shot_type_rules": null,
    "owner_id": null,
    "organization_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "type": "string",
            "title": "Name"
        },
        "auto_start_look_generations": {
            "type": "boolean",
            "title": "Auto Start Look Generations",
            "default": true
        },
        "allow_back_shots_without_back_image": {
            "type": "boolean",
            "title": "Allow Back Shots Without Back Image",
            "default": false
        },
        "resolution_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Resolution Preset Id"
        },
        "background_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Background Preset Id"
        },
        "set_design_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Set Design Id"
        },
        "stylist_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Stylist Id"
        },
        "export_configuration_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Export Configuration Id"
        },
        "generative_workflow_template_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Generative Workflow Template Id",
            "description": "Optional generative workflow template attached at guideline creation. Cross-org and invalid-validation-status templates are rejected at the route layer (422)."
        },
        "shot_type_ids": {
            "items": {
                "type": "string",
                "format": "uuid"
            },
            "type": "array",
            "title": "Shot Type Ids"
        },
        "subject_ids": {
            "items": {
                "type": "string",
                "format": "uuid"
            },
            "type": "array",
            "title": "Subject Ids"
        },
        "pose_preset_ids": {
            "items": {
                "type": "string",
                "format": "uuid"
            },
            "type": "array",
            "title": "Pose Preset Ids"
        },
        "shot_type_rules": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/GuidelinesShotTypeRuleGroupInput"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Rules",
            "description": "Optional list of shot-type rules to create alongside the guideline (one DB transaction).  Each entry is one (rule_kind, rule_value) → list of shot_type_ids group.  Omit to create the guideline with no rules."
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id",
            "description": "Organization these guidelines belong to"
        }
    },
    "type": "object",
    "required": [
        "name"
    ],
    "title": "ShootingGuidelinesCreate",
    "description": "Request model for creating ShootingGuidelines."
}

Responses

{
    "id": "2053b02c-0249-460c-b02f-c08ddf6fe6ee",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "auto_start_look_generations": true,
    "allow_back_shots_without_back_image": true,
    "owner_id": null,
    "organization_id": null,
    "resolution_preset_id": null,
    "background_preset_id": null,
    "set_design_id": null,
    "stylist_id": null,
    "export_configuration_id": null,
    "shot_types": [
        {
            "name": "string",
            "view_angle": "front",
            "framing": "full_body",
            "shot_type_ref_image_url": null,
            "shot_type_prompt_instruction": null,
            "file_naming_convention": null,
            "reference_image_url": null,
            "prompt": null,
            "prompt_builder_section": null,
            "core_focus": true,
            "default_shot_type": null,
            "margins": null,
            "owner_id": null,
            "public": true,
            "organization_id": null,
            "id": "e94e6f6a-33d1-454e-a02f-47ad9630269b",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "deleted_at": null,
            "reference_image": null
        }
    ],
    "subjects": [
        {
            "id": "93eaddd0-a070-4b71-9890-fcb263da321a",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "surname": null,
            "slug": "string",
            "description": null,
            "age_class": "newborn",
            "gender": "MALE",
            "subject_type": "AI",
            "body_type": null,
            "positive_prompt": null,
            "negative_prompt": null,
            "ethnicity": null,
            "public": true,
            "enabled": true,
            "ready": true,
            "lora_status": "string",
            "lora_trigger": null,
            "cover_image_url": null,
            "portrait_image_url": null,
            "data_image_urls": [
                "string"
            ],
            "cover_image_media": null,
            "portrait_image_media": null,
            "data_images_media": null,
            "portfolio_images_media": null,
            "base_images": [
                {
                    "shot_type_id": "f81ef9d7-3299-4cc0-bc43-ed9d6f69870f",
                    "shot_type_label": "string",
                    "image_url": "string"
                }
            ],
            "measurements": null,
            "deleted_at": null,
            "owner_id": "a8daec56-45c2-4a75-85c5-0d0e829d39ea",
            "organization_id": null
        }
    ],
    "pose_presets": [
        {
            "id": "b0ac96c4-3536-4558-a9f7-502faa36229c",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "prompt": null,
            "shot_type_id": "d865816e-fa03-4d35-8656-a0c610f87845",
            "owner_id": "f52c77a6-e669-4c26-8596-29607f56818f",
            "organization_id": null,
            "pose_image_url": null,
            "pose_image_media": null,
            "deleted_at": null
        }
    ],
    "set_design": null,
    "shot_type_rules": [
        {
            "rule_kind": "TYPE",
            "rule_value": "string",
            "shot_types": null
        }
    ],
    "generative_workflow_template_id": null,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "auto_start_look_generations": {
            "type": "boolean",
            "title": "Auto Start Look Generations",
            "default": true
        },
        "allow_back_shots_without_back_image": {
            "type": "boolean",
            "title": "Allow Back Shots Without Back Image",
            "default": false
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "resolution_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Resolution Preset Id"
        },
        "background_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Background Preset Id"
        },
        "set_design_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Set Design Id"
        },
        "stylist_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Stylist Id"
        },
        "export_configuration_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Export Configuration Id"
        },
        "shot_types": {
            "items": {
                "$ref": "#/components/schemas/ShotTypePublic"
            },
            "type": "array",
            "title": "Shot Types",
            "default": []
        },
        "subjects": {
            "items": {
                "$ref": "#/components/schemas/SubjectPublic"
            },
            "type": "array",
            "title": "Subjects",
            "default": []
        },
        "pose_presets": {
            "items": {
                "$ref": "#/components/schemas/PosePresetPublic"
            },
            "type": "array",
            "title": "Pose Presets",
            "default": []
        },
        "set_design": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SetDesignPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shot_type_rules": {
            "items": {
                "$ref": "#/components/schemas/GuidelinesShotTypeRuleGroup"
            },
            "type": "array",
            "title": "Shot Type Rules",
            "default": []
        },
        "generative_workflow_template_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Generative Workflow Template Id"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "resolution_preset_id",
        "background_preset_id"
    ],
    "title": "ShootingGuidelinesPublic",
    "description": "Response model for ShootingGuidelines.\n\nCovers both row variants discriminated by the\n``ck_shootingguidelines_provenance`` CHECK:\n\n- **Templates**: ``owner_id`` is set, ``production_id`` is NULL.\n- **Snapshots**: ``owner_id`` is NULL, ``production_id`` points at\n  a ShootingProduction (the polymorphic snapshot baked at\n  production-create or guidelines-update time).\n\n``owner_id`` is therefore optional on the response — snapshots\nlegitimately carry NULL there."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/guidelines/

Read Guidelines List

Description

Retrieve shooting guidelines.

  • Regular users: Only see their own guidelines or organization guidelines
  • Superusers: See all guidelines by default, or filter by owner_id

When organization_id query param is provided, returns guidelines belonging to that organization. Without organization_id, returns only personal guidelines (not belonging to any organization).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
limit query integer 100 No
organization_id query No
owner_id query No
skip query integer 0 No

Responses

{
    "data": [
        {
            "id": "9f662705-b5f9-4b2f-acef-69b4a44e7a03",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "auto_start_look_generations": true,
            "allow_back_shots_without_back_image": true,
            "owner_id": null,
            "organization_id": null,
            "resolution_preset_id": null,
            "background_preset_id": null,
            "set_design_id": null,
            "stylist_id": null,
            "export_configuration_id": null,
            "shot_types": [
                {
                    "name": "string",
                    "view_angle": "front",
                    "framing": "full_body",
                    "shot_type_ref_image_url": null,
                    "shot_type_prompt_instruction": null,
                    "file_naming_convention": null,
                    "reference_image_url": null,
                    "prompt": null,
                    "prompt_builder_section": null,
                    "core_focus": true,
                    "default_shot_type": null,
                    "margins": null,
                    "owner_id": null,
                    "public": true,
                    "organization_id": null,
                    "id": "c34a5ff6-7d1c-4668-946f-b791aa0dc0d7",
                    "created_at": "2022-04-13T15:42:05.901Z",
                    "updated_at": "2022-04-13T15:42:05.901Z",
                    "deleted_at": null,
                    "reference_image": null
                }
            ],
            "subjects": [
                {
                    "id": "e395402d-28e9-43b7-b8fc-7781962bd4c4",
                    "created_at": "2022-04-13T15:42:05.901Z",
                    "updated_at": "2022-04-13T15:42:05.901Z",
                    "name": "string",
                    "surname": null,
                    "slug": "string",
                    "description": null,
                    "age_class": "newborn",
                    "gender": "MALE",
                    "subject_type": "AI",
                    "body_type": null,
                    "positive_prompt": null,
                    "negative_prompt": null,
                    "ethnicity": null,
                    "public": true,
                    "enabled": true,
                    "ready": true,
                    "lora_status": "string",
                    "lora_trigger": null,
                    "cover_image_url": null,
                    "portrait_image_url": null,
                    "data_image_urls": [
                        "string"
                    ],
                    "cover_image_media": null,
                    "portrait_image_media": null,
                    "data_images_media": null,
                    "portfolio_images_media": null,
                    "base_images": [
                        {
                            "shot_type_id": "30925366-90ab-4229-8584-0d885d4b0922",
                            "shot_type_label": "string",
                            "image_url": "string"
                        }
                    ],
                    "measurements": null,
                    "deleted_at": null,
                    "owner_id": "7ed4c019-d8f2-4813-b0eb-b72cc9868494",
                    "organization_id": null
                }
            ],
            "pose_presets": [
                {
                    "id": "fc95d0e9-320b-40a5-a61e-bde0f9512cd2",
                    "created_at": "2022-04-13T15:42:05.901Z",
                    "updated_at": "2022-04-13T15:42:05.901Z",
                    "name": "string",
                    "prompt": null,
                    "shot_type_id": "3286a03f-2a18-4b89-a00e-c424d9e33f96",
                    "owner_id": "bda1bc58-b990-4063-b615-6cef58fdc0e2",
                    "organization_id": null,
                    "pose_image_url": null,
                    "pose_image_media": null,
                    "deleted_at": null
                }
            ],
            "set_design": null,
            "shot_type_rules": [
                {
                    "rule_kind": "TYPE",
                    "rule_value": "string",
                    "shot_types": null
                }
            ],
            "generative_workflow_template_id": null,
            "deleted_at": null
        }
    ],
    "count": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/guidelines/{id}

Read Guidelines

Description

Get shooting guidelines by ID.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No
organization_id query No

Responses

{
    "id": "4985e11a-a4ac-430b-a33d-c3bd2f0b05db",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "auto_start_look_generations": true,
    "allow_back_shots_without_back_image": true,
    "owner_id": null,
    "organization_id": null,
    "resolution_preset_id": null,
    "background_preset_id": null,
    "set_design_id": null,
    "stylist_id": null,
    "export_configuration_id": null,
    "shot_types": [
        {
            "name": "string",
            "view_angle": "front",
            "framing": "full_body",
            "shot_type_ref_image_url": null,
            "shot_type_prompt_instruction": null,
            "file_naming_convention": null,
            "reference_image_url": null,
            "prompt": null,
            "prompt_builder_section": null,
            "core_focus": true,
            "default_shot_type": null,
            "margins": null,
            "owner_id": null,
            "public": true,
            "organization_id": null,
            "id": "2dce79a3-e31f-40d6-916c-0432129cfdc1",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "deleted_at": null,
            "reference_image": null
        }
    ],
    "subjects": [
        {
            "id": "75d16048-bd6d-4a60-bf4c-730360350b2e",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "surname": null,
            "slug": "string",
            "description": null,
            "age_class": "newborn",
            "gender": "MALE",
            "subject_type": "AI",
            "body_type": null,
            "positive_prompt": null,
            "negative_prompt": null,
            "ethnicity": null,
            "public": true,
            "enabled": true,
            "ready": true,
            "lora_status": "string",
            "lora_trigger": null,
            "cover_image_url": null,
            "portrait_image_url": null,
            "data_image_urls": [
                "string"
            ],
            "cover_image_media": null,
            "portrait_image_media": null,
            "data_images_media": null,
            "portfolio_images_media": null,
            "base_images": [
                {
                    "shot_type_id": "46084e87-eae8-412b-b365-7913c8ca06f9",
                    "shot_type_label": "string",
                    "image_url": "string"
                }
            ],
            "measurements": null,
            "deleted_at": null,
            "owner_id": "1a008fb8-1630-48c5-953a-ef4c206bff46",
            "organization_id": null
        }
    ],
    "pose_presets": [
        {
            "id": "413fcdff-02e4-40fa-8f8c-47076c704fc8",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "prompt": null,
            "shot_type_id": "700eb5d4-0ef3-4063-8186-2c24f4850331",
            "owner_id": "123c13fb-0161-4c77-820a-379abdf5b6df",
            "organization_id": null,
            "pose_image_url": null,
            "pose_image_media": null,
            "deleted_at": null
        }
    ],
    "set_design": null,
    "shot_type_rules": [
        {
            "rule_kind": "TYPE",
            "rule_value": "string",
            "shot_types": null
        }
    ],
    "generative_workflow_template_id": null,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "auto_start_look_generations": {
            "type": "boolean",
            "title": "Auto Start Look Generations",
            "default": true
        },
        "allow_back_shots_without_back_image": {
            "type": "boolean",
            "title": "Allow Back Shots Without Back Image",
            "default": false
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "resolution_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Resolution Preset Id"
        },
        "background_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Background Preset Id"
        },
        "set_design_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Set Design Id"
        },
        "stylist_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Stylist Id"
        },
        "export_configuration_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Export Configuration Id"
        },
        "shot_types": {
            "items": {
                "$ref": "#/components/schemas/ShotTypePublic"
            },
            "type": "array",
            "title": "Shot Types",
            "default": []
        },
        "subjects": {
            "items": {
                "$ref": "#/components/schemas/SubjectPublic"
            },
            "type": "array",
            "title": "Subjects",
            "default": []
        },
        "pose_presets": {
            "items": {
                "$ref": "#/components/schemas/PosePresetPublic"
            },
            "type": "array",
            "title": "Pose Presets",
            "default": []
        },
        "set_design": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SetDesignPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shot_type_rules": {
            "items": {
                "$ref": "#/components/schemas/GuidelinesShotTypeRuleGroup"
            },
            "type": "array",
            "title": "Shot Type Rules",
            "default": []
        },
        "generative_workflow_template_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Generative Workflow Template Id"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "resolution_preset_id",
        "background_preset_id"
    ],
    "title": "ShootingGuidelinesPublic",
    "description": "Response model for ShootingGuidelines.\n\nCovers both row variants discriminated by the\n``ck_shootingguidelines_provenance`` CHECK:\n\n- **Templates**: ``owner_id`` is set, ``production_id`` is NULL.\n- **Snapshots**: ``owner_id`` is NULL, ``production_id`` points at\n  a ShootingProduction (the polymorphic snapshot baked at\n  production-create or guidelines-update time).\n\n``owner_id`` is therefore optional on the response — snapshots\nlegitimately carry NULL there."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

PUT /api/v1/guidelines/{id}

Update Guidelines

Description

Update shooting guidelines.

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No
organization_id query No

Request body

{
    "name": null,
    "auto_start_look_generations": null,
    "allow_back_shots_without_back_image": null,
    "resolution_preset_id": null,
    "background_preset_id": null,
    "set_design_id": null,
    "stylist_id": null,
    "export_configuration_id": null,
    "shot_type_ids": null,
    "subject_ids": null,
    "pose_preset_ids": null,
    "shot_type_rules": null,
    "owner_id": null,
    "organization_id": null,
    "generative_workflow_template_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Name"
        },
        "auto_start_look_generations": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Auto Start Look Generations"
        },
        "allow_back_shots_without_back_image": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Allow Back Shots Without Back Image"
        },
        "resolution_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Resolution Preset Id"
        },
        "background_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Background Preset Id"
        },
        "set_design_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Set Design Id"
        },
        "stylist_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Stylist Id"
        },
        "export_configuration_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Export Configuration Id"
        },
        "shot_type_ids": {
            "anyOf": [
                {
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Ids"
        },
        "subject_ids": {
            "anyOf": [
                {
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Subject Ids"
        },
        "pose_preset_ids": {
            "anyOf": [
                {
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Pose Preset Ids"
        },
        "shot_type_rules": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/GuidelinesShotTypeRuleGroupInput"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Rules",
            "description": "Optional full-replace list of shot-type rules in group form (one entry per (rule_kind, rule_value) with its list of shot_type_ids).  Omit to leave rules untouched; pass [] to clear all rules."
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id",
            "description": "Organization to transfer these guidelines to"
        },
        "generative_workflow_template_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Generative Workflow Template Id",
            "description": "Optional generative workflow template attached to these guidelines. Null clears the override. Cross-org templates are rejected (422)."
        }
    },
    "type": "object",
    "title": "ShootingGuidelinesUpdate",
    "description": "Request model for updating ShootingGuidelines."
}

Responses

{
    "id": "d90a59d3-9592-4e7a-a673-657df7959e43",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "auto_start_look_generations": true,
    "allow_back_shots_without_back_image": true,
    "owner_id": null,
    "organization_id": null,
    "resolution_preset_id": null,
    "background_preset_id": null,
    "set_design_id": null,
    "stylist_id": null,
    "export_configuration_id": null,
    "shot_types": [
        {
            "name": "string",
            "view_angle": "front",
            "framing": "full_body",
            "shot_type_ref_image_url": null,
            "shot_type_prompt_instruction": null,
            "file_naming_convention": null,
            "reference_image_url": null,
            "prompt": null,
            "prompt_builder_section": null,
            "core_focus": true,
            "default_shot_type": null,
            "margins": null,
            "owner_id": null,
            "public": true,
            "organization_id": null,
            "id": "11f86f51-dffb-4c68-ae02-2ab6de691112",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "deleted_at": null,
            "reference_image": null
        }
    ],
    "subjects": [
        {
            "id": "26e8ecdb-4933-4160-8163-3d05ffdbf878",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "surname": null,
            "slug": "string",
            "description": null,
            "age_class": "newborn",
            "gender": "MALE",
            "subject_type": "AI",
            "body_type": null,
            "positive_prompt": null,
            "negative_prompt": null,
            "ethnicity": null,
            "public": true,
            "enabled": true,
            "ready": true,
            "lora_status": "string",
            "lora_trigger": null,
            "cover_image_url": null,
            "portrait_image_url": null,
            "data_image_urls": [
                "string"
            ],
            "cover_image_media": null,
            "portrait_image_media": null,
            "data_images_media": null,
            "portfolio_images_media": null,
            "base_images": [
                {
                    "shot_type_id": "c89f9cdf-7b72-447f-a390-61d9a14bb632",
                    "shot_type_label": "string",
                    "image_url": "string"
                }
            ],
            "measurements": null,
            "deleted_at": null,
            "owner_id": "e819cd1e-9cb5-4701-ad9d-d0ee9a8f26b8",
            "organization_id": null
        }
    ],
    "pose_presets": [
        {
            "id": "584fe2ca-f207-49fb-a7b0-47822d4700cd",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "prompt": null,
            "shot_type_id": "3d25cb9e-4c6b-4d6d-a9ba-b363a4cb6d83",
            "owner_id": "35cd5d2c-debc-4a1a-a90c-a1738342ff5d",
            "organization_id": null,
            "pose_image_url": null,
            "pose_image_media": null,
            "deleted_at": null
        }
    ],
    "set_design": null,
    "shot_type_rules": [
        {
            "rule_kind": "TYPE",
            "rule_value": "string",
            "shot_types": null
        }
    ],
    "generative_workflow_template_id": null,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "auto_start_look_generations": {
            "type": "boolean",
            "title": "Auto Start Look Generations",
            "default": true
        },
        "allow_back_shots_without_back_image": {
            "type": "boolean",
            "title": "Allow Back Shots Without Back Image",
            "default": false
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "resolution_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Resolution Preset Id"
        },
        "background_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Background Preset Id"
        },
        "set_design_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Set Design Id"
        },
        "stylist_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Stylist Id"
        },
        "export_configuration_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Export Configuration Id"
        },
        "shot_types": {
            "items": {
                "$ref": "#/components/schemas/ShotTypePublic"
            },
            "type": "array",
            "title": "Shot Types",
            "default": []
        },
        "subjects": {
            "items": {
                "$ref": "#/components/schemas/SubjectPublic"
            },
            "type": "array",
            "title": "Subjects",
            "default": []
        },
        "pose_presets": {
            "items": {
                "$ref": "#/components/schemas/PosePresetPublic"
            },
            "type": "array",
            "title": "Pose Presets",
            "default": []
        },
        "set_design": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SetDesignPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shot_type_rules": {
            "items": {
                "$ref": "#/components/schemas/GuidelinesShotTypeRuleGroup"
            },
            "type": "array",
            "title": "Shot Type Rules",
            "default": []
        },
        "generative_workflow_template_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Generative Workflow Template Id"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "resolution_preset_id",
        "background_preset_id"
    ],
    "title": "ShootingGuidelinesPublic",
    "description": "Response model for ShootingGuidelines.\n\nCovers both row variants discriminated by the\n``ck_shootingguidelines_provenance`` CHECK:\n\n- **Templates**: ``owner_id`` is set, ``production_id`` is NULL.\n- **Snapshots**: ``owner_id`` is NULL, ``production_id`` points at\n  a ShootingProduction (the polymorphic snapshot baked at\n  production-create or guidelines-update time).\n\n``owner_id`` is therefore optional on the response — snapshots\nlegitimately carry NULL there."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

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

{
    "message": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "message": {
            "type": "string",
            "title": "Message"
        }
    },
    "type": "object",
    "required": [
        "message"
    ],
    "title": "Message"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/guidelines/{id}/restore

Restore Guidelines

Description

Restore a soft-deleted shooting guidelines (admin only).

Input parameters

Parameter In Type Default Nullable Description
OAuth2PasswordBearer header string N/A No
id path string No

Responses

{
    "id": "d677e964-f7b5-4614-b807-68c0f52d6788",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "auto_start_look_generations": true,
    "allow_back_shots_without_back_image": true,
    "owner_id": null,
    "organization_id": null,
    "resolution_preset_id": null,
    "background_preset_id": null,
    "set_design_id": null,
    "stylist_id": null,
    "export_configuration_id": null,
    "shot_types": [
        {
            "name": "string",
            "view_angle": "front",
            "framing": "full_body",
            "shot_type_ref_image_url": null,
            "shot_type_prompt_instruction": null,
            "file_naming_convention": null,
            "reference_image_url": null,
            "prompt": null,
            "prompt_builder_section": null,
            "core_focus": true,
            "default_shot_type": null,
            "margins": null,
            "owner_id": null,
            "public": true,
            "organization_id": null,
            "id": "59d9fe3a-5072-41c1-8bbf-b4d9aa867a12",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "deleted_at": null,
            "reference_image": null
        }
    ],
    "subjects": [
        {
            "id": "4d7b829c-786d-4dc7-9dff-766f35e462bd",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "surname": null,
            "slug": "string",
            "description": null,
            "age_class": "newborn",
            "gender": "MALE",
            "subject_type": "AI",
            "body_type": null,
            "positive_prompt": null,
            "negative_prompt": null,
            "ethnicity": null,
            "public": true,
            "enabled": true,
            "ready": true,
            "lora_status": "string",
            "lora_trigger": null,
            "cover_image_url": null,
            "portrait_image_url": null,
            "data_image_urls": [
                "string"
            ],
            "cover_image_media": null,
            "portrait_image_media": null,
            "data_images_media": null,
            "portfolio_images_media": null,
            "base_images": [
                {
                    "shot_type_id": "9003a6d0-8ffe-40c2-bbbf-96933e324d0c",
                    "shot_type_label": "string",
                    "image_url": "string"
                }
            ],
            "measurements": null,
            "deleted_at": null,
            "owner_id": "a0d3209f-2325-4629-846a-be11fb3a9742",
            "organization_id": null
        }
    ],
    "pose_presets": [
        {
            "id": "954f1281-6570-4d4a-a5f3-cc0e7b658d00",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "prompt": null,
            "shot_type_id": "5ca23d97-e52a-4ded-ba12-4680ccd833a4",
            "owner_id": "3d6e88c9-e5dd-4f4f-912f-caf3f3d2605d",
            "organization_id": null,
            "pose_image_url": null,
            "pose_image_media": null,
            "deleted_at": null
        }
    ],
    "set_design": null,
    "shot_type_rules": [
        {
            "rule_kind": "TYPE",
            "rule_value": "string",
            "shot_types": null
        }
    ],
    "generative_workflow_template_id": null,
    "deleted_at": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "auto_start_look_generations": {
            "type": "boolean",
            "title": "Auto Start Look Generations",
            "default": true
        },
        "allow_back_shots_without_back_image": {
            "type": "boolean",
            "title": "Allow Back Shots Without Back Image",
            "default": false
        },
        "owner_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "resolution_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Resolution Preset Id"
        },
        "background_preset_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Background Preset Id"
        },
        "set_design_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Set Design Id"
        },
        "stylist_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Stylist Id"
        },
        "export_configuration_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Export Configuration Id"
        },
        "shot_types": {
            "items": {
                "$ref": "#/components/schemas/ShotTypePublic"
            },
            "type": "array",
            "title": "Shot Types",
            "default": []
        },
        "subjects": {
            "items": {
                "$ref": "#/components/schemas/SubjectPublic"
            },
            "type": "array",
            "title": "Subjects",
            "default": []
        },
        "pose_presets": {
            "items": {
                "$ref": "#/components/schemas/PosePresetPublic"
            },
            "type": "array",
            "title": "Pose Presets",
            "default": []
        },
        "set_design": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SetDesignPublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shot_type_rules": {
            "items": {
                "$ref": "#/components/schemas/GuidelinesShotTypeRuleGroup"
            },
            "type": "array",
            "title": "Shot Type Rules",
            "default": []
        },
        "generative_workflow_template_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Generative Workflow Template Id"
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "resolution_preset_id",
        "background_preset_id"
    ],
    "title": "ShootingGuidelinesPublic",
    "description": "Response model for ShootingGuidelines.\n\nCovers both row variants discriminated by the\n``ck_shootingguidelines_provenance`` CHECK:\n\n- **Templates**: ``owner_id`` is set, ``production_id`` is NULL.\n- **Snapshots**: ``owner_id`` is NULL, ``production_id`` points at\n  a ShootingProduction (the polymorphic snapshot baked at\n  production-create or guidelines-update time).\n\n``owner_id`` is therefore optional on the response — snapshots\nlegitimately carry NULL there."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string",
            "input": null,
            "ctx": {}
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

Schemas

AssignOwnerRequest

Name Type Description
created_at string(date-time)
id string(uuid)
new_owner_id string(uuid)
updated_at string(date-time)

BackgroundFixStrategy

Type: string

BackgroundPresetCreate

Name Type Description
framings Array<BackgroundPresetFramingCreate> At least one framing entry is required
name string
organization_id Organization this preset belongs to
owner_id
prompt Optional free-text directive appended to every generation prompt that uses this background (e.g. 'make the background pure #FFFFFF white').
strategy Strategy for background fix processing

BackgroundPresetFramingCreate

Name Type Description
framing
image URL or MediaInput for framing image

BackgroundPresetFramingPublic

Name Type Description
created_at string(date-time)
framing
id string(uuid)
image_media
image_url
updated_at string(date-time)

BackgroundPresetPublic

Name Type Description
cover_image_url
created_at string(date-time)
deleted_at
framings Array<BackgroundPresetFramingPublic>
id string(uuid)
name string
organization_id
owner_id string(uuid)
prompt
strategy
updated_at string(date-time)

BackgroundPresetsPublic

Name Type Description
count integer
data Array<BackgroundPresetPublic>

BackgroundPresetUpdate

Name Type Description
framings Full-replace framings list. None = no change.
name
organization_id Organization to transfer this preset to
owner_id
prompt Optional free-text directive appended to every generation prompt that uses this background. Send null to clear; omit to leave unchanged.
strategy Strategy for background fix processing

BaseImageCreate

Name Type Description
image_url string
shot_type_id string(uuid)

BaseImageListResponse

Name Type Description
data Array<BaseImagePublic>

BaseImagePublic

Name Type Description
image_url string
shot_type_id string(uuid)
shot_type_label string

Body_update_style_lora_trigger

Name Type Description
lora_trigger string

Body_update_subject_lora_trigger

Name Type Description
lora_trigger

Body_upload_style_lora

Name Type Description
file string
lora_trigger string

Body_upload_subject_base_images_zip

Name Type Description
file string

Body_upload_subject_lora

Name Type Description
entity_type
file string
lora_trigger string

BodyType

Type: string

BulkAssignSubjectsRequest

Name Type Description
created_at string(date-time)
id string(uuid)
subject_ids Array<string(uuid)>
updated_at string(date-time)

DefaultShotTypes

Type: string

EyeColor

Type: string

Gender

Type: string

GuidelinesShotTypeRuleGroup

Name Type Description
rule_kind GuidelinesShotTypeRuleKind
rule_value string
shot_types Array<ShotTypePublic>

GuidelinesShotTypeRuleGroupInput

Name Type Description
rule_kind GuidelinesShotTypeRuleKind
rule_value string
shot_type_ids Array<string(uuid)>

GuidelinesShotTypeRuleKind

Type: string

HairColor

Type: string

HTTPValidationError

Name Type Description
detail Array<ValidationError>

MediaInput

Name Type Description
alt_text
caption
color_profile
dominant_color
duration
height
media_resource_id
protected boolean
url
width

MediaResourcePublic

Name Type Description
alt_text
aspect_ratio
caption
color_profile
content_hash string
created_at string(date-time)
dominant_color
duration
extension string
file_size integer
height
id string(uuid)
orientation
protected boolean
resource_type MediaResourceType
url string
width

MediaResourceType

Type: string

Message

Name Type Description
message string

PosePresetPublic

Name Type Description
created_at string(date-time)
deleted_at
id string(uuid)
name string
organization_id
owner_id string(uuid)
pose_image_media
pose_image_url
prompt
shot_type_id string(uuid)
updated_at string(date-time)

ResolutionPresetCreate

Name Type Description
height integer Height in pixels
name string
organization_id Organization this preset belongs to
owner_id
width integer Width in pixels

ResolutionPresetPublic

Name Type Description
created_at string(date-time)
deleted_at
height integer
id string(uuid)
name string
organization_id
owner_id string(uuid)
updated_at string(date-time)
width integer

ResolutionPresetsPublic

Name Type Description
count integer
data Array<ResolutionPresetPublic>

ResolutionPresetUpdate

Name Type Description
height Height in pixels
name
organization_id Organization to transfer this preset to
owner_id
width Width in pixels

SetBaseImagePublic

Name Type Description
created_at string(date-time)
id string(uuid)
image_media
image_url
shot_type_id string(uuid)
subject_id string(uuid)
updated_at string(date-time)
variant_index integer

SetDesignPublic

Name Type Description
background_preset_id
base_images Array<SetBaseImagePublic>
created_at string(date-time)
deleted_at
description
id string(uuid)
name string
organization_id
owner_id string(uuid)
reference_images Array<SetReferenceImagePublic>
subject_portraits Array<SubjectPortraitPublic>
updated_at string(date-time)

SetReferenceImagePublic

Name Type Description
created_at string(date-time)
id string(uuid)
image_media
image_url
label
shot_type_id string(uuid)
updated_at string(date-time)

ShootingGuidelinesCreate

Name Type Description
allow_back_shots_without_back_image boolean
auto_start_look_generations boolean
background_preset_id
export_configuration_id
generative_workflow_template_id Optional generative workflow template attached at guideline creation. Cross-org and invalid-validation-status templates are rejected at the route layer (422).
name string
organization_id Organization these guidelines belong to
owner_id
pose_preset_ids Array<string(uuid)>
resolution_preset_id
set_design_id
shot_type_ids Array<string(uuid)>
shot_type_rules Optional list of shot-type rules to create alongside the guideline (one DB transaction). Each entry is one (rule_kind, rule_value) → list of shot_type_ids group. Omit to create the guideline with no rules.
stylist_id
subject_ids Array<string(uuid)>

ShootingGuidelinesListPublic

Name Type Description
count integer
data Array<ShootingGuidelinesPublic>

ShootingGuidelinesPublic

Name Type Description
allow_back_shots_without_back_image boolean
auto_start_look_generations boolean
background_preset_id
created_at string(date-time)
deleted_at
export_configuration_id
generative_workflow_template_id
id string(uuid)
name string
organization_id
owner_id
pose_presets Array<PosePresetPublic>
resolution_preset_id
set_design
set_design_id
shot_type_rules Array<GuidelinesShotTypeRuleGroup>
shot_types Array<ShotTypePublic>
stylist_id
subjects Array<SubjectPublic>
updated_at string(date-time)

ShootingGuidelinesUpdate

Name Type Description
allow_back_shots_without_back_image
auto_start_look_generations
background_preset_id
export_configuration_id
generative_workflow_template_id Optional generative workflow template attached to these guidelines. Null clears the override. Cross-org templates are rejected (422).
name
organization_id Organization to transfer these guidelines to
owner_id
pose_preset_ids
resolution_preset_id
set_design_id
shot_type_ids
shot_type_rules Optional full-replace list of shot-type rules in group form (one entry per (rule_kind, rule_value) with its list of shot_type_ids). Omit to leave rules untouched; pass [] to clear all rules.
stylist_id
subject_ids

ShotTypeCreate

Name Type Description
core_focus boolean
default_shot_type
file_naming_convention
framing ShotTypeFraming
margins
name string
organization_id
owner_id
prompt
prompt_builder_section
public boolean
reference_image_url
shot_type_prompt_instruction
shot_type_ref_image_url
view_angle ViewAngle

ShotTypeFraming

Type: string

ShotTypePublic

Name Type Description
core_focus boolean
created_at string(date-time)
default_shot_type
deleted_at
file_naming_convention
framing ShotTypeFraming
id string(uuid)
margins
name string
organization_id
owner_id
prompt
prompt_builder_section
public boolean
reference_image
reference_image_url
shot_type_prompt_instruction
shot_type_ref_image_url
updated_at string(date-time)
view_angle ViewAngle

ShotTypesPublic

Name Type Description
count integer
data Array<ShotTypePublic>

ShotTypeUpdate

Name Type Description
core_focus
default_shot_type
file_naming_convention
framing
margins
name
organization_id
owner_id
prompt
prompt_builder_section
public
reference_image_url
shot_type_prompt_instruction
shot_type_ref_image_url
view_angle

StyleAdmin

Name Type Description
archived boolean
brand
cover_image_media
cover_image_url
created_at string(date-time)
current_training_id
data_image_urls Array<string>
data_images_media
default_lora_weight number
deleted_at
demo boolean
description
enabled boolean
id string(uuid)
local_model_path
lora_status string
lora_trigger
name string
organization_id
owner_id string(uuid)
prompt_keywords
public boolean
slug string
style_category StyleCategory
tags Array<string>
training_error
training_progress number
updated_at string(date-time)

StyleCategory

Type: string

StyleCreate

Name Type Description
brand
cover_image URL or base64 string for cover image, or MediaInput object
data_images List of image URLs, base64 strings, or MediaInput objects
default_lora_weight number
description
local_model_path
lora_trigger
name string
organization_id Organization this style belongs to
prompt_keywords
public boolean
style_category StyleCategory
tags List of tags for the style

StylePublic

Name Type Description
archived boolean
brand
cover_image_media
cover_image_url
created_at string(date-time)
current_training_id
data_image_urls Array<string>
data_images_media
default_lora_weight number
deleted_at
demo boolean
description
enabled boolean
id string(uuid)
local_model_path
lora_status string
lora_trigger
name string
organization_id
owner_id string(uuid)
prompt_keywords
public boolean
slug string
style_category StyleCategory
tags Array<string>
training_error
training_progress number
updated_at string(date-time)

StylesAdmin

Name Type Description
count integer
created_at string(date-time)
data Array<StyleAdmin>
id string(uuid)
updated_at string(date-time)

StylesPublic

Name Type Description
count integer
created_at string(date-time)
data Array<StylePublic>
id string(uuid)
updated_at string(date-time)

StyleUpdate

Name Type Description
archived
brand
cover_image URL or base64 string for cover image, or MediaInput object
data_images List of image URLs, base64 strings, or MediaInput objects
default_lora_weight
description
enabled
lora_trigger
name
organization_id Organization to transfer this style to
prompt_keywords
public
style_category
tags List of tags for the style

SubjectAdmin

Name Type Description
age_class SubjectAgeClass
base_images Array<BaseImagePublic>
body_type
cover_image_media
cover_image_url
created_at string(date-time)
data_image_urls Array<string>
data_images_media
deleted_at
description
enabled boolean
ethnicity
gender Gender
id string(uuid)
local_model_path
lora_filename Extract just the filename from local_model_path if it exists.
lora_status string
lora_trigger
measurements
name string
negative_prompt
organization_id
owner_id string(uuid)
portfolio_images_media
portrait_image_media
portrait_image_url
positive_prompt
public boolean
ready boolean
slug string
subject_type SubjectType
surname
updated_at string(date-time)

SubjectAgeClass

Type: string

SubjectBaseImagesUploadTaskPublic

Name Type Description
completed_at
created_at string(date-time)
error_message
id string(uuid)
images_processed integer
images_skipped integer
owner_id string(uuid)
portfolio_images_processed integer
processed_items integer
progress integer
result_data
started_at
status TaskStatus-Output
subject_id string(uuid)
total_items integer

SubjectCreate

Name Type Description
age_class SubjectAgeClass
base_images
body_type
cover_image
data_images
description
ethnicity
gender Gender
local_model_path
lora_status string
lora_trigger
measurements
name string
negative_prompt
organization_id Organization this subject belongs to
portfolio_images
portrait_image
positive_prompt
public boolean
subject_type SubjectType
surname

SubjectMeasurementsCreate

Name Type Description
bust_cm
eye_color
hair_color
height_cm
hips_cm
shoe_eu
waist_cm

SubjectMeasurementsPublic

Name Type Description
bust_cm
eye_color
hair_color
height_cm
hips_cm
id string(uuid)
shoe_eu
waist_cm

SubjectMeasurementsUpdate

Name Type Description
bust_cm
eye_color
hair_color
height_cm
hips_cm
shoe_eu
waist_cm

SubjectPortraitPublic

Name Type Description
created_at string(date-time)
id string(uuid)
image_media
subject_id string(uuid)
updated_at string(date-time)

SubjectPublic

Name Type Description
age_class SubjectAgeClass
base_images Array<BaseImagePublic>
body_type
cover_image_media
cover_image_url
created_at string(date-time)
data_image_urls Array<string>
data_images_media
deleted_at
description
enabled boolean
ethnicity
gender Gender
id string(uuid)
lora_status string
lora_trigger
measurements
name string
negative_prompt
organization_id
owner_id string(uuid)
portfolio_images_media
portrait_image_media
portrait_image_url
positive_prompt
public boolean
ready boolean
slug string
subject_type SubjectType
surname
updated_at string(date-time)

SubjectsAdmin

Name Type Description
count integer
created_at string(date-time)
data Array<SubjectAdmin>
id string(uuid)
updated_at string(date-time)

SubjectsPublic

Name Type Description
count integer
created_at string(date-time)
data Array<SubjectPublic>
id string(uuid)
updated_at string(date-time)

SubjectType

Type: string

SubjectUpdate

Name Type Description
age_class
body_type
cover_image
data_images
description
ethnicity
gender
measurements
name
negative_prompt
organization_id Organization to transfer this subject to
portfolio_images
portrait_image
positive_prompt
public
ready
surname

TaskStatus-Output

Type: string

ValidationError

Name Type Description
ctx
input
loc Array<>
msg string
type string

ViewAngle

Type: string

Security schemes

Name Type Scheme Description
OAuth2PasswordBearer oauth2