{
  "openapi": "3.1.0",
  "info": {
    "title": "Imagen AI API",
    "version": "0.1.0",
    "description": "AI-powered photo editing API for professional photographers. Docs: https://api-docs.imagen-ai.com"
  },
  "paths": {
    "/v1/projects": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Projects",
        "description": "Get a paginated list of API projects for the authenticated user.",
        "operationId": "get_projects_v1_projects_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 20,
              "title": "Size"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0,
              "title": "Page"
            }
          },
          {
            "name": "client_type",
            "in": "query",
            "required": false,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/models__projects__ClientType"
                }
              ],
              "default": "API",
              "title": "Client Type"
            }
          },
          {
            "name": "is_archived",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "default": false,
              "title": "Is Archived"
            }
          },
          {
            "name": "get_thumbnail",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true,
              "title": "Get Thumbnail"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "projects"
        ],
        "summary": "Create Project",
        "description": "Creating a new project",
        "operationId": "create_project_v1_projects_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "user-agent",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User-Agent"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/NewProjectClientRequest"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Request Data"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NewProjectClientResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_name}/uuid": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Project Uuid",
        "description": "Get project uuid by project name",
        "operationId": "get_project_uuid_v1_projects__project_name__uuid_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Name"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/uuid": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Project Uuid From Query Param",
        "description": "Get project uuid by project name (query param)",
        "operationId": "get_project_uuid_from_query_param_v1_projects_uuid_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Name"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/sky_replacement/templates": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Sky Replacement Templates Endpoint",
        "description": "Get available sky replacement templates for the authenticated user.",
        "operationId": "get_sky_replacement_templates_endpoint_v1_projects_sky_replacement_templates_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkyTemplatesResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/v1/projects/{project_uuid}": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Project By Uuid",
        "description": "Get a single project's details by UUID.",
        "operationId": "get_project_by_uuid_v1_projects__project_uuid__get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "get_thumbnail",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true,
              "title": "Get Thumbnail"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectListItem"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/": {
      "post": {
        "tags": [
          "projects"
        ],
        "summary": "Create Project",
        "description": "Creating a new project",
        "operationId": "create_project_v1_projects__post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "user-agent",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User-Agent"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/NewProjectClientRequest"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Request Data"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NewProjectClientResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/get_temporary_upload_links": {
      "post": {
        "tags": [
          "projects"
        ],
        "summary": "Create Temporary Upload Links",
        "description": "Returns temporary upload links so the client can upload the images using those links.",
        "operationId": "create_temporary_upload_links_v1_projects__project_uuid__get_temporary_upload_links_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFilesUploadLinksRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemporaryFilesUploadDataResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/edit": {
      "post": {
        "tags": [
          "projects"
        ],
        "summary": "Edit",
        "description": "Send project for editing",
        "operationId": "edit_v1_projects__project_uuid__edit_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditingProjectClientRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/edit/status": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Project Edit Status",
        "description": "Get project status.",
        "operationId": "get_project_edit_status_v1_projects__project_uuid__edit_status_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectStatusResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/edit/get_temporary_download_links": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Project Download Links",
        "description": "Returns temporary download links once edit is completed so the user can download the images/xmps.",
        "operationId": "get_project_download_links_v1_projects__project_uuid__edit_get_temporary_download_links_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesDownloadLinksResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/export": {
      "post": {
        "tags": [
          "projects"
        ],
        "summary": "Export Project",
        "operationId": "export_project_v1_projects__project_uuid__export_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportProjectRequestSubmittedResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/export/status": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Project Export Status",
        "operationId": "get_project_export_status_v1_projects__project_uuid__export_status_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportProjectStatusResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/export/get_temporary_download_links": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Project Export Temporary Download Links",
        "description": "Returns temporary download links once edit is completed so the user can download the images/xmps.",
        "operationId": "get_project_export_temporary_download_links_v1_projects__project_uuid__export_get_temporary_download_links_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesDownloadLinksResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/post_editing/status": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Post Editing Status",
        "description": "Get post-editing job status.",
        "operationId": "get_post_editing_status_v1_projects__project_uuid__post_editing_status_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PostEditingStatusResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/post_editing": {
      "post": {
        "tags": [
          "projects"
        ],
        "summary": "Trigger Post Editing",
        "operationId": "trigger_post_editing_v1_projects__project_uuid__post_editing_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostEditingProjectClientRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PostEditingRequestSubmittedResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/post_editing/get_temporary_download_links": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Post Editing Temporary Download Links",
        "description": "Returns temporary download links for post-edited images once post-editing is complete.",
        "operationId": "get_post_editing_temporary_download_links_v1_projects__project_uuid__post_editing_get_temporary_download_links_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesDownloadLinksResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/export/get_upload_link": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Project Export Image Upload Link",
        "description": "Returns a presigned PUT URL to upload/override a specific exported image.",
        "operationId": "get_project_export_image_upload_link_v1_projects__project_uuid__export_get_upload_link_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "file_name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name of the exported image file to upload.",
              "title": "File Name"
            },
            "description": "The name of the exported image file to upload."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemporaryFileUploadData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/export/get_download_link": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Project Export Image Download Link",
        "description": "Returns a presigned GET URL to download a specific exported image.",
        "operationId": "get_project_export_image_download_link_v1_projects__project_uuid__export_get_download_link_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "file_name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name of the exported image file to download.",
              "title": "File Name"
            },
            "description": "The name of the exported image file to download."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileDownloadInfo"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/profiles": {
      "get": {
        "tags": [
          "profiles"
        ],
        "summary": "Get User Profiles",
        "description": "Get user profiles",
        "operationId": "get_user_profiles_v1_profiles_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/UserProfileClientResponse"
                  },
                  "type": "array",
                  "title": "Response Get User Profiles V1 Profiles Get"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/v1/i2i/projects": {
      "get": {
        "tags": [
          "i2i"
        ],
        "summary": "Get I2I Projects",
        "description": "Get a paginated list of I2I projects for the authenticated user.",
        "operationId": "get_i2i_projects_v1_i2i_projects_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 20,
              "title": "Size"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0,
              "title": "Page"
            }
          },
          {
            "name": "is_archived",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "default": false,
              "title": "Is Archived"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Search"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "processing",
                    "completed",
                    "failed"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": "date",
              "title": "Sort By"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "i2i"
        ],
        "summary": "Create I2I Project",
        "description": "Creating a new I2I project",
        "operationId": "create_i2i_project_v1_i2i_projects_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "user-agent",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User-Agent"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/NewProjectClientRequest"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Request Data"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NewProjectClientResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/is_valid_name": {
      "get": {
        "tags": [
          "i2i"
        ],
        "summary": "Validate I2I Project Name",
        "description": "Check if a project name is currently unique for the user.\n\nNote: This is a best-effort check and doesn't guarantee uniqueness in concurrent scenarios.\nThe actual uniqueness is enforced by a database unique index on (user_id, project_name).\nThe create endpoint will return an error if a duplicate is attempted.",
        "operationId": "validate_i2i_project_name_v1_i2i_projects_is_valid_name_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Name"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}": {
      "get": {
        "tags": [
          "i2i"
        ],
        "summary": "Get I2I Project By Uuid",
        "description": "Get a single I2I project's details by UUID.",
        "operationId": "get_i2i_project_by_uuid_v1_i2i_projects__project_uuid__get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "get_thumbnail",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true,
              "title": "Get Thumbnail"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectListItem"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/": {
      "post": {
        "tags": [
          "i2i"
        ],
        "summary": "Create I2I Project",
        "description": "Creating a new I2I project",
        "operationId": "create_i2i_project_v1_i2i_projects__post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "user-agent",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "User-Agent"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/NewProjectClientRequest"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Request Data"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NewProjectClientResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}/get_hdr_groups_upload_link": {
      "post": {
        "tags": [
          "i2i"
        ],
        "summary": "Get I2I Groups Upload Link",
        "description": "Returns a presigned PUT link for the HDR groups manifest.",
        "operationId": "get_i2i_groups_upload_link_v1_i2i_projects__project_uuid__get_hdr_groups_upload_link_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/I2IGroupsUploadLinkResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}/get_temporary_upload_links": {
      "post": {
        "tags": [
          "i2i"
        ],
        "summary": "Create I2I Upload Links",
        "description": "Returns temporary upload links for I2I project uploads.",
        "operationId": "create_i2i_upload_links_v1_i2i_projects__project_uuid__get_temporary_upload_links_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFilesUploadLinksRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemporaryFilesUploadDataResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}/multipart_uploads": {
      "post": {
        "tags": [
          "i2i"
        ],
        "summary": "Create I2I Multipart Upload Links",
        "description": "Initiates an S3 multipart upload and returns presigned URLs for each part.",
        "operationId": "create_i2i_multipart_upload_links_v1_i2i_projects__project_uuid__multipart_uploads_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMultipartUploadLinksRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MultipartUploadLinksResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}/multipart_uploads/{upload_id}/complete": {
      "post": {
        "tags": [
          "i2i"
        ],
        "summary": "Complete I2I Multipart Upload",
        "description": "Completes an S3 multipart upload for an I2I project.",
        "operationId": "complete_i2i_multipart_upload_v1_i2i_projects__project_uuid__multipart_uploads__upload_id__complete_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "upload_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Upload Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteMultipartUploadRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}/multipart_uploads/{upload_id}": {
      "delete": {
        "tags": [
          "i2i"
        ],
        "summary": "Abort I2I Multipart Upload",
        "description": "Aborts an in-progress S3 multipart upload for an I2I project.",
        "operationId": "abort_i2i_multipart_upload_v1_i2i_projects__project_uuid__multipart_uploads__upload_id__delete",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "upload_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Upload Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AbortMultipartUploadRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}/edit": {
      "post": {
        "tags": [
          "i2i"
        ],
        "summary": "Trigger I2I Edit",
        "description": "Send I2I project for editing",
        "operationId": "trigger_i2i_edit_v1_i2i_projects__project_uuid__edit_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/I2IEditProjectClientRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}/get_temporary_download_links": {
      "get": {
        "tags": [
          "i2i"
        ],
        "summary": "Get I2I Project Download Links",
        "description": "Returns temporary download links for I2I project output images.",
        "operationId": "get_i2i_project_download_links_v1_i2i_projects__project_uuid__get_temporary_download_links_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesDownloadLinksResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}/get_temporary_thumbnail_links": {
      "get": {
        "tags": [
          "i2i"
        ],
        "summary": "Get I2I Project Thumbnail Links",
        "description": "Returns one temporary download link per delivered image, pointing at a small JPEG thumbnail when one exists and at the full-size image when it doesn't (anything delivered before thumbnails existed). `is_thumbnail` says which you got; `file_name` is always the delivered image's name, so these pair 1:1 with get_temporary_download_links.",
        "operationId": "get_i2i_project_thumbnail_links_v1_i2i_projects__project_uuid__get_temporary_thumbnail_links_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThumbnailLinksResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}/get_download_link": {
      "get": {
        "tags": [
          "i2i"
        ],
        "summary": "Get I2I File Download Link",
        "description": "Returns temporary download link for a single I2I project output file.",
        "operationId": "get_i2i_file_download_link_v1_i2i_projects__project_uuid__get_download_link_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "file_name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "title": "File Name"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}/get_upload_link": {
      "get": {
        "tags": [
          "i2i"
        ],
        "summary": "Get I2I File Upload Link",
        "description": "Returns a presigned PUT URL to upload/override a single I2I project output file.",
        "operationId": "get_i2i_file_upload_link_v1_i2i_projects__project_uuid__get_upload_link_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "file_name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "The name of the output image file to upload.",
              "title": "File Name"
            },
            "description": "The name of the output image file to upload."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemporaryFileUploadData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/i2i/projects/{project_uuid}/get_orientations_upload_link": {
      "post": {
        "tags": [
          "i2i"
        ],
        "summary": "Get I2I Orientations Upload Link",
        "description": "Returns a presigned PUT URL for the project-level orientations.json (per-image rotation map applied before editing).",
        "operationId": "get_i2i_orientations_upload_link_v1_i2i_projects__project_uuid__get_orientations_upload_link_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemporaryFileUploadData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/ai-tools": {
      "get": {
        "tags": [
          "AI Tools"
        ],
        "summary": "List available AI enhancement tools for a project",
        "operationId": "get_ai_tools_v1_projects__project_uuid__ai_tools_get",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "project_source",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Project source: REGULAR or I2I",
              "default": "REGULAR",
              "title": "Project Source"
            },
            "description": "Project source: REGULAR or I2I"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/images/{filename}/enhance": {
      "post": {
        "tags": [
          "AI Tools"
        ],
        "summary": "Apply an AI quick tool to an already-edited image",
        "operationId": "enhance_image_v1_projects__project_uuid__images__filename__enhance_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "filename",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Filename"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnhanceImageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/images/{filename}/copilot": {
      "post": {
        "tags": [
          "AI Tools"
        ],
        "summary": "Apply a natural language instruction to an image via AI copilot",
        "operationId": "apply_copilot_v1_projects__project_uuid__images__filename__copilot_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "filename",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Filename"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CopilotRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AI Tools"
        ],
        "summary": "Reset copilot conversation history for an image",
        "operationId": "reset_copilot_v1_projects__project_uuid__images__filename__copilot_delete",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          },
          {
            "name": "filename",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Filename"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetCopilotRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/projects/{project_uuid}/finalize": {
      "post": {
        "tags": [
          "AI Tools"
        ],
        "summary": "Generate final download URLs for all images, upscaling enhanced ones",
        "operationId": "finalize_project_v1_projects__project_uuid__finalize_post",
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "project_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FinalizeProjectRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AbortMultipartUploadRequest": {
        "properties": {
          "key": {
            "type": "string",
            "title": "Key"
          }
        },
        "type": "object",
        "required": [
          "key"
        ],
        "title": "AbortMultipartUploadRequest"
      },
      "BackgroundReplacementToolConfig": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          }
        },
        "type": "object",
        "required": [
          "enabled"
        ],
        "title": "BackgroundReplacementToolConfig"
      },
      "CompleteMultipartUploadRequest": {
        "properties": {
          "file_name": {
            "type": "string",
            "minLength": 1,
            "title": "File Name"
          }
        },
        "type": "object",
        "required": [
          "file_name"
        ],
        "title": "CompleteMultipartUploadRequest"
      },
      "CopilotRequest": {
        "properties": {
          "instruction": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Instruction"
          },
          "parent_version_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parent Version Id"
          },
          "project_source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProjectSource"
              }
            ],
            "default": "REGULAR"
          }
        },
        "type": "object",
        "required": [
          "instruction"
        ],
        "title": "CopilotRequest"
      },
      "CreateFilesUploadLinksRequest": {
        "properties": {
          "files_list": {
            "items": {
              "$ref": "#/components/schemas/FileUploadInfo"
            },
            "type": "array",
            "title": "Files List"
          },
          "client_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/utilities__enums__ClientType"
              }
            ],
            "default": "API"
          }
        },
        "type": "object",
        "required": [
          "files_list"
        ],
        "title": "CreateFilesUploadLinksRequest"
      },
      "CreateMultipartUploadLinksRequest": {
        "properties": {
          "file_name": {
            "type": "string",
            "minLength": 1,
            "title": "File Name"
          },
          "part_count": {
            "type": "integer",
            "maximum": 10000,
            "minimum": 1,
            "title": "Part Count"
          }
        },
        "type": "object",
        "required": [
          "file_name",
          "part_count"
        ],
        "title": "CreateMultipartUploadLinksRequest"
      },
      "CropAspectRatio": {
        "type": "string",
        "enum": [
          "2X3",
          "4X5",
          "5X7"
        ],
        "title": "CropAspectRatio"
      },
      "DNGCompression": {
        "type": "string",
        "enum": [
          "LOSSY",
          "LOSSLESS"
        ],
        "title": "DNGCompression"
      },
      "DenoiseManualSettings": {
        "properties": {
          "strength": {
            "$ref": "#/components/schemas/DenoiseStrength"
          },
          "min_iso_level": {
            "$ref": "#/components/schemas/DenoiseMinIsoLevel"
          }
        },
        "type": "object",
        "required": [
          "strength",
          "min_iso_level"
        ],
        "title": "DenoiseManualSettings"
      },
      "DenoiseMinIsoLevel": {
        "type": "string",
        "enum": [
          "ALL",
          "3200",
          "4000",
          "5000",
          "6400",
          "8000",
          "10000",
          "12800"
        ],
        "title": "DenoiseMinIsoLevel"
      },
      "DenoiseMode": {
        "type": "string",
        "enum": [
          "AUTO",
          "MANUAL"
        ],
        "title": "DenoiseMode"
      },
      "DenoiseSettings": {
        "properties": {
          "mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DenoiseMode"
              }
            ],
            "default": "AUTO"
          },
          "manual_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DenoiseManualSettings"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "DenoiseSettings"
      },
      "DenoiseStrength": {
        "type": "string",
        "enum": [
          "LEVEL_0",
          "LEVEL_1",
          "LEVEL_2",
          "LEVEL_3"
        ],
        "title": "DenoiseStrength"
      },
      "DenoiseToolConfig": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DenoiseSettings"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "enabled"
        ],
        "title": "DenoiseToolConfig"
      },
      "EditingProjectClientRequest": {
        "properties": {
          "profile_key": {
            "type": "integer",
            "title": "Profile Key"
          },
          "crop": {
            "type": "boolean",
            "title": "Crop",
            "default": false
          },
          "portrait_crop": {
            "type": "boolean",
            "title": "Portrait Crop",
            "default": false
          },
          "headshot_crop": {
            "type": "boolean",
            "title": "Headshot Crop",
            "default": false
          },
          "crop_aspect_ratio": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CropAspectRatio"
              },
              {
                "type": "null"
              }
            ],
            "description": "Aspect ratio for crop. If 'crop' is set to True and 'crop_aspect_ratio' is not provided, the default aspect ratio will be '2x3'. If 'portrait_crop' is set to True and 'crop_aspect_ratio' is not provided, the default aspect ratio will be '4x5'."
          },
          "hdr_merge": {
            "type": "boolean",
            "title": "Hdr Merge",
            "default": false
          },
          "straighten": {
            "type": "boolean",
            "title": "Straighten",
            "default": false
          },
          "subject_mask": {
            "type": "boolean",
            "title": "Subject Mask",
            "default": false
          },
          "photography_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PhotographyType"
              }
            ],
            "default": "NO_TYPE"
          },
          "callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Url"
          },
          "smooth_skin": {
            "type": "boolean",
            "title": "Smooth Skin",
            "default": false
          },
          "perspective_correction": {
            "type": "boolean",
            "title": "Perspective Correction",
            "default": false
          },
          "window_pull": {
            "type": "boolean",
            "title": "Window Pull",
            "default": false
          },
          "sky_replacement": {
            "type": "boolean",
            "title": "Sky Replacement",
            "default": false
          },
          "sky_replacement_template_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sky Replacement Template Id"
          },
          "hdr_output_compression": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DNGCompression"
              },
              {
                "type": "null"
              }
            ],
            "default": "LOSSY"
          },
          "post_editing_tools": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PostEditingToolsConfig"
              },
              {
                "type": "null"
              }
            ],
            "description": "Configure post-editing AI tools (background replacement, denoise) to run automatically after editing completes."
          }
        },
        "type": "object",
        "required": [
          "profile_key"
        ],
        "title": "EditingProjectClientRequest"
      },
      "EnhanceImageRequest": {
        "properties": {
          "tool_id": {
            "type": "string",
            "minLength": 1,
            "title": "Tool Id"
          },
          "parent_version_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parent Version Id"
          },
          "project_source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProjectSource"
              }
            ],
            "default": "REGULAR"
          }
        },
        "type": "object",
        "required": [
          "tool_id"
        ],
        "title": "EnhanceImageRequest"
      },
      "ExportProjectRequestSubmittedResponse": {
        "properties": {
          "project_uuid": {
            "type": "string",
            "title": "Project Uuid"
          },
          "message": {
            "type": "string",
            "title": "Message",
            "default": "Export request was sent successfully"
          }
        },
        "type": "object",
        "required": [
          "project_uuid",
          "message"
        ],
        "title": "ExportProjectRequestSubmittedResponse"
      },
      "ExportProjectStatusResponse": {
        "properties": {
          "project_uuid": {
            "type": "string",
            "title": "Project Uuid"
          },
          "status": {
            "$ref": "#/components/schemas/Statuses"
          }
        },
        "type": "object",
        "required": [
          "project_uuid",
          "status"
        ],
        "title": "ExportProjectStatusResponse"
      },
      "FileDownloadInfo": {
        "properties": {
          "file_name": {
            "type": "string",
            "title": "File Name"
          },
          "download_link": {
            "type": "string",
            "title": "Download Link"
          }
        },
        "type": "object",
        "required": [
          "file_name",
          "download_link"
        ],
        "title": "FileDownloadInfo"
      },
      "FileUploadInfo": {
        "properties": {
          "file_name": {
            "type": "string",
            "title": "File Name"
          },
          "md5": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Md5"
          },
          "is_jpg_as_dng": {
            "type": "boolean",
            "title": "Is Jpg As Dng",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "file_name"
        ],
        "title": "FileUploadInfo"
      },
      "FilesDownloadLinksResponse": {
        "properties": {
          "files_list": {
            "items": {
              "$ref": "#/components/schemas/FileDownloadInfo"
            },
            "type": "array",
            "title": "Files List"
          }
        },
        "type": "object",
        "required": [
          "files_list"
        ],
        "title": "FilesDownloadLinksResponse"
      },
      "FinalizeProjectRequest": {
        "properties": {
          "project_source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProjectSource"
              }
            ],
            "default": "REGULAR"
          }
        },
        "type": "object",
        "title": "FinalizeProjectRequest"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "I2IEditProjectClientRequest": {
        "properties": {
          "hdr_merge": {
            "type": "boolean",
            "title": "Hdr Merge",
            "default": false
          },
          "hdr_grouping_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/I2IHdrGroupingMethod"
              }
            ],
            "default": "auto"
          },
          "sky_replacement": {
            "type": "boolean",
            "title": "Sky Replacement",
            "default": false
          },
          "sky_replacement_template_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sky Replacement Template Id"
          },
          "perspective_correction": {
            "type": "boolean",
            "title": "Perspective Correction",
            "default": false
          },
          "has_orientations": {
            "type": "boolean",
            "title": "Has Orientations",
            "default": false
          },
          "callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Callback Url"
          },
          "jpg_as_dng_files": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Jpg As Dng Files"
          }
        },
        "type": "object",
        "title": "I2IEditProjectClientRequest"
      },
      "I2IGroupsUploadLinkResponse": {
        "properties": {
          "upload_link": {
            "type": "string",
            "title": "Upload Link"
          },
          "key": {
            "type": "string",
            "title": "Key"
          }
        },
        "type": "object",
        "required": [
          "upload_link",
          "key"
        ],
        "title": "I2IGroupsUploadLinkResponse"
      },
      "I2IHdrGroupingMethod": {
        "type": "string",
        "enum": [
          "auto",
          "time",
          "count",
          "manual"
        ],
        "title": "I2IHdrGroupingMethod"
      },
      "ImageType": {
        "type": "string",
        "enum": [
          "RAW",
          "JPG"
        ],
        "title": "ImageType"
      },
      "MultipartUploadLinksResponse": {
        "properties": {
          "upload_id": {
            "type": "string",
            "title": "Upload Id"
          },
          "key": {
            "type": "string",
            "title": "Key"
          },
          "parts": {
            "items": {
              "$ref": "#/components/schemas/MultipartUploadPartUrl"
            },
            "type": "array",
            "title": "Parts"
          }
        },
        "type": "object",
        "required": [
          "upload_id",
          "key",
          "parts"
        ],
        "title": "MultipartUploadLinksResponse"
      },
      "MultipartUploadPartUrl": {
        "properties": {
          "part_number": {
            "type": "integer",
            "title": "Part Number"
          },
          "upload_url": {
            "type": "string",
            "title": "Upload Url"
          }
        },
        "type": "object",
        "required": [
          "part_number",
          "upload_url"
        ],
        "title": "MultipartUploadPartUrl"
      },
      "NewProjectClientRequest": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          }
        },
        "type": "object",
        "title": "NewProjectClientRequest"
      },
      "NewProjectClientResponse": {
        "properties": {
          "project_uuid": {
            "type": "string",
            "title": "Project Uuid"
          }
        },
        "type": "object",
        "required": [
          "project_uuid"
        ],
        "title": "NewProjectClientResponse"
      },
      "PaginationInfo": {
        "properties": {
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "size": {
            "type": "integer",
            "title": "Size"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          }
        },
        "type": "object",
        "required": [
          "total",
          "size",
          "page"
        ],
        "title": "PaginationInfo"
      },
      "PhotographyType": {
        "type": "string",
        "enum": [
          "NO_TYPE",
          "OTHER",
          "PORTRAITS",
          "WEDDING",
          "REAL_ESTATE",
          "LANDSCAPE_NATURE",
          "EVENTS",
          "FAMILY_NEWBORN",
          "BOUDOIR",
          "SPORTS",
          "SCHOOL"
        ],
        "title": "PhotographyType"
      },
      "PostEditingProjectClientRequest": {
        "properties": {
          "post_editing_tools": {
            "$ref": "#/components/schemas/PostEditingToolsConfig"
          }
        },
        "type": "object",
        "required": [
          "post_editing_tools"
        ],
        "title": "PostEditingProjectClientRequest"
      },
      "PostEditingRequestSubmittedResponse": {
        "properties": {
          "project_uuid": {
            "type": "string",
            "title": "Project Uuid"
          },
          "message": {
            "type": "string",
            "title": "Message",
            "default": "Post-editing request was sent successfully"
          }
        },
        "type": "object",
        "required": [
          "project_uuid",
          "message"
        ],
        "title": "PostEditingRequestSubmittedResponse"
      },
      "PostEditingStatusResponse": {
        "properties": {
          "project_uuid": {
            "type": "string",
            "title": "Project Uuid"
          },
          "status": {
            "$ref": "#/components/schemas/Statuses"
          }
        },
        "type": "object",
        "required": [
          "project_uuid",
          "status"
        ],
        "title": "PostEditingStatusResponse"
      },
      "PostEditingToolsConfig": {
        "properties": {
          "denoise": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DenoiseToolConfig"
              },
              {
                "type": "null"
              }
            ]
          },
          "background_replacement": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BackgroundReplacementToolConfig"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "PostEditingToolsConfig"
      },
      "ProfileTypes": {
        "type": "string",
        "enum": [
          "Personal",
          "Talent",
          "Shared"
        ],
        "title": "ProfileTypes"
      },
      "ProjectListItem": {
        "properties": {
          "project_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Project Id"
          },
          "project_uuid": {
            "type": "string",
            "title": "Project Uuid"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "created_at": {
            "type": "string",
            "title": "Created At"
          },
          "number_of_images": {
            "type": "integer",
            "title": "Number Of Images"
          },
          "number_of_images_edited": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Number Of Images Edited"
          },
          "profile": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Profile"
          },
          "ai_tools": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ai Tools"
          },
          "customer_reference_id": {
            "type": "integer",
            "title": "Customer Reference Id"
          },
          "thumbnail_src": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thumbnail Src"
          },
          "export_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Export Status"
          }
        },
        "type": "object",
        "required": [
          "project_id",
          "project_uuid",
          "name",
          "status",
          "created_at",
          "number_of_images",
          "number_of_images_edited",
          "profile",
          "ai_tools",
          "customer_reference_id",
          "thumbnail_src",
          "export_status"
        ],
        "title": "ProjectListItem"
      },
      "ProjectListResponse": {
        "properties": {
          "projects": {
            "items": {
              "$ref": "#/components/schemas/ProjectListItem"
            },
            "type": "array",
            "title": "Projects"
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "type": "object",
        "required": [
          "projects",
          "pagination"
        ],
        "title": "ProjectListResponse"
      },
      "ProjectSource": {
        "type": "string",
        "enum": [
          "REGULAR",
          "I2I"
        ],
        "title": "ProjectSource"
      },
      "ProjectStatusResponse": {
        "properties": {
          "status": {
            "$ref": "#/components/schemas/Statuses"
          }
        },
        "type": "object",
        "required": [
          "status"
        ],
        "title": "ProjectStatusResponse"
      },
      "ResetCopilotRequest": {
        "properties": {
          "project_source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProjectSource"
              }
            ],
            "default": "REGULAR"
          }
        },
        "type": "object",
        "title": "ResetCopilotRequest"
      },
      "SkyTemplateOut": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default"
          }
        },
        "type": "object",
        "required": [
          "id",
          "is_default"
        ],
        "title": "SkyTemplateOut"
      },
      "SkyTemplatesResponse": {
        "properties": {
          "templates": {
            "items": {
              "$ref": "#/components/schemas/SkyTemplateOut"
            },
            "type": "array",
            "title": "Templates"
          }
        },
        "type": "object",
        "required": [
          "templates"
        ],
        "title": "SkyTemplatesResponse"
      },
      "Statuses": {
        "type": "string",
        "enum": [
          "Pending",
          "In Progress",
          "Failed",
          "Completed"
        ],
        "title": "Statuses"
      },
      "TemporaryFileUploadData": {
        "properties": {
          "file_name": {
            "type": "string",
            "title": "File Name"
          },
          "upload_link": {
            "type": "string",
            "title": "Upload Link"
          }
        },
        "type": "object",
        "required": [
          "file_name",
          "upload_link"
        ],
        "title": "TemporaryFileUploadData"
      },
      "TemporaryFilesUploadDataResponse": {
        "properties": {
          "files_list": {
            "items": {
              "$ref": "#/components/schemas/TemporaryFileUploadData"
            },
            "type": "array",
            "title": "Files List"
          }
        },
        "type": "object",
        "required": [
          "files_list"
        ],
        "title": "TemporaryFilesUploadDataResponse"
      },
      "ThumbnailDownloadInfo": {
        "properties": {
          "file_name": {
            "type": "string",
            "title": "File Name"
          },
          "download_link": {
            "type": "string",
            "title": "Download Link"
          },
          "is_thumbnail": {
            "type": "boolean",
            "title": "Is Thumbnail"
          }
        },
        "type": "object",
        "required": [
          "file_name",
          "download_link",
          "is_thumbnail"
        ],
        "title": "ThumbnailDownloadInfo"
      },
      "ThumbnailLinksResponse": {
        "properties": {
          "files_list": {
            "items": {
              "$ref": "#/components/schemas/ThumbnailDownloadInfo"
            },
            "type": "array",
            "title": "Files List"
          }
        },
        "type": "object",
        "required": [
          "files_list"
        ],
        "title": "ThumbnailLinksResponse"
      },
      "UserProfileClientResponse": {
        "properties": {
          "profile_key": {
            "type": "integer",
            "title": "Profile Key"
          },
          "profile_name": {
            "type": "string",
            "title": "Profile Name"
          },
          "profile_type": {
            "$ref": "#/components/schemas/ProfileTypes"
          },
          "image_type": {
            "$ref": "#/components/schemas/ImageType"
          }
        },
        "type": "object",
        "required": [
          "profile_key",
          "profile_name",
          "profile_type",
          "image_type"
        ],
        "title": "UserProfileClientResponse"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "models__projects__ClientType": {
        "type": "string",
        "enum": [
          "API",
          "MOBILE",
          "WEB_REAL_ESTATE"
        ],
        "title": "ClientType"
      },
      "utilities__enums__ClientType": {
        "type": "string",
        "enum": [
          "APP",
          "API",
          "MOBILE",
          "WEB_REAL_ESTATE"
        ],
        "title": "ClientType"
      }
    },
    "securitySchemes": {
      "APIKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key"
      }
    }
  }
}
