Skip to content

Pose Presets Endpoints

Pose Presets API endpoints.


Overview

Method Endpoint Description
POST /api/v1/pose-presets/ Create Pose Preset
GET /api/v1/pose-presets/ Read Pose Presets
GET /api/v1/pose-presets/{id} Read Pose Preset
PUT /api/v1/pose-presets/{id} Update Pose Preset
DELETE /api/v1/pose-presets/{id} Delete Pose Preset

API Reference

Sartiq Backend Server - Pose Presets 0.1.0

pose-presets


POST /api/v1/pose-presets/

Create Pose Preset

Description

Create new pose preset.

Input parameters

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

Request body

{
    "name": "string",
    "prompt": null,
    "shot_type_id": "e2d39a6d-77d9-402c-abdf-2a5c7cadf312",
    "default_shot_type": null,
    "pose_image": 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",
            "maxLength": 255,
            "title": "Name"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "shot_type_id": {
            "type": "string",
            "format": "uuid",
            "title": "Shot Type Id"
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Canonical framing; derived from the shot type when omitted"
        },
        "pose_image": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Pose Image",
            "description": "URL or MediaInput for pose image"
        },
        "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",
        "shot_type_id"
    ],
    "title": "PosePresetCreate"
}

Responses

{
    "id": "d5e314c9-0831-48f6-9665-7373cee8bc4c",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "prompt": null,
    "shot_type_id": "b5e31df4-d9fb-4137-a9bd-173449268ed1",
    "default_shot_type": null,
    "owner_id": "35a0d871-6c5f-4638-bbcb-73e1aebe1c7a",
    "organization_id": null,
    "public": true,
    "pose_image_url": null,
    "pose_image_media": 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"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "shot_type_id": {
            "type": "string",
            "format": "uuid",
            "title": "Shot Type Id"
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": false
        },
        "pose_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Pose Image Url"
        },
        "pose_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "shot_type_id",
        "owner_id"
    ],
    "title": "PosePresetPublic"
}

{
    "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/pose-presets/

Read Pose Presets

Description

Retrieve pose presets.

search filters by a case-insensitive substring of the preset prompt. default_shot_type filters by canonical framing, which spans shot types (and organizations) that share it.

Input parameters

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

Responses

{
    "data": [
        {
            "id": "2b52aa20-3a8a-4f15-89bb-c05dcad73ab6",
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "name": "string",
            "prompt": null,
            "shot_type_id": "32a77ff7-49c5-42b9-82aa-500a919db2e1",
            "default_shot_type": null,
            "owner_id": "3a904758-54fb-4ce9-8eef-1e7f44fe5571",
            "organization_id": null,
            "public": true,
            "pose_image_url": null,
            "pose_image_media": 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/PosePresetPublic"
            },
            "type": "array",
            "title": "Data"
        },
        "count": {
            "type": "integer",
            "title": "Count"
        }
    },
    "type": "object",
    "required": [
        "data",
        "count"
    ],
    "title": "PosePresetsPublic"
}

{
    "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/pose-presets/agent-create

Agent Create Pose Preset

Description

Pose extracted from one shot-type rule (SAR-1919). JOB-SCOPED token only.

The body names a rule and carries only what the agent produced — a label and the prompt it read off that rule's image. Shot type, image, organization and owner are all derived here, so none of them can be pointed somewhere they do not belong: a shot_type_id from the body would need an org-visibility check, and a media_resource_id could not be checked at all (MediaResource has no owner column).

Always creates. Reruns therefore accumulate presets — accepted, because a pose is not the same pose between runs just because its name matches. The duplicates share one stored file, so this costs rows, not storage.

404 when the rule is not on this job's guidelines — including when it does not exist, deliberately indistinguishable. 409 for a rule whose image is only a legacy storefront hot-link, which has no MediaResource to re-attach.

Input parameters

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

Request body

{
    "rule_id": "ecda879c-53d7-4d99-b4f3-c1d19beed3c1",
    "name": "string",
    "prompt": 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": {
        "rule_id": {
            "type": "string",
            "format": "uuid",
            "title": "Rule Id",
            "description": "GuidelinesShotTypeRule this pose describes — supplies shot type AND image"
        },
        "name": {
            "type": "string",
            "maxLength": 255,
            "title": "Name"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        }
    },
    "type": "object",
    "required": [
        "rule_id",
        "name"
    ],
    "title": "PosePresetAgentCreate",
    "description": "Agent-created pose, sourced entirely from a shot-type rule (SAR-1919).\n\nThe agent names a ``GuidelinesShotTypeRule`` and contributes only what it\nactually produced — the label and the prompt it extracted from that rule's\nimage. Everything structural is derived server-side:\n\n* ``shot_type_id`` comes from the rule, so it cannot point at another\n  organization's shot type;\n* the pose image is the rule's own ``reference_image`` MediaResource,\n  re-attached rather than re-uploaded, so rule and pose share one file;\n* organization and owner come from the job.\n\nDeriving the media this way is what makes the route safe: ``MediaResource``\ncarries no organization or owner column, so a client-supplied\n``media_resource_id`` would be a global namespace — any resource whose UUID\nthe caller could guess. There is no such field here."
}

Responses

{
    "id": "eadfe0db-4451-4471-959c-ff235058362a",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "prompt": null,
    "shot_type_id": "9ae7ba0d-880f-4258-a33d-1767d2dd25c6",
    "default_shot_type": null,
    "owner_id": "a117b858-5ba8-49d8-bb3a-4cb863856ad2",
    "organization_id": null,
    "public": true,
    "pose_image_url": null,
    "pose_image_media": 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"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "shot_type_id": {
            "type": "string",
            "format": "uuid",
            "title": "Shot Type Id"
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": false
        },
        "pose_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Pose Image Url"
        },
        "pose_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "shot_type_id",
        "owner_id"
    ],
    "title": "PosePresetPublic"
}

{
    "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/pose-presets/{id}

Read Pose Preset

Description

Get pose 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": "6aff6334-9c1a-4a49-a238-6da0b157b775",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "prompt": null,
    "shot_type_id": "3d8bd1e3-ccd6-42f1-b9bf-f855f611d009",
    "default_shot_type": null,
    "owner_id": "c355be4b-81fe-44fc-8c9d-9d28fb2d47c3",
    "organization_id": null,
    "public": true,
    "pose_image_url": null,
    "pose_image_media": 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"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "shot_type_id": {
            "type": "string",
            "format": "uuid",
            "title": "Shot Type Id"
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": false
        },
        "pose_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Pose Image Url"
        },
        "pose_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "shot_type_id",
        "owner_id"
    ],
    "title": "PosePresetPublic"
}

{
    "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/pose-presets/{id}

Update Pose Preset

Description

Update a pose 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

{
    "name": null,
    "prompt": null,
    "shot_type_id": null,
    "default_shot_type": null,
    "pose_image": 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": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 255
                },
                {
                    "type": "null"
                }
            ],
            "title": "Name"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "shot_type_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Id"
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "pose_image": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "$ref": "#/components/schemas/MediaInput"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Pose Image",
            "description": "URL or MediaInput for pose image"
        },
        "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": "PosePresetUpdate"
}

Responses

{
    "id": "c23d96b0-c855-44c6-96ec-ddd50c7ff5ce",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "prompt": null,
    "shot_type_id": "4919eb3b-2c22-4b19-89d3-7f8e72bf2c3e",
    "default_shot_type": null,
    "owner_id": "d045d11b-98c2-4fef-a94e-15e141382d26",
    "organization_id": null,
    "public": true,
    "pose_image_url": null,
    "pose_image_media": 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"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "shot_type_id": {
            "type": "string",
            "format": "uuid",
            "title": "Shot Type Id"
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": false
        },
        "pose_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Pose Image Url"
        },
        "pose_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "shot_type_id",
        "owner_id"
    ],
    "title": "PosePresetPublic"
}

{
    "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/pose-presets/{id}

Delete Pose Preset

Description

Delete a pose 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/pose-presets/{id}/restore

Restore Pose Preset

Description

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

Input parameters

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

Responses

{
    "id": "8438f23a-5914-4028-a4eb-e6f610d2fdaf",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "name": "string",
    "prompt": null,
    "shot_type_id": "4aef06e4-2e44-4693-9315-8b17953a3448",
    "default_shot_type": null,
    "owner_id": "e5dad977-2417-4ee2-a210-6d86531369f8",
    "organization_id": null,
    "public": true,
    "pose_image_url": null,
    "pose_image_media": 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"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "shot_type_id": {
            "type": "string",
            "format": "uuid",
            "title": "Shot Type Id"
        },
        "default_shot_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/DefaultShotTypes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "owner_id": {
            "type": "string",
            "format": "uuid",
            "title": "Owner Id"
        },
        "organization_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Organization Id"
        },
        "public": {
            "type": "boolean",
            "title": "Public",
            "default": false
        },
        "pose_image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Pose Image Url"
        },
        "pose_image_media": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MediaResourcePublic"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        }
    },
    "type": "object",
    "required": [
        "id",
        "created_at",
        "updated_at",
        "name",
        "shot_type_id",
        "owner_id"
    ],
    "title": "PosePresetPublic"
}

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

DefaultShotTypes

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

PosePresetAgentCreate

Name Type Description
name string
prompt
rule_id string(uuid) GuidelinesShotTypeRule this pose describes — supplies shot type AND image

PosePresetCreate

Name Type Description
default_shot_type Canonical framing; derived from the shot type when omitted
name string
organization_id Organization this preset belongs to
owner_id
pose_image URL or MediaInput for pose image
prompt
shot_type_id string(uuid)

PosePresetPublic

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

PosePresetsPublic

Name Type Description
count integer
data Array<PosePresetPublic>

PosePresetUpdate

Name Type Description
default_shot_type
name
organization_id Organization to transfer this preset to
owner_id
pose_image URL or MediaInput for pose image
prompt
shot_type_id

ValidationError

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

Security schemes

Name Type Scheme Description
OAuth2PasswordBearer oauth2