From 26d9debb82cebc35f64cbba4745afa728be662e4 Mon Sep 17 00:00:00 2001 From: Holly Schinsky Date: Wed, 1 May 2024 20:26:49 -0400 Subject: [PATCH 001/106] Redocly spec test --- static/cliov3-spec-all.json | 2515 +++++++++++++++++++++++++++++++++++ 1 file changed, 2515 insertions(+) create mode 100644 static/cliov3-spec-all.json diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json new file mode 100644 index 00000000..82748f10 --- /dev/null +++ b/static/cliov3-spec-all.json @@ -0,0 +1,2515 @@ +{ + "openapi": "3.1.0", + "info": { + "version": "1.0.0", + "title": "Firefly APIs", + "description": "REST API for Adobe Firefly for enterprise usage" + }, + "servers": [ + { + "url": "https://firefly-api-enterprise-stage.adobe.io", + "description": "Stage endpoint" + } + ], + "security": [ + { + "Authorization": [] + }, + { + "X-Api-Key": [] + } + ], + "tags": [ + { + "name": "public", + "description": "Publically available, reviewed APIs that are ready to be integrated in products" + } + ], + "paths": { + "/v3/images/generate": { + "post": { + "tags": ["public"], + "summary": "Generate images API", + "operationId": "generateImages", + "description": "Generate images based on a prompt with optional reference image to match style ", + "requestBody": { + "description": "image generation request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateImagesRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Generate images response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateImagesResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } + } + } + }, + "/v3/images/generate-similar": { + "post": { + "tags": ["public"], + "summary": "Generate Similar Images API", + "operationId": "generateSimilarImages", + "description": "Generate similar images based on a provided image", + "requestBody": { + "description": "Similar image generation request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateSimilarImagesRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Generate similar images response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateSimilarImagesResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } + } + } + }, + "/v3/images/expand": { + "post": { + "tags": ["public"], + "summary": "Expand Image API", + "operationId": "expandImage", + "description": "Expand an image to a new size/aspect ratio ", + "requestBody": { + "description": "image expansion request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExpandImageRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Expand Image Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExpandImageResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } + } + } + }, + "/v3/images/fill": { + "post": { + "tags": ["public"], + "summary": "Fill Image API", + "operationId": "fillImage", + "description": "Fill the masked area of an image with an optional prompt.", + "requestBody": { + "description": "image fill request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FillImageRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Fill Image Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FillImageResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } + } + } + }, + "/v3/images/background-replace": { + "post": { + "tags": ["public"], + "summary": "Background Replace API", + "operationId": "replaceBackground", + "description": "Replace the background of an image with an optional prompt.", + "requestBody": { + "description": "image background replace request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReplaceBackgroundRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Background Replace Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReplaceBackgroundResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } + } + } + }, + "/v2/storage/image": { + "post": { + "tags": ["public"], + "summary": "Upload API", + "operationId": "upload", + "description": "Upload any content, such as images, videos, or documents. This api provides an opaque ID for referencing the uploaded content in other firefly apis. ", + "requestBody": { + "content": { + "image/jpeg": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "image/png": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "image/webp": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "description": "Blob created using the image data of types PNG/JPEG/WEBP image, ensure that type is set while creating the blob.", + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } + } + } + }, + "/v3/images/generate-object-composite": { + "post": { + "tags": ["v3"], + "summary": "Generate Object Composite API", + "operationId": "generateObjectComposite", + "description": "Generate object composite image based on a prompt with optional reference image to match style", + "requestBody": { + "description": "Object composite generation request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateObjectCompositeRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Generate Object Composite Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateObjectCompositeResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "ApiError": { + "properties": { + "error_code": { + "$ref": "#/components/schemas/ColligoErrorCode" + }, + "message": { + "type": "string", + "title": "Message" + }, + "validation_errors": { + "items": { + "$ref": "#/components/schemas/ValidationErrorMessage" + }, + "type": "array", + "title": "Validation Errors" + }, + "stack_trace": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Stack Trace" + } + }, + "type": "object", + "required": ["error_code"], + "title": "ApiError", + "description": "The error within the error response." + }, + "BaseInputImage": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source image", + "description": "Source image which will be used to expand, fill or generate similar images" + } + }, + "type": "object", + "required": ["source"], + "title": "BaseInputImage" + }, + "ColligoErrorCode": { + "type": "string", + "enum": [ + "model_not_found", + "model_not_loaded", + "not_implemented", + "validation_error", + "runtime_error", + "cancelled_error", + "timeout_error", + "legal_error", + "prompt_unsafe", + "image_unsafe", + "reference_image_unsafe_error", + "language_not_supported", + "file_not_found", + "job_already_canceled", + "job_canceled", + "job_timeout", + "job_completed", + "unknown_job_id", + "access_error", + "invalid_content_type", + "empty_input_body" + ], + "title": "ColligoErrorCode", + "description": "An enumeration." + }, + "ContentClass": { + "type": "string", + "enum": ["photo", "art", "vector"], + "title": "ContentClass", + "description": "An enumeration." + }, + "ContentInsertion": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source image", + "description": "Source image from which content needs to be inserted" + }, + "strength": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "title": "strength", + "description": "Strength in range 0 to 100. Higher value preverses original content better." + } + }, + "type": "object", + "required": ["source"], + "title": "ContentInsertion" + }, + "ExpandImageRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "Prompt" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImage" + } + ], + "title": "Input Image", + "description": "Image which we want to expand" + }, + "styleReference": { + "allOf": [ + { + "$ref": "#/components/schemas/Styles" + } + ], + "title": "The styles to be used for image generation", + "description": "You can pass the image in source field which will be used for style reference" + }, + "contentInsertion": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentInsertion" + } + ], + "title": "Content Insertion", + "description": "The image to insert the content from" + } + }, + "type": "object", + "required": ["prompt", "image"], + "title": "Images expand payload" + }, + "ExpandImageResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Images expand response" + }, + "FillArea": { + "properties": { + "fillMask": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Fill Mask", + "description": "User's brushed mask" + } + }, + "type": "object", + "title": "FillArea" + }, + "FillImageRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "negativePrompt": { + "type": "string", + "maxLength": 1024, + "title": "Avoid prompt", + "description": "Inference will try to generate against this prompt" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImage" + } + ], + "title": "Input Image", + "description": "Input image which we want to fill" + }, + "styleReference": { + "allOf": [ + { + "$ref": "#/components/schemas/Styles" + } + ], + "title": "The styles to be used for image generation", + "description": "You can pass the image in source field which will be used for style reference" + }, + "contentInsertion": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentInsertion" + } + ], + "title": "Content Insertion", + "description": "The image to insert the content from" + }, + "promptBiasingLocaleCode": { + "type": "string", + "title": "The locale used for image generations", + "description": "The locale will be used to generate content that is more relevant for user's country and language" + } + }, + "type": "object", + "required": ["prompt", "image"], + "title": "Fill images payload" + }, + "FillImageResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Fill images response." + }, + "GenerateImagesRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "negativePrompt": { + "type": "string", + "maxLength": 1024, + "title": "Avoid prompt", + "description": "Inference will try to generate against this prompt" + }, + "contentClass": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentClass" + } + ], + "title": "The content class", + "description": "Will guide the generation to being more photographic or more like art" + }, + "visualIntensity": { + "type": "integer", + "maximum": 10, + "minimum": 2, + "title": "Visual Intensity", + "description": "Adjusts the overall intensity of your photo's existing visual characteristic", + "default": 6 + }, + "photoSettings": { + "allOf": [ + { + "$ref": "#/components/schemas/PhotoSettings" + } + ], + "title": "The photo settings", + "description": "This is only valid if contentClass is photo, otherwise it will be ignored" + }, + "styleReference": { + "allOf": [ + { + "$ref": "#/components/schemas/Styles" + } + ], + "title": "The styles to be used for image generation", + "description": "You can specify a preset, a reference image or both" + }, + "promptBiasingLocaleCode": { + "type": "string", + "title": "The locale used for image generations", + "description": "The locale will be used to generate content that is more relevant for user's country and language" + }, + "tileable": { + "type": "boolean", + "title": "If the output image should be tileable or not", + "description": "Control to apply noise-rolling during diffusion (required for text2pattern, text2texture)" + }, + "structureReference": { + "allOf": [ + { + "$ref": "#/components/schemas/StructureReference" + } + ], + "title": "Structure Reference", + "description": "Source Image which will be used for as a reference for structure to have a controlled generation" + } + }, + "type": "object", + "required": ["prompt"], + "title": "Generating images from prompt" + }, + "GenerateImagesResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + }, + "promptHasDeniedWords": { + "type": "boolean", + "title": "The prompt had denied words", + "description": "The user may see that the generation does not comply to its full prompt" + }, + "promptHasBlockedArtists": { + "type": "boolean", + "title": "The prompt had artists that were blocked", + "description": "The user may see that the generation does not comply to its full prompt" + }, + "photoSettings": { + "allOf": [ + { + "$ref": "#/components/schemas/PhotoSettings" + } + ], + "title": "The photo settings used for generation", + "description": "Only specified if content class was detected as photo" + }, + "contentClass": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentClass" + } + ], + "title": "The detected content class", + "description": "Will be same as input, if input was specified" + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Generating images from prompt" + }, + "GenerateObjectCompositeRequest": { + "properties": { + "n": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "N will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "inputImage": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImageObjectComposite" + } + ], + "title": "Input Image", + "description": "Input Image" + }, + "prompt": { + "type": "string", + "title": "The prompt", + "description": "The prompt used to generate the background. The longer the prompt - the better" + }, + "placement": { + "allOf": [ + { + "$ref": "#/components/schemas/Placement" + } + ], + "title": "Object placement", + "description": "Determines placement of object in output image" + } + }, + "type": "object", + "required": ["inputImage", "prompt"], + "title": "Generating background for objects from prompt" + }, + "GenerateObjectCompositeResponse": { + "properties": { + "version": { + "type": "string", + "minLength": 0, + "title": "The version", + "description": "The version of the Text to Image feature." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + } + }, + "type": "object", + "required": ["version", "outputs", "size"], + "title": "Generating object composite from prompt" + }, + "GenerateSimilarImagesRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInputImage" + } + ], + "title": "The reference image", + "description": "Firefly will create similar variations" + }, + "tileable": { + "type": "boolean", + "title": "Output image tileability", + "description": "An image is tilable if it can be repeated infinitely in any direction without showing visible seams or edges." + } + }, + "type": "object", + "required": ["image"], + "title": "Generating similar images from a reference image" + }, + "GenerateSimilarImagesResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Generating similar images response" + }, + "ImageEncodingParameters": { + "properties": { + "jxlImageEncodingParameters": { + "allOf": [ + { + "$ref": "#/components/schemas/JxlImageEncodingParameters" + } + ], + "title": "JXL image encoding parameters", + "description": "Set of parameters for fine-tuning output images in JXL format" + } + }, + "type": "object", + "title": "ImageEncodingParameters" + }, + "InputImageObjectComposite": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source Image", + "description": "Source Image" + }, + "backgroundMask": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Background Mask", + "description": "Background Mask" + } + }, + "type": "object", + "required": ["source"], + "title": "InputImageObjectComposite" + }, + "InputImage": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source image", + "description": "Source image which will be used to expand, fill or generate similar images" + }, + "mask": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Mask image", + "description": "Mask image which will be used replace the backgound of the image" + } + }, + "type": "object", + "required": ["source"], + "title": "InputImage" + }, + "JxlImageEncodingParameters": { + "properties": { + "quality": { + "type": "integer", + "maximum": 100, + "minimum": 0, + "title": "Quality of image encoding", + "description": "The quality of the image, as in JPEG or other formats, worsens as it becomes smaller, with 100 being lossless." + }, + "effort": { + "type": "integer", + "maximum": 9, + "minimum": 3, + "title": "Effort of image encoding", + "description": "Higher effort improves compression ratios and image quality but increases processing time, while lower effort speeds up encoding but may sacrifice quality or file size." + } + }, + "type": "object", + "title": "JxlImageEncodingParameters" + }, + "OutputImage": { + "properties": { + "seed": { + "type": "integer", + "title": "The seed used for the generation", + "description": "The seed description" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "The pre-signed URL used to download the image", + "description": "The URL description" + } + }, + "type": "object", + "required": ["seed", "image"], + "title": "OutputImage" + }, + "PhotoSettings": { + "properties": { + "aperture": { + "type": "number", + "maximum": 22, + "minimum": 1.2, + "title": "The styles to be used for image generation", + "description": "You can specify a preset, a reference image or both" + }, + "shutterSpeed": { + "type": "number", + "maximum": 10, + "minimum": 0.0005, + "title": "Shutter speed, seconds", + "description": "You can use fractions of a second like 1/4000 or whole seconds" + }, + "fieldOfView": { + "type": "integer", + "maximum": 300, + "minimum": 14, + "title": "The field of view, in mm", + "description": "Description TBD" + } + }, + "type": "object", + "required": ["aperture", "shutterSpeed", "fieldOfView"], + "title": "PhotoSettings" + }, + "Placement": { + "properties": { + "inset": { + "allOf": [ + { + "$ref": "#/components/schemas/PlacementInset" + } + ], + "title": "Margin values in target size", + "description": "Margin values in target size" + } + }, + "type": "object", + "required": ["inset"], + "title": "Placement" + }, + "PlacementInset": { + "properties": { + "left": { + "type": "integer", + "title": "Left Inset", + "description": "The space between left edge of the result image and left edge of the placed object image." + }, + "top": { + "type": "integer", + "title": "Top Inset", + "description": "The space between top edge of the result image and top edge of the placed object image." + }, + "right": { + "type": "integer", + "title": "Right Inset", + "description": "The space between right edge of the result image and right edge of the placed object image." + }, + "bottom": { + "type": "integer", + "title": "Bottom Inset", + "description": "The space between bottom edge of the result image and bottom edge of the placed object image." + } + }, + "type": "object", + "title": "PlacementInset" + }, + "PublicBinary": { + "properties": { + "uploadId": { + "type": "string", + "format": "uuid4", + "title": "The internal id for a storage item", + "description": "This is coming from other outputs" + }, + "url": { + "type": "string", + "maxLength": 2083, + "minLength": 1, + "format": "uri", + "title": "The presigned url", + "description": "This URL will expire in one hour" + } + }, + "type": "object", + "title": "PublicBinary" + }, + "ReplaceBackgroundRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImage" + } + ], + "title": "Source image and mask image.", + "description": "Source image from which background needs to be replaced with a optional mask." + }, + "contentInsertion": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentInsertion" + } + ], + "title": "Content Insertion", + "description": "The image to insert the content from" + } + }, + "type": "object", + "required": ["prompt", "image"], + "title": "Background replace payload" + }, + "ReplaceBackgroundResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Backgound replace response" + }, + "Size": { + "properties": { + "width": { + "type": "integer", + "maximum": 2688, + "minimum": 1, + "title": "The width of the output image" + }, + "height": { + "type": "integer", + "maximum": 2688, + "minimum": 1, + "title": "The height of the output image" + } + }, + "type": "object", + "required": ["width", "height"], + "title": "Size" + }, + "StructureReference": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "A structure reference image", + "description": "Firefly will detect the structure in the image and apply the same in the generated image" + }, + "strength": { + "type": "integer", + "maximum": 2, + "minimum": 0, + "title": "Adherence Threshold", + "description": "Adjusts adherence to structure reference image. 0 means no adherence. 2 means full adherence.", + "default": 1 + } + }, + "type": "object", + "title": "StructureReference" + }, + "Styles": { + "properties": { + "presets": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true, + "title": "The style presets", + "description": "You can specify an ID for a style" + }, + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "A style image reference", + "description": "Firefly will detect the style in the image and apply the same style in the generated image" + }, + "strength": { + "type": "integer", + "maximum": 100, + "exclusiveMinimum": 0, + "title": "The strength of the style", + "description": "Desc TBD", + "default": 50 + } + }, + "type": "object", + "title": "Styles" + }, + "UploadResponse": { + "description": "Upload response", + "type": "object", + "properties": { + "images": { + "type": "array", + "description": "Array of objects containing asset ID", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/UploadedResource" + } + ] + } + } + } + }, + "UploadedResource": { + "type": "object", + "description": "Uploaded Media Details", + "required": ["id"], + "properties": { + "id": { + "type": "string", + "description": "ID associated with the asset (generate this ID using the upload API).", + "examples": ["REPLACE WITH STRING ID GENERATED FROM UPLOAD IMAGE API"] + } + } + }, + "ValidationErrorMessage": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "type": "array", + "title": "Loc" + }, + "msg": { + "type": "string", + "title": "Msg" + }, + "type": { + "type": "string", + "title": "Type" + }, + "ctx": { + "type": "object", + "title": "Ctx" + } + }, + "type": "object", + "required": ["loc", "msg", "type"], + "title": "ValidationErrorMessage" + } + } + } +} From edd462ce7a734bc4a94d439557cbac9b6476f7ac Mon Sep 17 00:00:00 2001 From: Holly Schinsky Date: Wed, 1 May 2024 20:31:48 -0400 Subject: [PATCH 002/106] Reformat --- static/cliov3-spec-all.json | 4938 ++++++++++++++++++----------------- 1 file changed, 2470 insertions(+), 2468 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 82748f10..709a2afc 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1,2515 +1,2517 @@ { - "openapi": "3.1.0", - "info": { - "version": "1.0.0", - "title": "Firefly APIs", - "description": "REST API for Adobe Firefly for enterprise usage" + "openapi": "3.1.0", + "info": { + "version": "1.0.0", + "title": "Firefly APIs", + "description": "REST API for Adobe Firefly for enterprise usage" + }, + "servers": [ + { + "url": "https://firefly-api-enterprise-stage.adobe.io", + "description": "Stage endpoint" + } + ], + "security": [ + { + "Authorization": [] }, - "servers": [ - { - "url": "https://firefly-api-enterprise-stage.adobe.io", - "description": "Stage endpoint" - } - ], - "security": [ - { - "Authorization": [] + { + "X-Api-Key": [] + } + ], + "tags": [ + { + "name": "public", + "description": "Publically available, reviewed APIs that are ready to be integrated in products" + } + ], + "paths": { + "/v3/images/generate": { + "post": { + "tags": ["public"], + "summary": "Generate images API", + "operationId": "generateImages", + "description": "Generate images based on a prompt with optional reference image to match style ", + "requestBody": { + "description": "image generation request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateImagesRequest" + } + } + }, + "required": true }, - { - "X-Api-Key": [] - } - ], - "tags": [ - { - "name": "public", - "description": "Publically available, reviewed APIs that are ready to be integrated in products" - } - ], - "paths": { - "/v3/images/generate": { - "post": { - "tags": ["public"], - "summary": "Generate images API", - "operationId": "generateImages", - "description": "Generate images based on a prompt with optional reference image to match style ", - "requestBody": { - "description": "image generation request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateImagesRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Generate images response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateImagesResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } + "responses": { + "200": { + "description": "Generate images response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateImagesResponse" } + } } - }, - "/v3/images/generate-similar": { - "post": { - "tags": ["public"], - "summary": "Generate Similar Images API", - "operationId": "generateSimilarImages", - "description": "Generate similar images based on a provided image", - "requestBody": { - "description": "Similar image generation request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateSimilarImagesRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Generate similar images response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateSimilarImagesResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" } + } } - }, - "/v3/images/expand": { - "post": { - "tags": ["public"], - "summary": "Expand Image API", - "operationId": "expandImage", - "description": "Expand an image to a new size/aspect ratio ", - "requestBody": { - "description": "image expansion request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExpandImageRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Expand Image Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExpandImageResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } + } + } + }, + "/v3/images/generate-similar": { + "post": { + "tags": ["public"], + "summary": "Generate Similar Images API", + "operationId": "generateSimilarImages", + "description": "Generate similar images based on a provided image", + "requestBody": { + "description": "Similar image generation request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateSimilarImagesRequest" + } } + }, + "required": true }, - "/v3/images/fill": { - "post": { - "tags": ["public"], - "summary": "Fill Image API", - "operationId": "fillImage", - "description": "Fill the masked area of an image with an optional prompt.", - "requestBody": { - "description": "image fill request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FillImageRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Fill Image Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FillImageResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } + "responses": { + "200": { + "description": "Generate similar images response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateSimilarImagesResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" } + } } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } + } + } + }, + "/v3/images/expand": { + "post": { + "tags": ["public"], + "summary": "Expand Image API", + "operationId": "expandImage", + "description": "Expand an image to a new size/aspect ratio ", + "requestBody": { + "description": "image expansion request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExpandImageRequest" + } + } + }, + "required": true }, - "/v3/images/background-replace": { - "post": { - "tags": ["public"], - "summary": "Background Replace API", - "operationId": "replaceBackground", - "description": "Replace the background of an image with an optional prompt.", - "requestBody": { - "description": "image background replace request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReplaceBackgroundRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Background Replace Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReplaceBackgroundResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } + "responses": { + "200": { + "description": "Expand Image Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExpandImageResponse" } + } } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } + } + } + }, + "/v3/images/fill": { + "post": { + "tags": ["public"], + "summary": "Fill Image API", + "operationId": "fillImage", + "description": "Fill the masked area of an image with an optional prompt.", + "requestBody": { + "description": "image fill request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FillImageRequest" + } + } + }, + "required": true }, - "/v2/storage/image": { - "post": { - "tags": ["public"], - "summary": "Upload API", - "operationId": "upload", - "description": "Upload any content, such as images, videos, or documents. This api provides an opaque ID for referencing the uploaded content in other firefly apis. ", - "requestBody": { - "content": { - "image/jpeg": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "image/png": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "image/webp": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "description": "Blob created using the image data of types PNG/JPEG/WEBP image, ensure that type is set while creating the blob.", - "required": true - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } + "responses": { + "200": { + "description": "Fill Image Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FillImageResponse" } + } } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } + } + } + }, + "/v3/images/background-replace": { + "post": { + "tags": ["public"], + "summary": "Background Replace API", + "operationId": "replaceBackground", + "description": "Replace the background of an image with an optional prompt.", + "requestBody": { + "description": "image background replace request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReplaceBackgroundRequest" + } + } + }, + "required": true }, - "/v3/images/generate-object-composite": { - "post": { - "tags": ["v3"], - "summary": "Generate Object Composite API", - "operationId": "generateObjectComposite", - "description": "Generate object composite image based on a prompt with optional reference image to match style", - "requestBody": { - "description": "Object composite generation request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateObjectCompositeRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Generate Object Composite Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateObjectCompositeResponse" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - } + "responses": { + "200": { + "description": "Background Replace Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReplaceBackgroundResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" } + } } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } } + } }, - "components": { - "schemas": { - "ApiError": { - "properties": { - "error_code": { - "$ref": "#/components/schemas/ColligoErrorCode" - }, - "message": { - "type": "string", - "title": "Message" - }, - "validation_errors": { - "items": { - "$ref": "#/components/schemas/ValidationErrorMessage" - }, - "type": "array", - "title": "Validation Errors" - }, - "stack_trace": { - "items": { - "type": "string" - }, - "type": "array", - "title": "Stack Trace" - } - }, - "type": "object", - "required": ["error_code"], - "title": "ApiError", - "description": "The error within the error response." - }, - "BaseInputImage": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images" - } - }, - "type": "object", - "required": ["source"], - "title": "BaseInputImage" - }, - "ColligoErrorCode": { + "/v2/storage/image": { + "post": { + "tags": ["public"], + "summary": "Upload API", + "operationId": "upload", + "description": "Upload any content, such as images, videos, or documents. This api provides an opaque ID for referencing the uploaded content in other firefly apis. ", + "requestBody": { + "content": { + "image/jpeg": { + "schema": { "type": "string", - "enum": [ - "model_not_found", - "model_not_loaded", - "not_implemented", - "validation_error", - "runtime_error", - "cancelled_error", - "timeout_error", - "legal_error", - "prompt_unsafe", - "image_unsafe", - "reference_image_unsafe_error", - "language_not_supported", - "file_not_found", - "job_already_canceled", - "job_canceled", - "job_timeout", - "job_completed", - "unknown_job_id", - "access_error", - "invalid_content_type", - "empty_input_body" - ], - "title": "ColligoErrorCode", - "description": "An enumeration." + "format": "binary" + } }, - "ContentClass": { + "image/png": { + "schema": { "type": "string", - "enum": ["photo", "art", "vector"], - "title": "ContentClass", - "description": "An enumeration." - }, - "ContentInsertion": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source image", - "description": "Source image from which content needs to be inserted" - }, - "strength": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "title": "strength", - "description": "Strength in range 0 to 100. Higher value preverses original content better." - } - }, - "type": "object", - "required": ["source"], - "title": "ContentInsertion" - }, - "ExpandImageRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "Prompt" - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/InputImage" - } - ], - "title": "Input Image", - "description": "Image which we want to expand" - }, - "styleReference": { - "allOf": [ - { - "$ref": "#/components/schemas/Styles" - } - ], - "title": "The styles to be used for image generation", - "description": "You can pass the image in source field which will be used for style reference" - }, - "contentInsertion": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentInsertion" - } - ], - "title": "Content Insertion", - "description": "The image to insert the content from" - } - }, - "type": "object", - "required": ["prompt", "image"], - "title": "Images expand payload" - }, - "ExpandImageResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - } - }, - "type": "object", - "required": ["size", "outputs"], - "title": "Images expand response" - }, - "FillArea": { - "properties": { - "fillMask": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Fill Mask", - "description": "User's brushed mask" - } - }, - "type": "object", - "title": "FillArea" - }, - "FillImageRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "The prompt", - "description": "The prompt used to generate the image. The longer the prompt - the better" - }, - "negativePrompt": { - "type": "string", - "maxLength": 1024, - "title": "Avoid prompt", - "description": "Inference will try to generate against this prompt" - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/InputImage" - } - ], - "title": "Input Image", - "description": "Input image which we want to fill" - }, - "styleReference": { - "allOf": [ - { - "$ref": "#/components/schemas/Styles" - } - ], - "title": "The styles to be used for image generation", - "description": "You can pass the image in source field which will be used for style reference" - }, - "contentInsertion": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentInsertion" - } - ], - "title": "Content Insertion", - "description": "The image to insert the content from" - }, - "promptBiasingLocaleCode": { - "type": "string", - "title": "The locale used for image generations", - "description": "The locale will be used to generate content that is more relevant for user's country and language" - } - }, - "type": "object", - "required": ["prompt", "image"], - "title": "Fill images payload" - }, - "FillImageResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - } - }, - "type": "object", - "required": ["size", "outputs"], - "title": "Fill images response." - }, - "GenerateImagesRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "The prompt", - "description": "The prompt used to generate the image. The longer the prompt - the better" - }, - "negativePrompt": { - "type": "string", - "maxLength": 1024, - "title": "Avoid prompt", - "description": "Inference will try to generate against this prompt" - }, - "contentClass": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentClass" - } - ], - "title": "The content class", - "description": "Will guide the generation to being more photographic or more like art" - }, - "visualIntensity": { - "type": "integer", - "maximum": 10, - "minimum": 2, - "title": "Visual Intensity", - "description": "Adjusts the overall intensity of your photo's existing visual characteristic", - "default": 6 - }, - "photoSettings": { - "allOf": [ - { - "$ref": "#/components/schemas/PhotoSettings" - } - ], - "title": "The photo settings", - "description": "This is only valid if contentClass is photo, otherwise it will be ignored" - }, - "styleReference": { - "allOf": [ - { - "$ref": "#/components/schemas/Styles" - } - ], - "title": "The styles to be used for image generation", - "description": "You can specify a preset, a reference image or both" - }, - "promptBiasingLocaleCode": { - "type": "string", - "title": "The locale used for image generations", - "description": "The locale will be used to generate content that is more relevant for user's country and language" - }, - "tileable": { - "type": "boolean", - "title": "If the output image should be tileable or not", - "description": "Control to apply noise-rolling during diffusion (required for text2pattern, text2texture)" - }, - "structureReference": { - "allOf": [ - { - "$ref": "#/components/schemas/StructureReference" - } - ], - "title": "Structure Reference", - "description": "Source Image which will be used for as a reference for structure to have a controlled generation" - } - }, - "type": "object", - "required": ["prompt"], - "title": "Generating images from prompt" - }, - "GenerateImagesResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - }, - "promptHasDeniedWords": { - "type": "boolean", - "title": "The prompt had denied words", - "description": "The user may see that the generation does not comply to its full prompt" - }, - "promptHasBlockedArtists": { - "type": "boolean", - "title": "The prompt had artists that were blocked", - "description": "The user may see that the generation does not comply to its full prompt" - }, - "photoSettings": { - "allOf": [ - { - "$ref": "#/components/schemas/PhotoSettings" - } - ], - "title": "The photo settings used for generation", - "description": "Only specified if content class was detected as photo" - }, - "contentClass": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentClass" - } - ], - "title": "The detected content class", - "description": "Will be same as input, if input was specified" - } - }, - "type": "object", - "required": ["size", "outputs"], - "title": "Generating images from prompt" - }, - "GenerateObjectCompositeRequest": { - "properties": { - "n": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "N will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "inputImage": { - "allOf": [ - { - "$ref": "#/components/schemas/InputImageObjectComposite" - } - ], - "title": "Input Image", - "description": "Input Image" - }, - "prompt": { - "type": "string", - "title": "The prompt", - "description": "The prompt used to generate the background. The longer the prompt - the better" - }, - "placement": { - "allOf": [ - { - "$ref": "#/components/schemas/Placement" - } - ], - "title": "Object placement", - "description": "Determines placement of object in output image" - } - }, - "type": "object", - "required": ["inputImage", "prompt"], - "title": "Generating background for objects from prompt" - }, - "GenerateObjectCompositeResponse": { - "properties": { - "version": { - "type": "string", - "minLength": 0, - "title": "The version", - "description": "The version of the Text to Image feature." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - } - }, - "type": "object", - "required": ["version", "outputs", "size"], - "title": "Generating object composite from prompt" + "format": "binary" + } }, - "GenerateSimilarImagesRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInputImage" - } - ], - "title": "The reference image", - "description": "Firefly will create similar variations" - }, - "tileable": { - "type": "boolean", - "title": "Output image tileability", - "description": "An image is tilable if it can be repeated infinitely in any direction without showing visible seams or edges." - } - }, - "type": "object", - "required": ["image"], - "title": "Generating similar images from a reference image" - }, - "GenerateSimilarImagesResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - } - }, - "type": "object", - "required": ["size", "outputs"], - "title": "Generating similar images response" - }, - "ImageEncodingParameters": { - "properties": { - "jxlImageEncodingParameters": { - "allOf": [ - { - "$ref": "#/components/schemas/JxlImageEncodingParameters" - } - ], - "title": "JXL image encoding parameters", - "description": "Set of parameters for fine-tuning output images in JXL format" - } - }, - "type": "object", - "title": "ImageEncodingParameters" + "image/webp": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "description": "Blob created using the image data of types PNG/JPEG/WEBP image, ensure that type is set while creating the blob.", + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } + } + } + }, + "/v3/images/generate-object-composite": { + "post": { + "tags": ["v3"], + "summary": "Generate Object Composite API", + "operationId": "generateObjectComposite", + "description": "Generate object composite image based on a prompt with optional reference image to match style", + "requestBody": { + "description": "Object composite generation request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateObjectCompositeRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Generate Object Composite Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateObjectCompositeResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "ApiError": { + "properties": { + "error_code": { + "$ref": "#/components/schemas/ColligoErrorCode" + }, + "message": { + "type": "string", + "title": "Message" + }, + "validation_errors": { + "items": { + "$ref": "#/components/schemas/ValidationErrorMessage" }, - "InputImageObjectComposite": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source Image", - "description": "Source Image" - }, - "backgroundMask": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Background Mask", - "description": "Background Mask" - } - }, - "type": "object", - "required": ["source"], - "title": "InputImageObjectComposite" + "type": "array", + "title": "Validation Errors" + }, + "stack_trace": { + "items": { + "type": "string" }, - "InputImage": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images" - }, - "mask": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Mask image", - "description": "Mask image which will be used replace the backgound of the image" - } - }, - "type": "object", - "required": ["source"], - "title": "InputImage" + "type": "array", + "title": "Stack Trace" + } + }, + "type": "object", + "required": ["error_code"], + "title": "ApiError", + "description": "The error within the error response." + }, + "BaseInputImage": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source image", + "description": "Source image which will be used to expand, fill or generate similar images" + } + }, + "type": "object", + "required": ["source"], + "title": "BaseInputImage" + }, + "ColligoErrorCode": { + "type": "string", + "enum": [ + "model_not_found", + "model_not_loaded", + "not_implemented", + "validation_error", + "runtime_error", + "cancelled_error", + "timeout_error", + "legal_error", + "prompt_unsafe", + "image_unsafe", + "reference_image_unsafe_error", + "language_not_supported", + "file_not_found", + "job_already_canceled", + "job_canceled", + "job_timeout", + "job_completed", + "unknown_job_id", + "access_error", + "invalid_content_type", + "empty_input_body" + ], + "title": "ColligoErrorCode", + "description": "An enumeration." + }, + "ContentClass": { + "type": "string", + "enum": ["photo", "art", "vector"], + "title": "ContentClass", + "description": "An enumeration." + }, + "ContentInsertion": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source image", + "description": "Source image from which content needs to be inserted" + }, + "strength": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "title": "strength", + "description": "Strength in range 0 to 100. Higher value preverses original content better." + } + }, + "type": "object", + "required": ["source"], + "title": "ContentInsertion" + }, + "ExpandImageRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" }, - "JxlImageEncodingParameters": { - "properties": { - "quality": { - "type": "integer", - "maximum": 100, - "minimum": 0, - "title": "Quality of image encoding", - "description": "The quality of the image, as in JPEG or other formats, worsens as it becomes smaller, with 100 being lossless." - }, - "effort": { - "type": "integer", - "maximum": 9, - "minimum": 3, - "title": "Effort of image encoding", - "description": "Higher effort improves compression ratios and image quality but increases processing time, while lower effort speeds up encoding but may sacrifice quality or file size." - } - }, - "type": "object", - "title": "JxlImageEncodingParameters" + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "Prompt" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImage" + } + ], + "title": "Input Image", + "description": "Image which we want to expand" + }, + "styleReference": { + "allOf": [ + { + "$ref": "#/components/schemas/Styles" + } + ], + "title": "The styles to be used for image generation", + "description": "You can pass the image in source field which will be used for style reference" + }, + "contentInsertion": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentInsertion" + } + ], + "title": "Content Insertion", + "description": "The image to insert the content from" + } + }, + "type": "object", + "required": ["prompt", "image"], + "title": "Images expand payload" + }, + "ExpandImageResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" }, - "OutputImage": { - "properties": { - "seed": { - "type": "integer", - "title": "The seed used for the generation", - "description": "The seed description" - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "The pre-signed URL used to download the image", - "description": "The URL description" - } - }, - "type": "object", - "required": ["seed", "image"], - "title": "OutputImage" + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Images expand response" + }, + "FillArea": { + "properties": { + "fillMask": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Fill Mask", + "description": "User's brushed mask" + } + }, + "type": "object", + "title": "FillArea" + }, + "FillImageRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" }, - "PhotoSettings": { - "properties": { - "aperture": { - "type": "number", - "maximum": 22, - "minimum": 1.2, - "title": "The styles to be used for image generation", - "description": "You can specify a preset, a reference image or both" - }, - "shutterSpeed": { - "type": "number", - "maximum": 10, - "minimum": 0.0005, - "title": "Shutter speed, seconds", - "description": "You can use fractions of a second like 1/4000 or whole seconds" - }, - "fieldOfView": { - "type": "integer", - "maximum": 300, - "minimum": 14, - "title": "The field of view, in mm", - "description": "Description TBD" - } - }, - "type": "object", - "required": ["aperture", "shutterSpeed", "fieldOfView"], - "title": "PhotoSettings" + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "negativePrompt": { + "type": "string", + "maxLength": 1024, + "title": "Avoid prompt", + "description": "Inference will try to generate against this prompt" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImage" + } + ], + "title": "Input Image", + "description": "Input image which we want to fill" + }, + "styleReference": { + "allOf": [ + { + "$ref": "#/components/schemas/Styles" + } + ], + "title": "The styles to be used for image generation", + "description": "You can pass the image in source field which will be used for style reference" + }, + "contentInsertion": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentInsertion" + } + ], + "title": "Content Insertion", + "description": "The image to insert the content from" + }, + "promptBiasingLocaleCode": { + "type": "string", + "title": "The locale used for image generations", + "description": "The locale will be used to generate content that is more relevant for user's country and language" + } + }, + "type": "object", + "required": ["prompt", "image"], + "title": "Fill images payload" + }, + "FillImageResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" }, - "Placement": { - "properties": { - "inset": { - "allOf": [ - { - "$ref": "#/components/schemas/PlacementInset" - } - ], - "title": "Margin values in target size", - "description": "Margin values in target size" - } - }, - "type": "object", - "required": ["inset"], - "title": "Placement" + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Fill images response." + }, + "GenerateImagesRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" }, - "PlacementInset": { - "properties": { - "left": { - "type": "integer", - "title": "Left Inset", - "description": "The space between left edge of the result image and left edge of the placed object image." - }, - "top": { - "type": "integer", - "title": "Top Inset", - "description": "The space between top edge of the result image and top edge of the placed object image." - }, - "right": { - "type": "integer", - "title": "Right Inset", - "description": "The space between right edge of the result image and right edge of the placed object image." - }, - "bottom": { - "type": "integer", - "title": "Bottom Inset", - "description": "The space between bottom edge of the result image and bottom edge of the placed object image." - } - }, - "type": "object", - "title": "PlacementInset" + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "negativePrompt": { + "type": "string", + "maxLength": 1024, + "title": "Avoid prompt", + "description": "Inference will try to generate against this prompt" + }, + "contentClass": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentClass" + } + ], + "title": "The content class", + "description": "Will guide the generation to being more photographic or more like art" + }, + "visualIntensity": { + "type": "integer", + "maximum": 10, + "minimum": 2, + "title": "Visual Intensity", + "description": "Adjusts the overall intensity of your photo's existing visual characteristic", + "default": 6 + }, + "photoSettings": { + "allOf": [ + { + "$ref": "#/components/schemas/PhotoSettings" + } + ], + "title": "The photo settings", + "description": "This is only valid if contentClass is photo, otherwise it will be ignored" + }, + "styleReference": { + "allOf": [ + { + "$ref": "#/components/schemas/Styles" + } + ], + "title": "The styles to be used for image generation", + "description": "You can specify a preset, a reference image or both" + }, + "promptBiasingLocaleCode": { + "type": "string", + "title": "The locale used for image generations", + "description": "The locale will be used to generate content that is more relevant for user's country and language" + }, + "tileable": { + "type": "boolean", + "title": "If the output image should be tileable or not", + "description": "Control to apply noise-rolling during diffusion (required for text2pattern, text2texture)" + }, + "structureReference": { + "allOf": [ + { + "$ref": "#/components/schemas/StructureReference" + } + ], + "title": "Structure Reference", + "description": "Source Image which will be used for as a reference for structure to have a controlled generation" + } + }, + "type": "object", + "required": ["prompt"], + "title": "Generating images from prompt" + }, + "GenerateImagesResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" }, - "PublicBinary": { - "properties": { - "uploadId": { - "type": "string", - "format": "uuid4", - "title": "The internal id for a storage item", - "description": "This is coming from other outputs" - }, - "url": { - "type": "string", - "maxLength": 2083, - "minLength": 1, - "format": "uri", - "title": "The presigned url", - "description": "This URL will expire in one hour" - } - }, - "type": "object", - "title": "PublicBinary" + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + }, + "promptHasDeniedWords": { + "type": "boolean", + "title": "The prompt had denied words", + "description": "The user may see that the generation does not comply to its full prompt" + }, + "promptHasBlockedArtists": { + "type": "boolean", + "title": "The prompt had artists that were blocked", + "description": "The user may see that the generation does not comply to its full prompt" + }, + "photoSettings": { + "allOf": [ + { + "$ref": "#/components/schemas/PhotoSettings" + } + ], + "title": "The photo settings used for generation", + "description": "Only specified if content class was detected as photo" + }, + "contentClass": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentClass" + } + ], + "title": "The detected content class", + "description": "Will be same as input, if input was specified" + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Generating images from prompt" + }, + "GenerateObjectCompositeRequest": { + "properties": { + "n": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "N will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" }, - "ReplaceBackgroundRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "The prompt", - "description": "The prompt used to generate the image. The longer the prompt - the better" - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/InputImage" - } - ], - "title": "Source image and mask image.", - "description": "Source image from which background needs to be replaced with a optional mask." - }, - "contentInsertion": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentInsertion" - } - ], - "title": "Content Insertion", - "description": "The image to insert the content from" - } - }, - "type": "object", - "required": ["prompt", "image"], - "title": "Background replace payload" + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "inputImage": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImageObjectComposite" + } + ], + "title": "Input Image", + "description": "Input Image" + }, + "prompt": { + "type": "string", + "title": "The prompt", + "description": "The prompt used to generate the background. The longer the prompt - the better" + }, + "placement": { + "allOf": [ + { + "$ref": "#/components/schemas/Placement" + } + ], + "title": "Object placement", + "description": "Determines placement of object in output image" + } + }, + "type": "object", + "required": ["inputImage", "prompt"], + "title": "Generating background for objects from prompt" + }, + "GenerateObjectCompositeResponse": { + "properties": { + "version": { + "type": "string", + "minLength": 0, + "title": "The version", + "description": "The version of the Text to Image feature." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" }, - "ReplaceBackgroundResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - } - }, - "type": "object", - "required": ["size", "outputs"], - "title": "Backgound replace response" + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + } + }, + "type": "object", + "required": ["version", "outputs", "size"], + "title": "Generating object composite from prompt" + }, + "GenerateSimilarImagesRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" }, - "Size": { - "properties": { - "width": { - "type": "integer", - "maximum": 2688, - "minimum": 1, - "title": "The width of the output image" - }, - "height": { - "type": "integer", - "maximum": 2688, - "minimum": 1, - "title": "The height of the output image" - } - }, - "type": "object", - "required": ["width", "height"], - "title": "Size" + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInputImage" + } + ], + "title": "The reference image", + "description": "Firefly will create similar variations" + }, + "tileable": { + "type": "boolean", + "title": "Output image tileability", + "description": "An image is tilable if it can be repeated infinitely in any direction without showing visible seams or edges." + } + }, + "type": "object", + "required": ["image"], + "title": "Generating similar images from a reference image" + }, + "GenerateSimilarImagesResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" }, - "StructureReference": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "A structure reference image", - "description": "Firefly will detect the structure in the image and apply the same in the generated image" - }, - "strength": { - "type": "integer", - "maximum": 2, - "minimum": 0, - "title": "Adherence Threshold", - "description": "Adjusts adherence to structure reference image. 0 means no adherence. 2 means full adherence.", - "default": 1 - } - }, - "type": "object", - "title": "StructureReference" + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Generating similar images response" + }, + "ImageEncodingParameters": { + "properties": { + "jxlImageEncodingParameters": { + "allOf": [ + { + "$ref": "#/components/schemas/JxlImageEncodingParameters" + } + ], + "title": "JXL image encoding parameters", + "description": "Set of parameters for fine-tuning output images in JXL format" + } + }, + "type": "object", + "title": "ImageEncodingParameters" + }, + "InputImageObjectComposite": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source Image", + "description": "Source Image" + }, + "backgroundMask": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Background Mask", + "description": "Background Mask" + } + }, + "type": "object", + "required": ["source"], + "title": "InputImageObjectComposite" + }, + "InputImage": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source image", + "description": "Source image which will be used to expand, fill or generate similar images" + }, + "mask": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Mask image", + "description": "Mask image which will be used replace the backgound of the image" + } + }, + "type": "object", + "required": ["source"], + "title": "InputImage" + }, + "JxlImageEncodingParameters": { + "properties": { + "quality": { + "type": "integer", + "maximum": 100, + "minimum": 0, + "title": "Quality of image encoding", + "description": "The quality of the image, as in JPEG or other formats, worsens as it becomes smaller, with 100 being lossless." + }, + "effort": { + "type": "integer", + "maximum": 9, + "minimum": 3, + "title": "Effort of image encoding", + "description": "Higher effort improves compression ratios and image quality but increases processing time, while lower effort speeds up encoding but may sacrifice quality or file size." + } + }, + "type": "object", + "title": "JxlImageEncodingParameters" + }, + "OutputImage": { + "properties": { + "seed": { + "type": "integer", + "title": "The seed used for the generation", + "description": "The seed description" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "The pre-signed URL used to download the image", + "description": "The URL description" + } + }, + "type": "object", + "required": ["seed", "image"], + "title": "OutputImage" + }, + "PhotoSettings": { + "properties": { + "aperture": { + "type": "number", + "maximum": 22, + "minimum": 1.2, + "title": "The styles to be used for image generation", + "description": "You can specify a preset, a reference image or both" + }, + "shutterSpeed": { + "type": "number", + "maximum": 10, + "minimum": 0.0005, + "title": "Shutter speed, seconds", + "description": "You can use fractions of a second like 1/4000 or whole seconds" + }, + "fieldOfView": { + "type": "integer", + "maximum": 300, + "minimum": 14, + "title": "The field of view, in mm", + "description": "Description TBD" + } + }, + "type": "object", + "required": ["aperture", "shutterSpeed", "fieldOfView"], + "title": "PhotoSettings" + }, + "Placement": { + "properties": { + "inset": { + "allOf": [ + { + "$ref": "#/components/schemas/PlacementInset" + } + ], + "title": "Margin values in target size", + "description": "Margin values in target size" + } + }, + "type": "object", + "required": ["inset"], + "title": "Placement" + }, + "PlacementInset": { + "properties": { + "left": { + "type": "integer", + "title": "Left Inset", + "description": "The space between left edge of the result image and left edge of the placed object image." + }, + "top": { + "type": "integer", + "title": "Top Inset", + "description": "The space between top edge of the result image and top edge of the placed object image." + }, + "right": { + "type": "integer", + "title": "Right Inset", + "description": "The space between right edge of the result image and right edge of the placed object image." + }, + "bottom": { + "type": "integer", + "title": "Bottom Inset", + "description": "The space between bottom edge of the result image and bottom edge of the placed object image." + } + }, + "type": "object", + "title": "PlacementInset" + }, + "PublicBinary": { + "properties": { + "uploadId": { + "type": "string", + "format": "uuid4", + "title": "The internal id for a storage item", + "description": "This is coming from other outputs" + }, + "url": { + "type": "string", + "maxLength": 2083, + "minLength": 1, + "format": "uri", + "title": "The presigned url", + "description": "This URL will expire in one hour" + } + }, + "type": "object", + "title": "PublicBinary" + }, + "ReplaceBackgroundRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" }, - "Styles": { - "properties": { - "presets": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true, - "title": "The style presets", - "description": "You can specify an ID for a style" - }, - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "A style image reference", - "description": "Firefly will detect the style in the image and apply the same style in the generated image" - }, - "strength": { - "type": "integer", - "maximum": 100, - "exclusiveMinimum": 0, - "title": "The strength of the style", - "description": "Desc TBD", - "default": 50 - } - }, - "type": "object", - "title": "Styles" + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImage" + } + ], + "title": "Source image and mask image.", + "description": "Source image from which background needs to be replaced with a optional mask." + }, + "contentInsertion": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentInsertion" + } + ], + "title": "Content Insertion", + "description": "The image to insert the content from" + } + }, + "type": "object", + "required": ["prompt", "image"], + "title": "Background replace payload" + }, + "ReplaceBackgroundResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" }, - "UploadResponse": { - "description": "Upload response", - "type": "object", - "properties": { - "images": { - "type": "array", - "description": "Array of objects containing asset ID", - "items": { - "allOf": [ - { - "$ref": "#/components/schemas/UploadedResource" - } - ] - } - } - } + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Backgound replace response" + }, + "Size": { + "properties": { + "width": { + "type": "integer", + "maximum": 2688, + "minimum": 1, + "title": "The width of the output image" + }, + "height": { + "type": "integer", + "maximum": 2688, + "minimum": 1, + "title": "The height of the output image" + } + }, + "type": "object", + "required": ["width", "height"], + "title": "Size" + }, + "StructureReference": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "A structure reference image", + "description": "Firefly will detect the structure in the image and apply the same in the generated image" + }, + "strength": { + "type": "integer", + "maximum": 2, + "minimum": 0, + "title": "Adherence Threshold", + "description": "Adjusts adherence to structure reference image. 0 means no adherence. 2 means full adherence.", + "default": 1 + } + }, + "type": "object", + "title": "StructureReference" + }, + "Styles": { + "properties": { + "presets": { + "items": { + "type": "string" }, - "UploadedResource": { - "type": "object", - "description": "Uploaded Media Details", - "required": ["id"], - "properties": { - "id": { - "type": "string", - "description": "ID associated with the asset (generate this ID using the upload API).", - "examples": ["REPLACE WITH STRING ID GENERATED FROM UPLOAD IMAGE API"] - } + "type": "array", + "uniqueItems": true, + "title": "The style presets", + "description": "You can specify an ID for a style" + }, + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "A style image reference", + "description": "Firefly will detect the style in the image and apply the same style in the generated image" + }, + "strength": { + "type": "integer", + "maximum": 100, + "exclusiveMinimum": 0, + "title": "The strength of the style", + "description": "Desc TBD", + "default": 50 + } + }, + "type": "object", + "title": "Styles" + }, + "UploadResponse": { + "description": "Upload response", + "type": "object", + "properties": { + "images": { + "type": "array", + "description": "Array of objects containing asset ID", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/UploadedResource" } - }, - "ValidationErrorMessage": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ] - }, - "type": "array", - "title": "Loc" - }, - "msg": { - "type": "string", - "title": "Msg" - }, - "type": { - "type": "string", - "title": "Type" - }, - "ctx": { - "type": "object", - "title": "Ctx" - } - }, - "type": "object", - "required": ["loc", "msg", "type"], - "title": "ValidationErrorMessage" + ] } + } } + }, + "UploadedResource": { + "type": "object", + "description": "Uploaded Media Details", + "required": ["id"], + "properties": { + "id": { + "type": "string", + "description": "ID associated with the asset (generate this ID using the upload API).", + "examples": [ + "REPLACE WITH STRING ID GENERATED FROM UPLOAD IMAGE API" + ] + } + } + }, + "ValidationErrorMessage": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "type": "array", + "title": "Loc" + }, + "msg": { + "type": "string", + "title": "Msg" + }, + "type": { + "type": "string", + "title": "Type" + }, + "ctx": { + "type": "object", + "title": "Ctx" + } + }, + "type": "object", + "required": ["loc", "msg", "type"], + "title": "ValidationErrorMessage" + } } + } } From a378424bbbbc2a95e28fad72688ba125109b8fb4 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 2 May 2024 14:19:18 +0530 Subject: [PATCH 003/106] adding-security-scehma --- static/cliov3-spec-all.json | 4964 +++++++++++++++++------------------ 1 file changed, 2482 insertions(+), 2482 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 709a2afc..6965306a 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1,2517 +1,2517 @@ { "openapi": "3.1.0", "info": { - "version": "1.0.0", - "title": "Firefly APIs", - "description": "REST API for Adobe Firefly for enterprise usage" + "version": "1.0.0", + "title": "Firefly APIs", + "description": "REST API for Adobe Firefly for enterprise usage" }, "servers": [ - { - "url": "https://firefly-api-enterprise-stage.adobe.io", - "description": "Stage endpoint" - } + { + "url": "https://firefly-api-enterprise-stage.adobe.io", + "description": "Stage endpoint" + } ], "security": [ - { - "Authorization": [] - }, - { - "X-Api-Key": [] - } + { + "X-Api-Key": [], + "AccessToken": [] + } ], "tags": [ - { - "name": "public", - "description": "Publically available, reviewed APIs that are ready to be integrated in products" - } + { + "name": "public", + "description": "Publically available, reviewed APIs that are ready to be integrated in products" + } ], "paths": { - "/v3/images/generate": { - "post": { - "tags": ["public"], - "summary": "Generate images API", - "operationId": "generateImages", - "description": "Generate images based on a prompt with optional reference image to match style ", - "requestBody": { - "description": "image generation request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateImagesRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Generate images response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateImagesResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } - } - } - }, - "/v3/images/generate-similar": { - "post": { - "tags": ["public"], - "summary": "Generate Similar Images API", - "operationId": "generateSimilarImages", - "description": "Generate similar images based on a provided image", - "requestBody": { - "description": "Similar image generation request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateSimilarImagesRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Generate similar images response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateSimilarImagesResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } - } - } - }, - "/v3/images/expand": { - "post": { - "tags": ["public"], - "summary": "Expand Image API", - "operationId": "expandImage", - "description": "Expand an image to a new size/aspect ratio ", - "requestBody": { - "description": "image expansion request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExpandImageRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Expand Image Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExpandImageResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } - } - } - }, - "/v3/images/fill": { - "post": { - "tags": ["public"], - "summary": "Fill Image API", - "operationId": "fillImage", - "description": "Fill the masked area of an image with an optional prompt.", - "requestBody": { - "description": "image fill request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FillImageRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Fill Image Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FillImageResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } - } - } - }, - "/v3/images/background-replace": { - "post": { - "tags": ["public"], - "summary": "Background Replace API", - "operationId": "replaceBackground", - "description": "Replace the background of an image with an optional prompt.", - "requestBody": { - "description": "image background replace request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReplaceBackgroundRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Background Replace Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReplaceBackgroundResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } - } - } - }, - "/v2/storage/image": { - "post": { - "tags": ["public"], - "summary": "Upload API", - "operationId": "upload", - "description": "Upload any content, such as images, videos, or documents. This api provides an opaque ID for referencing the uploaded content in other firefly apis. ", - "requestBody": { - "content": { - "image/jpeg": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "image/png": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "image/webp": { - "schema": { - "type": "string", - "format": "binary" - } - } - }, - "description": "Blob created using the image data of types PNG/JPEG/WEBP image, ensure that type is set while creating the blob.", - "required": true - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } - } - } - }, - "/v3/images/generate-object-composite": { - "post": { - "tags": ["v3"], - "summary": "Generate Object Composite API", - "operationId": "generateObjectComposite", - "description": "Generate object composite image based on a prompt with optional reference image to match style", - "requestBody": { - "description": "Object composite generation request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateObjectCompositeRequest" + "/v3/images/generate": { + "post": { + "tags": ["public"], + "summary": "Generate images API", + "operationId": "generateImages", + "description": "Generate images based on a prompt with optional reference image to match style", + "requestBody": { + "description": "image generation request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateImagesRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Generate images response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateImagesResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Generate Object Composite Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateObjectCompositeResponse" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "ApiError": { - "properties": { - "error_code": { - "$ref": "#/components/schemas/ColligoErrorCode" - }, - "message": { - "type": "string", - "title": "Message" - }, - "validation_errors": { - "items": { - "$ref": "#/components/schemas/ValidationErrorMessage" - }, - "type": "array", - "title": "Validation Errors" - }, - "stack_trace": { - "items": { - "type": "string" - }, - "type": "array", - "title": "Stack Trace" - } - }, - "type": "object", - "required": ["error_code"], - "title": "ApiError", - "description": "The error within the error response." - }, - "BaseInputImage": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images" - } - }, - "type": "object", - "required": ["source"], - "title": "BaseInputImage" - }, - "ColligoErrorCode": { - "type": "string", - "enum": [ - "model_not_found", - "model_not_loaded", - "not_implemented", - "validation_error", - "runtime_error", - "cancelled_error", - "timeout_error", - "legal_error", - "prompt_unsafe", - "image_unsafe", - "reference_image_unsafe_error", - "language_not_supported", - "file_not_found", - "job_already_canceled", - "job_canceled", - "job_timeout", - "job_completed", - "unknown_job_id", - "access_error", - "invalid_content_type", - "empty_input_body" - ], - "title": "ColligoErrorCode", - "description": "An enumeration." - }, - "ContentClass": { - "type": "string", - "enum": ["photo", "art", "vector"], - "title": "ContentClass", - "description": "An enumeration." - }, - "ContentInsertion": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source image", - "description": "Source image from which content needs to be inserted" - }, - "strength": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "title": "strength", - "description": "Strength in range 0 to 100. Higher value preverses original content better." - } - }, - "type": "object", - "required": ["source"], - "title": "ContentInsertion" - }, - "ExpandImageRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "Prompt" - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/InputImage" - } - ], - "title": "Input Image", - "description": "Image which we want to expand" - }, - "styleReference": { - "allOf": [ - { - "$ref": "#/components/schemas/Styles" - } - ], - "title": "The styles to be used for image generation", - "description": "You can pass the image in source field which will be used for style reference" - }, - "contentInsertion": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentInsertion" - } - ], - "title": "Content Insertion", - "description": "The image to insert the content from" } - }, - "type": "object", - "required": ["prompt", "image"], - "title": "Images expand payload" }, - "ExpandImageResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" + "/v2/storage/image": { + "post": { + "tags": ["public"], + "summary": "Upload API", + "operationId": "upload", + "description": "Upload any content, such as images, videos, or documents. This api provides an opaque ID for referencing the uploaded content in other firefly apis. ", + "requestBody": { + "content": { + "image/jpeg": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "image/png": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "image/webp": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "description": "Blob created using the image data of types PNG/JPEG/WEBP image, ensure that type is set while creating the blob.", + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." } - }, - "type": "object", - "required": ["size", "outputs"], - "title": "Images expand response" }, - "FillArea": { - "properties": { - "fillMask": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" + "/v3/images/generate-similar": { + "post": { + "tags": ["public"], + "summary": "Generate Similar Images API", + "operationId": "generateSimilarImages", + "description": "Generate similar Images based on the reference image", + "requestBody": { + "description": "Generate similar images request body", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateSimilarImagesRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Generate similar images response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateSimilarImagesResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } } - ], - "title": "Fill Mask", - "description": "User's brushed mask" } - }, - "type": "object", - "title": "FillArea" }, - "FillImageRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "The prompt", - "description": "The prompt used to generate the image. The longer the prompt - the better" - }, - "negativePrompt": { - "type": "string", - "maxLength": 1024, - "title": "Avoid prompt", - "description": "Inference will try to generate against this prompt" - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/InputImage" - } - ], - "title": "Input Image", - "description": "Input image which we want to fill" - }, - "styleReference": { - "allOf": [ - { - "$ref": "#/components/schemas/Styles" - } - ], - "title": "The styles to be used for image generation", - "description": "You can pass the image in source field which will be used for style reference" - }, - "contentInsertion": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentInsertion" + "/v3/images/expand": { + "post": { + "tags": ["public"], + "summary": "Expand Image API", + "operationId": "expandImage", + "description": "Expand an image to a new size/aspect ratio", + "requestBody": { + "description": "image expansion request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExpandImageRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Expand Image Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExpandImageResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } } - ], - "title": "Content Insertion", - "description": "The image to insert the content from" - }, - "promptBiasingLocaleCode": { - "type": "string", - "title": "The locale used for image generations", - "description": "The locale will be used to generate content that is more relevant for user's country and language" } - }, - "type": "object", - "required": ["prompt", "image"], - "title": "Fill images payload" }, - "FillImageResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" + "/v3/images/fill": { + "post": { + "tags": ["public"], + "summary": "Fill Image API", + "operationId": "fillImage", + "description": "Fill the masked area of an image with an optional prompt", + "requestBody": { + "description": "image fill request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FillImageRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Fill Image Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FillImageResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." } - }, - "type": "object", - "required": ["size", "outputs"], - "title": "Fill images response." }, - "GenerateImagesRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "The prompt", - "description": "The prompt used to generate the image. The longer the prompt - the better" - }, - "negativePrompt": { - "type": "string", - "maxLength": 1024, - "title": "Avoid prompt", - "description": "Inference will try to generate against this prompt" - }, - "contentClass": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentClass" - } - ], - "title": "The content class", - "description": "Will guide the generation to being more photographic or more like art" - }, - "visualIntensity": { - "type": "integer", - "maximum": 10, - "minimum": 2, - "title": "Visual Intensity", - "description": "Adjusts the overall intensity of your photo's existing visual characteristic", - "default": 6 - }, - "photoSettings": { - "allOf": [ - { - "$ref": "#/components/schemas/PhotoSettings" - } - ], - "title": "The photo settings", - "description": "This is only valid if contentClass is photo, otherwise it will be ignored" - }, - "styleReference": { - "allOf": [ - { - "$ref": "#/components/schemas/Styles" - } - ], - "title": "The styles to be used for image generation", - "description": "You can specify a preset, a reference image or both" - }, - "promptBiasingLocaleCode": { - "type": "string", - "title": "The locale used for image generations", - "description": "The locale will be used to generate content that is more relevant for user's country and language" - }, - "tileable": { - "type": "boolean", - "title": "If the output image should be tileable or not", - "description": "Control to apply noise-rolling during diffusion (required for text2pattern, text2texture)" - }, - "structureReference": { - "allOf": [ - { - "$ref": "#/components/schemas/StructureReference" + "/v3/images/background-replace": { + "post": { + "tags": ["public"], + "summary": "Background Replace API", + "operationId": "replaceBackground", + "description": "Replace background of an image with a prompt", + "requestBody": { + "description": "image background replace request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReplaceBackgroundRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Background Replace Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReplaceBackgroundResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + } } - ], - "title": "Structure Reference", - "description": "Source Image which will be used for as a reference for structure to have a controlled generation" } - }, - "type": "object", - "required": ["prompt"], - "title": "Generating images from prompt" }, - "GenerateImagesResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" + "/v3/images/generate-object-composite": { + "post": { + "tags": ["v3"], + "summary": "Generate Object Composite API", + "operationId": "generateObjectComposite", + "description": "Create object composites by placing an object in a desired position and generating backgrounds with a prompt", + "requestBody": { + "description": "Object composite generation request body.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateObjectCompositeRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Generate Object Composite Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateObjectCompositeResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "unknown_job_id" + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "model_not_loaded" + } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "not_implemented" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "language_not_supported" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "runtime_error" + } + } + } + }, + "499": { + "description": "Additional Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "cancelled_error" + } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "timeout_error" + } + } + } + }, + "451": { + "description": "Unavailable For Legal Reasons", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "reference_image_unsafe_error" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_completed" + } + } + } + }, + "410": { + "description": "Gone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "job_timeout" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "access_error" + } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "invalid_content_type" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "example": { + "error_code": "empty_input_body" + } + } + } + } } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - }, - "promptHasDeniedWords": { - "type": "boolean", - "title": "The prompt had denied words", - "description": "The user may see that the generation does not comply to its full prompt" - }, - "promptHasBlockedArtists": { - "type": "boolean", - "title": "The prompt had artists that were blocked", - "description": "The user may see that the generation does not comply to its full prompt" - }, - "photoSettings": { - "allOf": [ - { - "$ref": "#/components/schemas/PhotoSettings" - } - ], - "title": "The photo settings used for generation", - "description": "Only specified if content class was detected as photo" - }, - "contentClass": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentClass" - } - ], - "title": "The detected content class", - "description": "Will be same as input, if input was specified" } - }, - "type": "object", - "required": ["size", "outputs"], - "title": "Generating images from prompt" - }, - "GenerateObjectCompositeRequest": { - "properties": { - "n": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "N will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "inputImage": { - "allOf": [ - { - "$ref": "#/components/schemas/InputImageObjectComposite" - } - ], - "title": "Input Image", - "description": "Input Image" - }, - "prompt": { - "type": "string", - "title": "The prompt", - "description": "The prompt used to generate the background. The longer the prompt - the better" - }, - "placement": { - "allOf": [ - { - "$ref": "#/components/schemas/Placement" - } - ], - "title": "Object placement", - "description": "Determines placement of object in output image" - } - }, - "type": "object", - "required": ["inputImage", "prompt"], - "title": "Generating background for objects from prompt" - }, - "GenerateObjectCompositeResponse": { - "properties": { - "version": { - "type": "string", - "minLength": 0, - "title": "The version", - "description": "The version of the Text to Image feature." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - } - }, - "type": "object", - "required": ["version", "outputs", "size"], - "title": "Generating object composite from prompt" - }, - "GenerateSimilarImagesRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInputImage" - } - ], - "title": "The reference image", - "description": "Firefly will create similar variations" - }, - "tileable": { - "type": "boolean", - "title": "Output image tileability", - "description": "An image is tilable if it can be repeated infinitely in any direction without showing visible seams or edges." - } - }, - "type": "object", - "required": ["image"], - "title": "Generating similar images from a reference image" - }, - "GenerateSimilarImagesResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - } - }, - "type": "object", - "required": ["size", "outputs"], - "title": "Generating similar images response" - }, - "ImageEncodingParameters": { - "properties": { - "jxlImageEncodingParameters": { - "allOf": [ - { - "$ref": "#/components/schemas/JxlImageEncodingParameters" - } - ], - "title": "JXL image encoding parameters", - "description": "Set of parameters for fine-tuning output images in JXL format" - } - }, - "type": "object", - "title": "ImageEncodingParameters" - }, - "InputImageObjectComposite": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source Image", - "description": "Source Image" - }, - "backgroundMask": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Background Mask", - "description": "Background Mask" - } - }, - "type": "object", - "required": ["source"], - "title": "InputImageObjectComposite" - }, - "InputImage": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images" - }, - "mask": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Mask image", - "description": "Mask image which will be used replace the backgound of the image" - } - }, - "type": "object", - "required": ["source"], - "title": "InputImage" - }, - "JxlImageEncodingParameters": { - "properties": { - "quality": { - "type": "integer", - "maximum": 100, - "minimum": 0, - "title": "Quality of image encoding", - "description": "The quality of the image, as in JPEG or other formats, worsens as it becomes smaller, with 100 being lossless." - }, - "effort": { - "type": "integer", - "maximum": 9, - "minimum": 3, - "title": "Effort of image encoding", - "description": "Higher effort improves compression ratios and image quality but increases processing time, while lower effort speeds up encoding but may sacrifice quality or file size." - } - }, - "type": "object", - "title": "JxlImageEncodingParameters" - }, - "OutputImage": { - "properties": { - "seed": { - "type": "integer", - "title": "The seed used for the generation", - "description": "The seed description" - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "The pre-signed URL used to download the image", - "description": "The URL description" - } - }, - "type": "object", - "required": ["seed", "image"], - "title": "OutputImage" - }, - "PhotoSettings": { - "properties": { - "aperture": { - "type": "number", - "maximum": 22, - "minimum": 1.2, - "title": "The styles to be used for image generation", - "description": "You can specify a preset, a reference image or both" - }, - "shutterSpeed": { - "type": "number", - "maximum": 10, - "minimum": 0.0005, - "title": "Shutter speed, seconds", - "description": "You can use fractions of a second like 1/4000 or whole seconds" - }, - "fieldOfView": { - "type": "integer", - "maximum": 300, - "minimum": 14, - "title": "The field of view, in mm", - "description": "Description TBD" - } - }, - "type": "object", - "required": ["aperture", "shutterSpeed", "fieldOfView"], - "title": "PhotoSettings" - }, - "Placement": { - "properties": { - "inset": { - "allOf": [ - { - "$ref": "#/components/schemas/PlacementInset" - } - ], - "title": "Margin values in target size", - "description": "Margin values in target size" - } - }, - "type": "object", - "required": ["inset"], - "title": "Placement" - }, - "PlacementInset": { - "properties": { - "left": { - "type": "integer", - "title": "Left Inset", - "description": "The space between left edge of the result image and left edge of the placed object image." - }, - "top": { - "type": "integer", - "title": "Top Inset", - "description": "The space between top edge of the result image and top edge of the placed object image." - }, - "right": { - "type": "integer", - "title": "Right Inset", - "description": "The space between right edge of the result image and right edge of the placed object image." - }, - "bottom": { - "type": "integer", - "title": "Bottom Inset", - "description": "The space between bottom edge of the result image and bottom edge of the placed object image." - } - }, - "type": "object", - "title": "PlacementInset" - }, - "PublicBinary": { - "properties": { - "uploadId": { - "type": "string", - "format": "uuid4", - "title": "The internal id for a storage item", - "description": "This is coming from other outputs" - }, - "url": { - "type": "string", - "maxLength": 2083, - "minLength": 1, - "format": "uri", - "title": "The presigned url", - "description": "This URL will expire in one hour" - } - }, - "type": "object", - "title": "PublicBinary" - }, - "ReplaceBackgroundRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "The prompt", - "description": "The prompt used to generate the image. The longer the prompt - the better" - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/InputImage" - } - ], - "title": "Source image and mask image.", - "description": "Source image from which background needs to be replaced with a optional mask." - }, - "contentInsertion": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentInsertion" - } - ], - "title": "Content Insertion", - "description": "The image to insert the content from" - } - }, - "type": "object", - "required": ["prompt", "image"], - "title": "Background replace payload" - }, - "ReplaceBackgroundResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - } - }, - "type": "object", - "required": ["size", "outputs"], - "title": "Backgound replace response" - }, - "Size": { - "properties": { - "width": { - "type": "integer", - "maximum": 2688, - "minimum": 1, - "title": "The width of the output image" - }, - "height": { - "type": "integer", - "maximum": 2688, - "minimum": 1, - "title": "The height of the output image" - } - }, - "type": "object", - "required": ["width", "height"], - "title": "Size" - }, - "StructureReference": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "A structure reference image", - "description": "Firefly will detect the structure in the image and apply the same in the generated image" - }, - "strength": { - "type": "integer", - "maximum": 2, - "minimum": 0, - "title": "Adherence Threshold", - "description": "Adjusts adherence to structure reference image. 0 means no adherence. 2 means full adherence.", - "default": 1 - } - }, - "type": "object", - "title": "StructureReference" - }, - "Styles": { - "properties": { - "presets": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true, - "title": "The style presets", - "description": "You can specify an ID for a style" - }, - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "A style image reference", - "description": "Firefly will detect the style in the image and apply the same style in the generated image" - }, - "strength": { - "type": "integer", - "maximum": 100, - "exclusiveMinimum": 0, - "title": "The strength of the style", - "description": "Desc TBD", - "default": 50 - } - }, - "type": "object", - "title": "Styles" - }, - "UploadResponse": { - "description": "Upload response", - "type": "object", - "properties": { - "images": { - "type": "array", - "description": "Array of objects containing asset ID", - "items": { - "allOf": [ - { - "$ref": "#/components/schemas/UploadedResource" - } - ] - } - } - } - }, - "UploadedResource": { - "type": "object", - "description": "Uploaded Media Details", - "required": ["id"], - "properties": { - "id": { - "type": "string", - "description": "ID associated with the asset (generate this ID using the upload API).", - "examples": [ - "REPLACE WITH STRING ID GENERATED FROM UPLOAD IMAGE API" - ] - } - } + } + }, + "components": { + "securitySchemes": { + "AccessToken": { + "type": "http", + "scheme": "bearer" }, - "ValidationErrorMessage": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ] - }, - "type": "array", - "title": "Loc" - }, - "msg": { - "type": "string", - "title": "Msg" - }, - "type": { - "type": "string", - "title": "Type" - }, - "ctx": { - "type": "object", - "title": "Ctx" + "X-Api-Key": { + "type": "apiKey", + "name": "x-api-key", + "in": "header" + } + }, + "schemas": { + "ApiError": { + "properties": { + "error_code": { + "$ref": "#/components/schemas/ErrorCode" + }, + "message": { + "type": "string", + "title": "Message" + }, + "validation_errors": { + "items": { + "$ref": "#/components/schemas/ValidationErrorMessage" + }, + "type": "array", + "title": "Validation Errors" + }, + "stack_trace": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Stack Trace" + } + }, + "type": "object", + "required": ["error_code"], + "title": "ApiError", + "description": "The error within the error response." + }, + "BaseInputImage": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source image", + "description": "Source image which will be used to expand, fill or generate similar images" + } + }, + "type": "object", + "required": ["source"], + "title": "BaseInputImage", + "description": "Source image which will be used to expand, fill or generate similar images" + }, + "ErrorCode": { + "type": "string", + "enum": [ + "model_not_found", + "model_not_loaded", + "not_implemented", + "validation_error", + "runtime_error", + "cancelled_error", + "timeout_error", + "legal_error", + "prompt_unsafe", + "image_unsafe", + "reference_image_unsafe_error", + "language_not_supported", + "file_not_found", + "job_already_canceled", + "job_canceled", + "job_timeout", + "job_completed", + "unknown_job_id", + "access_error", + "invalid_content_type", + "empty_input_body" + ], + "title": "ErrorCode", + "description": "An enumeration." + }, + "ContentClass": { + "type": "string", + "enum": ["photo", "art", "vector"], + "title": "ContentClass", + "description": "The content class guides the overall image theme and styles can be applied on top of each content type. If no content type is specified, it is auto-detected. \n | Value | Description\n |:---------- |:------\n | photo | Photorealistic style\n | art | Artistic style\n | vector | Vector style\n" + }, + "ContentInsertion": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source image", + "description": "Source image from which content needs to be inserted" + }, + "strength": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "title": "strength", + "description": "Strength in range 0 to 100. Higher value preverses original content better." + } + }, + "type": "object", + "required": ["source"], + "title": "ContentInsertion" + }, + "ExpandImageRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "Prompt" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImage" + } + ], + "title": "Input Image", + "description": "Image which we want to expand" + }, + "styleReference": { + "allOf": [ + { + "$ref": "#/components/schemas/Styles" + } + ], + "title": "The styles to be used for image generation", + "description": "You can pass the image in source field which will be used for style reference" + }, + "contentInsertion": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentInsertion" + } + ], + "title": "Content Insertion", + "description": "The image to insert the content from" + } + }, + "type": "object", + "required": ["prompt", "image"], + "description": "Images expand payload" + }, + "ExpandImageResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Images expand response", + "description": "Expand Image response" + }, + "FillImageRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "negativePrompt": { + "type": "string", + "maxLength": 1024, + "title": "Avoid prompt", + "description": "Inference will try to generate against this prompt" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImage" + } + ], + "title": "Input Image", + "description": "Input image which we want to fill" + }, + "styleReference": { + "allOf": [ + { + "$ref": "#/components/schemas/Styles" + } + ], + "title": "The styles to be used for image generation", + "description": "You can pass the image in source field which will be used for style reference" + }, + "contentInsertion": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentInsertion" + } + ], + "title": "Content Insertion", + "description": "The image to insert the content from" + }, + "promptBiasingLocaleCode": { + "type": "string", + "title": "The locale used for image generations", + "description": "The locale will be used to generate content that is more relevant for user's country and language" + } + }, + "type": "object", + "required": ["prompt", "image"], + "description": "Fill images payload" + }, + "FillImageResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "description": "Fill images response" + }, + "GenerateImagesRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "negativePrompt": { + "type": "string", + "maxLength": 1024, + "title": "Avoid prompt", + "description": "Inference will try to generate against this prompt" + }, + "contentClass": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentClass" + } + ], + "title": "The content class", + "description": "Will guide the generation to being more photographic or more like art" + }, + "visualIntensity": { + "type": "integer", + "maximum": 10, + "minimum": 2, + "title": "Visual Intensity", + "description": "Adjusts the overall intensity of your photo's existing visual characteristic", + "default": 6 + }, + "photoSettings": { + "allOf": [ + { + "$ref": "#/components/schemas/PhotoSettings" + } + ], + "title": "The photo settings", + "description": "This is only valid if contentClass is photo, otherwise it will be ignored" + }, + "styleReference": { + "allOf": [ + { + "$ref": "#/components/schemas/Styles" + } + ], + "title": "The styles to be used for image generation", + "description": "You can specify a preset, a reference image or both" + }, + "promptBiasingLocaleCode": { + "type": "string", + "title": "The locale used for image generations", + "description": "The locale will be used to generate content that is more relevant for user's country and language" + }, + "tileable": { + "type": "boolean", + "title": "If the output image should be tileable or not", + "description": "Control to apply noise-rolling during diffusion (required for text2pattern, text2texture)" + }, + "structureReference": { + "allOf": [ + { + "$ref": "#/components/schemas/StructureReference" + } + ], + "title": "Structure Reference", + "description": "Source Image which will be used for as a reference for structure to have a controlled generation" + } + }, + "type": "object", + "required": ["prompt"], + "description": "Generating images from prompt" + }, + "GenerateImagesResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + }, + "promptHasDeniedWords": { + "type": "boolean", + "title": "The prompt had denied words", + "description": "The user may see that the generation does not comply to its full prompt" + }, + "promptHasBlockedArtists": { + "type": "boolean", + "title": "The prompt had artists that were blocked", + "description": "The user may see that the generation does not comply to its full prompt" + }, + "photoSettings": { + "allOf": [ + { + "$ref": "#/components/schemas/PhotoSettings" + } + ], + "title": "The photo settings used for generation", + "description": "Only specified if content class was detected as photo" + }, + "contentClass": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentClass" + } + ], + "title": "The detected content class", + "description": "Will be same as input, if input was specified" + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Generating images from prompt", + "description": "text-to-image response" + }, + "GenerateObjectCompositeRequest": { + "properties": { + "n": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "N will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/ObjectCompositeInputImage" + } + ], + "title": "Input Image", + "description": "Input Image" + }, + "prompt": { + "type": "string", + "title": "The prompt", + "description": "The prompt used to generate the background. The longer the prompt - the better" + }, + "placement": { + "allOf": [ + { + "$ref": "#/components/schemas/Placement" + } + ], + "title": "Object placement", + "description": "Determines placement of object in output image" + } + }, + "type": "object", + "required": ["image", "prompt"], + "title": "GenerateObjectCompositeRequest", + "description": "Generating object composite from prompt" + }, + "GenerateObjectCompositeResponse": { + "properties": { + "version": { + "type": "string", + "minLength": 0, + "title": "The version", + "description": "The version of the Text to Image feature." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + } + }, + "type": "object", + "required": ["version", "outputs", "size"], + "title": "GenerateObjectCompositeResponse", + "description": "Generating object composite from prompt" + }, + "GenerateSimilarImagesRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInputImage" + } + ], + "title": "The reference image", + "description": "Firefly will create similar variations" + }, + "tileable": { + "type": "boolean", + "title": "Output image tileability", + "description": "An image is tilable if it can be repeated infinitely in any direction without showing visible seams or edges." + } + }, + "type": "object", + "required": ["image"], + "title": "GenerateSimilarImagesRequest", + "description": "Generating similar images from a reference image" + }, + "GenerateSimilarImagesResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "GenerateSimilarImagesResponse", + "description": "Generating similar images response" + }, + "ImageEncodingParameters": { + "properties": { + "jxlImageEncodingParameters": { + "allOf": [ + { + "$ref": "#/components/schemas/JxlImageEncodingParameters" + } + ], + "title": "JXL image encoding parameters", + "description": "Set of parameters for fine-tuning output images in JXL format" + } + }, + "type": "object", + "title": "ImageEncodingParameters" + }, + "ObjectCompositeInputImage": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source Image", + "description": "Source Image" + }, + "mask": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Background Mask", + "description": "Background Mask" + } + }, + "type": "object", + "required": ["source"], + "title": "InputImageObjectComposite" + }, + "InputImage": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source image", + "description": "Source image which will be used to expand, fill or generate similar images" + }, + "mask": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Mask image", + "description": "Mask image which will be used replace the backgound of the image" + } + }, + "type": "object", + "required": ["source"], + "title": "InputImage" + }, + "JxlImageEncodingParameters": { + "properties": { + "quality": { + "type": "integer", + "maximum": 100, + "minimum": 0, + "title": "Quality of image encoding", + "description": "The quality of the image, as in JPEG or other formats, worsens as it becomes smaller, with 100 being lossless." + }, + "effort": { + "type": "integer", + "maximum": 9, + "minimum": 3, + "title": "Effort of image encoding", + "description": "Higher effort improves compression ratios and image quality but increases processing time, while lower effort speeds up encoding but may sacrifice quality or file size." + } + }, + "type": "object", + "title": "JxlImageEncodingParameters" + }, + "OutputImage": { + "properties": { + "seed": { + "type": "integer", + "title": "The seed used for the generation", + "description": "The seed description" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "The pre-signed URL used to download the image", + "description": "The URL description" + } + }, + "type": "object", + "required": ["seed", "image"], + "title": "OutputImage" + }, + "PhotoSettings": { + "properties": { + "aperture": { + "type": "number", + "maximum": 22, + "minimum": 1.2, + "title": "The styles to be used for image generation", + "description": "You can specify a preset, a reference image or both" + }, + "shutterSpeed": { + "type": "number", + "maximum": 10, + "minimum": 0.0005, + "title": "Shutter speed, seconds", + "description": "You can use fractions of a second like 1/4000 or whole seconds" + }, + "fieldOfView": { + "type": "integer", + "maximum": 300, + "minimum": 14, + "title": "The field of view, in mm", + "description": "Description TBD" + } + }, + "type": "object", + "required": ["aperture", "shutterSpeed", "fieldOfView"], + "title": "PhotoSettings" + }, + "Placement": { + "properties": { + "inset": { + "allOf": [ + { + "$ref": "#/components/schemas/PlacementInset" + } + ], + "title": "Margin values in target size", + "description": "Margin values in target size" + } + }, + "type": "object", + "required": ["inset"], + "title": "Placement" + }, + "PlacementInset": { + "properties": { + "left": { + "type": "integer", + "title": "Left Inset", + "description": "The space between left edge of the result image and left edge of the placed object image." + }, + "top": { + "type": "integer", + "title": "Top Inset", + "description": "The space between top edge of the result image and top edge of the placed object image." + }, + "right": { + "type": "integer", + "title": "Right Inset", + "description": "The space between right edge of the result image and right edge of the placed object image." + }, + "bottom": { + "type": "integer", + "title": "Bottom Inset", + "description": "The space between bottom edge of the result image and bottom edge of the placed object image." + } + }, + "type": "object", + "title": "PlacementInset" + }, + "PublicBinary": { + "properties": { + "uploadId": { + "type": "string", + "format": "uuid4", + "title": "The internal id for a storage item", + "description": "This is coming from other outputs" + }, + "url": { + "type": "string", + "maxLength": 2083, + "minLength": 1, + "format": "uri", + "title": "The presigned url", + "description": "This URL will expire in one hour" + } + }, + "type": "object", + "title": "PublicBinary" + }, + "ReplaceBackgroundRequest": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with n, the number of seeds must be the equal to n" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImage" + } + ], + "title": "Source image and mask image.", + "description": "Source image from which background needs to be replaced with a optional mask." + }, + "contentInsertion": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentInsertion" + } + ], + "title": "Content Insertion", + "description": "The image to insert the content from" + } + }, + "type": "object", + "required": ["prompt", "image"], + "title": "Background replace payload" + }, + "ReplaceBackgroundResponse": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." + }, + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": ["size", "outputs"], + "title": "Backgound replace response" + }, + "Size": { + "properties": { + "width": { + "type": "integer", + "maximum": 2688, + "minimum": 1, + "title": "The width of the output image" + }, + "height": { + "type": "integer", + "maximum": 2688, + "minimum": 1, + "title": "The height of the output image" + } + }, + "description": "Dimensions of the generated image\n | Dimensions | Description | \n | -----------| ----- |\n | { \"width\": 2048, \"height\": 2048} | Square (1:1) |\n | { \"width\": 2304, \"height\": 1792 } | Landscape (4:3) |\n | { \"width\": 1792, \"height\": 2304 } | Portrait (3:4) | \n | { \"width\": 2688, \"height\": 1536 } | Widescreen (16:9) |\n", + "type": "object", + "required": ["width", "height"], + "title": "Size" + }, + "StructureReference": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "A structure reference image", + "description": "Firefly will detect the structure in the image and apply the same in the generated image" + }, + "strength": { + "type": "integer", + "maximum": 2, + "minimum": 0, + "title": "Adherence Threshold", + "description": "Adjusts adherence to structure reference image. 0 means no adherence. 2 means full adherence.", + "default": 1 + } + }, + "type": "object", + "title": "StructureReference" + }, + "Styles": { + "properties": { + "presets": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true, + "title": "The style presets", + "description": "You can specify an ID for a style" + }, + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "A style image reference", + "description": "Firefly will detect the style in the image and apply the same style in the generated image" + }, + "strength": { + "type": "integer", + "maximum": 100, + "exclusiveMinimum": 0, + "title": "The strength of the style", + "description": "Desc TBD", + "default": 50 + } + }, + "type": "object", + "title": "Styles" + }, + "UploadResponse": { + "description": "Upload response", + "type": "object", + "properties": { + "images": { + "type": "array", + "description": "Array of objects containing asset ID", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/UploadedResource" + } + ] + } + } + } + }, + "UploadedResource": { + "type": "object", + "description": "Uploaded Media Details", + "required": ["id"], + "properties": { + "id": { + "type": "string", + "description": "ID associated with the asset (generate this ID using the upload API).", + "examples": ["REPLACE WITH STRING ID GENERATED FROM UPLOAD IMAGE API"] + } + } + }, + "ValidationErrorMessage": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "type": "array", + "title": "Loc" + }, + "msg": { + "type": "string", + "title": "Msg" + }, + "type": { + "type": "string", + "title": "Type" + }, + "ctx": { + "type": "object", + "title": "Ctx" + } + }, + "type": "object", + "required": ["loc", "msg", "type"], + "title": "ValidationErrorMessage" } - }, - "type": "object", - "required": ["loc", "msg", "type"], - "title": "ValidationErrorMessage" } - } } -} +} \ No newline at end of file From fa45a4f9cfa14d151f75cc1524ef3379841ccb8e Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 2 May 2024 17:15:33 +0530 Subject: [PATCH 004/106] update-spec --- static/cliov3-spec-all.json | 7 ------- 1 file changed, 7 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 6965306a..cf17aeef 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -26,7 +26,6 @@ "paths": { "/v3/images/generate": { "post": { - "tags": ["public"], "summary": "Generate images API", "operationId": "generateImages", "description": "Generate images based on a prompt with optional reference image to match style", @@ -226,7 +225,6 @@ }, "/v2/storage/image": { "post": { - "tags": ["public"], "summary": "Upload API", "operationId": "upload", "description": "Upload any content, such as images, videos, or documents. This api provides an opaque ID for referencing the uploaded content in other firefly apis. ", @@ -439,7 +437,6 @@ }, "/v3/images/generate-similar": { "post": { - "tags": ["public"], "summary": "Generate Similar Images API", "operationId": "generateSimilarImages", "description": "Generate similar Images based on the reference image", @@ -639,7 +636,6 @@ }, "/v3/images/expand": { "post": { - "tags": ["public"], "summary": "Expand Image API", "operationId": "expandImage", "description": "Expand an image to a new size/aspect ratio", @@ -839,7 +835,6 @@ }, "/v3/images/fill": { "post": { - "tags": ["public"], "summary": "Fill Image API", "operationId": "fillImage", "description": "Fill the masked area of an image with an optional prompt", @@ -1039,7 +1034,6 @@ }, "/v3/images/background-replace": { "post": { - "tags": ["public"], "summary": "Background Replace API", "operationId": "replaceBackground", "description": "Replace background of an image with a prompt", @@ -1239,7 +1233,6 @@ }, "/v3/images/generate-object-composite": { "post": { - "tags": ["v3"], "summary": "Generate Object Composite API", "operationId": "generateObjectComposite", "description": "Create object composites by placing an object in a desired position and generating backgrounds with a prompt", From 8797cbd0e0e5f666faf5c1f84b4d6a9595ccc49f Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 2 May 2024 17:28:50 +0530 Subject: [PATCH 005/106] remove-public-tag --- static/cliov3-spec-all.json | 6 ------ 1 file changed, 6 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index cf17aeef..e1e42e62 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -17,12 +17,6 @@ "AccessToken": [] } ], - "tags": [ - { - "name": "public", - "description": "Publically available, reviewed APIs that are ready to be integrated in products" - } - ], "paths": { "/v3/images/generate": { "post": { From d7b7b7ebeb5ac18d2955b472248c02bb0979cc95 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 14:40:36 +0530 Subject: [PATCH 006/106] Added-numVariations --- static/cliov3-spec-all.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index e1e42e62..26a83fff 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1907,12 +1907,12 @@ }, "GenerateObjectCompositeRequest": { "properties": { - "n": { + "numVariations": { "type": "integer", "maximum": 4, "minimum": 1, "title": "The number of variations", - "description": "N will default to the number of seeds, or to 1 if seeds is not specified." + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." }, "seeds": { "items": { From 895211cf2b7a1c809a24f43302be9c2ee541a9b9 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 15:46:58 +0530 Subject: [PATCH 007/106] remove-version-param --- static/cliov3-spec-all.json | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 26a83fff..c0a1aacf 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1969,12 +1969,6 @@ }, "GenerateObjectCompositeResponse": { "properties": { - "version": { - "type": "string", - "minLength": 0, - "title": "The version", - "description": "The version of the Text to Image feature." - }, "outputs": { "items": { "$ref": "#/components/schemas/OutputImage" @@ -1995,7 +1989,7 @@ } }, "type": "object", - "required": ["version", "outputs", "size"], + "required": ["outputs", "size"], "title": "GenerateObjectCompositeResponse", "description": "Generating object composite from prompt" }, From 04a969353c0aac131a3c7d5fc5484d883b4d744a Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 16:03:33 +0530 Subject: [PATCH 008/106] update-description --- static/cliov3-spec-all.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index c0a1aacf..71e9bc9b 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -221,7 +221,7 @@ "post": { "summary": "Upload API", "operationId": "upload", - "description": "Upload any content, such as images, videos, or documents. This api provides an opaque ID for referencing the uploaded content in other firefly apis. ", + "description": "Upload source image or mask for Image-to-Image operations, such as fill, expand. This api returns an identifier that is used to refer to uploaded content.", "requestBody": { "content": { "image/jpeg": { @@ -1559,7 +1559,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" + "description": "If specified alongside with numVariations, the number of seeds must be the equal to n" }, "size": { "allOf": [ From 1f76a7a5a61c5ccc8ba02267c5ed97848522e985 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 16:09:12 +0530 Subject: [PATCH 009/106] description-change --- static/cliov3-spec-all.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 71e9bc9b..33cab73a 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2253,8 +2253,8 @@ "uploadId": { "type": "string", "format": "uuid4", - "title": "The internal id for a storage item", - "description": "This is coming from other outputs" + "title": "The internal id for a storage item.", + "description": "This is coming from other outputs. Generate this ID using the upload API." }, "url": { "type": "string", From 49ac7c6ed4b9c0df91ed24cf3a758fc1eb135d9a Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 16:18:04 +0530 Subject: [PATCH 010/106] added-seed-description --- static/cliov3-spec-all.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 33cab73a..2715bf0b 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1547,8 +1547,8 @@ "type": "integer", "maximum": 4, "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + "title": "The number of variations.", + "description": "Identifier used to customize image generation processes. numVariations will default to the number of seeds, or to 1 if seeds is not specified." }, "seeds": { "items": { @@ -1559,7 +1559,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with numVariations, the number of seeds must be the equal to n" + "description": "Identifier used to customize image generation processes. If specified alongside with numVariations, the number of seeds must be the equal to n" }, "size": { "allOf": [ @@ -1656,7 +1656,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" + "description": "Identifier used to customize image generation processes. If specified alongside with numVariations, the number of seeds must be the equal to n" }, "size": { "allOf": [ @@ -1764,7 +1764,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" + "description": "Identifier used to customize image generation processes. If specified alongside with n, the number of seeds must be the equal to n" }, "size": { "allOf": [ @@ -1923,7 +1923,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" + "description": "Identifier used to customize image generation processes. If specified alongside with n, the number of seeds must be the equal to n" }, "size": { "allOf": [ @@ -2011,7 +2011,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" + "description": "Identifier used to customize image generation processes. If specified alongside with n, the number of seeds must be the equal to n" }, "size": { "allOf": [ @@ -2162,7 +2162,7 @@ "seed": { "type": "integer", "title": "The seed used for the generation", - "description": "The seed description" + "description": "Identifier used to customize image generation processes." }, "image": { "allOf": [ @@ -2275,7 +2275,7 @@ "maximum": 4, "minimum": 1, "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + "description": "Identifier used to customize image generation processes. numVariations will default to the number of seeds, or to 1 if seeds is not specified." }, "seeds": { "items": { @@ -2286,7 +2286,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with n, the number of seeds must be the equal to n" + "description": "Identifier used to customize image generation processes. If specified alongside with n, the number of seeds must be the equal to n" }, "size": { "allOf": [ From 6041c744e1a3cf64b15faba9bae6f8792db53e45 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 17:03:39 +0530 Subject: [PATCH 011/106] typo-correction --- static/cliov3-spec-all.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 2715bf0b..ae3edfec 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2105,7 +2105,7 @@ } ], "title": "Background Mask", - "description": "Background Mask" + "description": "Background mask. " } }, "type": "object", @@ -2121,7 +2121,7 @@ } ], "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images" + "description": "Source image which will be used to expand, fill or generate similar images." }, "mask": { "allOf": [ @@ -2262,7 +2262,7 @@ "minLength": 1, "format": "uri", "title": "The presigned url", - "description": "This URL will expire in one hour" + "description": "This URL will expire in one hour." } }, "type": "object", From dc34fd6a1d8b533633455714d1ca6336d707f978 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 17:04:55 +0530 Subject: [PATCH 012/106] add-allow-listed-domains --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index ae3edfec..f9ff44f3 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2121,7 +2121,7 @@ } ], "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images." + "description": "Source image which will be used to expand, fill or generate similar images.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "mask": { "allOf": [ From abcfd731af2f895e998530e6d96e19e8698c22d1 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 17:07:51 +0530 Subject: [PATCH 013/106] update-oc-allow-listed --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index f9ff44f3..903a0b0c 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2096,7 +2096,7 @@ } ], "title": "Source Image", - "description": "Source Image" + "description": "Source Image.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "mask": { "allOf": [ From c0f4227eb6e13b51279191ae8f709263f41fb028 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 17:41:44 +0530 Subject: [PATCH 014/106] updating-url-param --- static/cliov3-spec-all.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 903a0b0c..329288f8 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2170,8 +2170,7 @@ "$ref": "#/components/schemas/PublicBinary" } ], - "title": "The pre-signed URL used to download the image", - "description": "The URL description" + "description": "A valid Storage Item containing both an internal ID and a pre-signed URL. The pre-signed URL will expire in one hour." } }, "type": "object", @@ -2262,7 +2261,7 @@ "minLength": 1, "format": "uri", "title": "The presigned url", - "description": "This URL will expire in one hour." + "description": "The Reference to signed url of the image." } }, "type": "object", From a29450fc9a95d6db1cf4dd2b1d576e239cd83a86 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 18:20:43 +0530 Subject: [PATCH 015/106] typo-fix --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 329288f8..ce14cf96 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2261,7 +2261,7 @@ "minLength": 1, "format": "uri", "title": "The presigned url", - "description": "The Reference to signed url of the image." + "description": "The reference to signed url of the image." } }, "type": "object", From 566f963a8af3f723cf7595e1c25a2f35d522c4b1 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 18:23:39 +0530 Subject: [PATCH 016/106] update-image-type --- static/cliov3-spec-all.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index ce14cf96..0fba8027 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -221,7 +221,6 @@ "post": { "summary": "Upload API", "operationId": "upload", - "description": "Upload source image or mask for Image-to-Image operations, such as fill, expand. This api returns an identifier that is used to refer to uploaded content.", "requestBody": { "content": { "image/jpeg": { @@ -243,7 +242,7 @@ } } }, - "description": "Blob created using the image data of types PNG/JPEG/WEBP image, ensure that type is set while creating the blob.", + "description": "Upload source image or mask image of types PNG/JPEG/WEBP for Image-to-Image operations, such as fill, expand. This api returns an identifier that is used to refer to uploaded content.", "required": true }, "responses": { From 7d78b6686461fc78aae2059fc80eb84833ae2399 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 18:27:29 +0530 Subject: [PATCH 017/106] description-update --- static/cliov3-spec-all.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 0fba8027..e8218f10 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -22,7 +22,7 @@ "post": { "summary": "Generate images API", "operationId": "generateImages", - "description": "Generate images based on a prompt with optional reference image to match style", + "description": "Generate images based on a prompt with optional reference image to match style.", "requestBody": { "description": "image generation request body.", "content": { @@ -432,7 +432,7 @@ "post": { "summary": "Generate Similar Images API", "operationId": "generateSimilarImages", - "description": "Generate similar Images based on the reference image", + "description": "Generate similar Images based on the reference image.", "requestBody": { "description": "Generate similar images request body", "content": { @@ -631,7 +631,7 @@ "post": { "summary": "Expand Image API", "operationId": "expandImage", - "description": "Expand an image to a new size/aspect ratio", + "description": "Expand an image to a new size/aspect ratio.", "requestBody": { "description": "image expansion request body.", "content": { @@ -830,7 +830,7 @@ "post": { "summary": "Fill Image API", "operationId": "fillImage", - "description": "Fill the masked area of an image with an optional prompt", + "description": "Fill the masked area of an image with an optional prompt.", "requestBody": { "description": "image fill request body.", "content": { @@ -1029,7 +1029,7 @@ "post": { "summary": "Background Replace API", "operationId": "replaceBackground", - "description": "Replace background of an image with a prompt", + "description": "Replace background of an image with a prompt.", "requestBody": { "description": "image background replace request body.", "content": { @@ -1228,7 +1228,7 @@ "post": { "summary": "Generate Object Composite API", "operationId": "generateObjectComposite", - "description": "Create object composites by placing an object in a desired position and generating backgrounds with a prompt", + "description": "Create images by placing a reference object image(with or without mask) in a desired position and generating backgrounds with a prompt.", "requestBody": { "description": "Object composite generation request body.", "content": { From 341b1e75503481dbec4d8b19c81140ef3ccf0791 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 18:31:43 +0530 Subject: [PATCH 018/106] description-update --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index e8218f10..e41ad494 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1228,7 +1228,7 @@ "post": { "summary": "Generate Object Composite API", "operationId": "generateObjectComposite", - "description": "Create images by placing a reference object image(with or without mask) in a desired position and generating backgrounds with a prompt.", + "description": "Upload an image(with or without mask), such as a product photo, and utilize a text prompt to generate a seamlessly composited scene featuring the product.", "requestBody": { "description": "Object composite generation request body.", "content": { From dfd7519968965974323fe213059ca4ccd1bb3ee9 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 3 May 2024 18:39:15 +0530 Subject: [PATCH 019/106] description-update-expandImage --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index e41ad494..e65271f0 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -631,7 +631,7 @@ "post": { "summary": "Expand Image API", "operationId": "expandImage", - "description": "Expand an image to a new size/aspect ratio.", + "description": "Change the aspect ratio or size of an image and expand its contents with or without a text prompt.", "requestBody": { "description": "image expansion request body.", "content": { From 0af1fa153a122ded5d3aff3c19b251cabe46e5e4 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 13 May 2024 17:12:39 +0530 Subject: [PATCH 020/106] mask-image-specification-update --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index e65271f0..19e1fa1b 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2129,7 +2129,7 @@ } ], "title": "Mask image", - "description": "Mask image which will be used replace the backgound of the image" + "description": "Mask image which will be used replace the backgound of the image.
Note: The minimum accepted size for the larger side of the image is 600 px." } }, "type": "object", From 30be3306e2e8395b16a31b45d598efe75a6ca058 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 13 May 2024 17:19:38 +0530 Subject: [PATCH 021/106] replace-background-apiNameChange --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 19e1fa1b..f6400baf 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1027,7 +1027,7 @@ }, "/v3/images/background-replace": { "post": { - "summary": "Background Replace API", + "summary": "Replace Background API", "operationId": "replaceBackground", "description": "Replace background of an image with a prompt.", "requestBody": { From 928b4e398a9de8e2a75f7307e1b18399ba005462 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 13 May 2024 17:30:40 +0530 Subject: [PATCH 022/106] Revert "mask-image-specification-update" This reverts commit 0af1fa153a122ded5d3aff3c19b251cabe46e5e4. --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index f6400baf..0057df86 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2129,7 +2129,7 @@ } ], "title": "Mask image", - "description": "Mask image which will be used replace the backgound of the image.
Note: The minimum accepted size for the larger side of the image is 600 px." + "description": "Mask image which will be used replace the backgound of the image" } }, "type": "object", From b2c9793230141650c440b222a1286370a83ef2d6 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 13 May 2024 17:31:14 +0530 Subject: [PATCH 023/106] mask-image-specification-update --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 0057df86..4c0fdbea 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2104,7 +2104,7 @@ } ], "title": "Background Mask", - "description": "Background mask. " + "description": "Background mask.
Note: The minimum accepted size for the larger side of the image is 600 px." } }, "type": "object", From 51b86d37d6e92cd948c99fffe2c8e66d45069a5c Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Tue, 14 May 2024 11:35:00 +0530 Subject: [PATCH 024/106] update-description-promptBiasingLocaleCode --- static/cliov3-spec-all.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 4c0fdbea..2374663c 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1712,8 +1712,9 @@ }, "promptBiasingLocaleCode": { "type": "string", - "title": "The locale used for image generations", - "description": "The locale will be used to generate content that is more relevant for user's country and language" + "title": "The locale used for image generations.", + "description": "A hyphen separated string, combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be debiased to generated more relevant content to that region. If not specified, the locale will be auto detected, based on user's profile and Accept-Language header.", + "default": "en-US" } }, "type": "object", From c5d534bb908f268f42675ef4afdca3bf532eb280 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 15 May 2024 17:56:34 +0530 Subject: [PATCH 025/106] update-specs-wip --- static/cliov3-spec-all.json | 3438 +++++++++++++++++------------------ 1 file changed, 1625 insertions(+), 1813 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 2374663c..c3a3c994 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -28,191 +28,194 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateImagesRequest" + "$ref": "#/components/schemas/GenerateImagesRequestV3" } } }, "required": true }, "responses": { - "200": { - "description": "Generate images response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateImagesResponse" - } - } + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateImagesResponseV3" + } } + } }, "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "bad_request": { + "value": { + "error_code": "bad_request" + } } + } } + } }, "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "access_error": { + "value": { + "error_code": "access_error" + } } + } } + } }, "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "timeout_error": { + "value": { + "error_code": "timeout_error" + } } + } } + } }, "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "invalid_content_type": { + "value": { + "error_code": "invalid_content_type" + } } + } } + } }, "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "validation_error": { + "value": { + "error_code": "validation_error", + "validation_errors": [ + { + "loc": [ + "body", + "contentClass" + ], + "msg": "value is not a valid enumeration member; permitted: 'photo', 'art'", + "type": "type_error.enum", + "ctx": { + "enum_values": [ + "photo", + "art" + ] + } + } + ] + } + }, + "prompt_unsafe": { + "value": { + "error_code": "prompt_unsafe" + } + }, + "input_media_unsafe": { + "value": { + "error_code": "input_media_unsafe" + } + }, + "output_media_unsafe": { + "value": { + "error_code": "output_media_unsafe" + } + }, + "language_not_supported": { + "value": { + "error_code": "language_not_supported" + } + } + } + } + } }, "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "runtime_error": { + "value": { + "error_code": "runtime_error" + } } + } } + } }, "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "not_implemented": { + "value": { + "error_code": "not_implemented" + } } + } } + } }, "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "model_not_loaded": { + "value": { + "error_code": "model_not_loaded" + } + } + } + } + } } } } @@ -434,196 +437,198 @@ "operationId": "generateSimilarImages", "description": "Generate similar Images based on the reference image.", "requestBody": { - "description": "Generate similar images request body", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateSimilarImagesRequestV3" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateSimilarImagesRequest" + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateSimilarImagesResponseV3" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "bad_request": { + "value": { + "error_code": "bad_request" } + } } - }, - "required": true - }, - "responses": { - "200": { - "description": "Generate similar images response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateSimilarImagesResponse" - } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "access_error": { + "value": { + "error_code": "access_error" } + } } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "timeout_error": { + "value": { + "error_code": "timeout_error" } + } } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "invalid_content_type": { + "value": { + "error_code": "invalid_content_type" } + } } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "validation_error": { + "value": { + "error_code": "validation_error", + "validation_errors": [ + { + "loc": [ + "body", + "contentClass" + ], + "msg": "value is not a valid enumeration member; permitted: 'photo', 'art'", + "type": "type_error.enum", + "ctx": { + "enum_values": [ + "photo", + "art" + ] + } + } + ] + } + }, + "prompt_unsafe": { + "value": { + "error_code": "prompt_unsafe" + } + }, + "input_media_unsafe": { + "value": { + "error_code": "input_media_unsafe" + } + }, + "output_media_unsafe": { + "value": { + "error_code": "output_media_unsafe" + } + }, + "language_not_supported": { + "value": { + "error_code": "language_not_supported" + } + } + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "runtime_error": { + "value": { + "error_code": "runtime_error" } + } } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "not_implemented": { + "value": { + "error_code": "not_implemented" } + } } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "model_not_loaded": { + "value": { + "error_code": "model_not_loaded" } + } } + } } + } } } }, @@ -633,793 +638,600 @@ "operationId": "expandImage", "description": "Change the aspect ratio or size of an image and expand its contents with or without a text prompt.", "requestBody": { - "description": "image expansion request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExpandImageRequest" - } - } - }, - "required": true + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExpandImageRequestV3" + } + } + }, + "required": true }, "responses": { - "200": { - "description": "Expand Image Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExpandImageResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } - } - } - }, - "/v3/images/fill": { - "post": { - "summary": "Fill Image API", - "operationId": "fillImage", - "description": "Fill the masked area of an image with an optional prompt.", - "requestBody": { - "description": "image fill request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FillImageRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Fill Image Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FillImageResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } - } - } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } - } - } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } - } - } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } - } - } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } - } - } - } - } - } - }, - "/v3/images/background-replace": { - "post": { - "summary": "Replace Background API", - "operationId": "replaceBackground", - "description": "Replace background of an image with a prompt.", - "requestBody": { - "description": "image background replace request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReplaceBackgroundRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Background Replace Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReplaceBackgroundResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } - } - } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } - } - } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } - } + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExpandImageResponseV3" } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "bad_request": { + "value": { + "error_code": "bad_request" } + } } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "access_error": { + "value": { + "error_code": "access_error" } + } } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "timeout_error": { + "value": { + "error_code": "timeout_error" } + } } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "invalid_content_type": { + "value": { + "error_code": "invalid_content_type" } + } } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "validation_error": { + "value": { + "error_code": "validation_error", + "validation_errors": [ + { + "loc": [ + "body", + "contentClass" + ], + "msg": "value is not a valid enumeration member; permitted: 'photo', 'art'", + "type": "type_error.enum", + "ctx": { + "enum_values": [ + "photo", + "art" + ] + } + } + ] + } + }, + "prompt_unsafe": { + "value": { + "error_code": "prompt_unsafe" + } + }, + "input_media_unsafe": { + "value": { + "error_code": "input_media_unsafe" + } + }, + "output_media_unsafe": { + "value": { + "error_code": "output_media_unsafe" + } + }, + "language_not_supported": { + "value": { + "error_code": "language_not_supported" + } + } + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "runtime_error": { + "value": { + "error_code": "runtime_error" } + } } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "not_implemented": { + "value": { + "error_code": "not_implemented" } + } } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "model_not_loaded": { + "value": { + "error_code": "model_not_loaded" } + } } + } } + } } } }, - "/v3/images/generate-object-composite": { + "/v3/images/fill": { "post": { - "summary": "Generate Object Composite API", - "operationId": "generateObjectComposite", - "description": "Upload an image(with or without mask), such as a product photo, and utilize a text prompt to generate a seamlessly composited scene featuring the product.", + "summary": "Fill Image API", + "operationId": "fillImage", + "description": "Fill the masked area of an image with an optional prompt.", "requestBody": { - "description": "Object composite generation request body.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateObjectCompositeRequest" - } - } - }, - "required": true + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FillImageRequestV3" + } + } + }, + "required": true }, "responses": { - "200": { - "description": "Generate Object Composite Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateObjectCompositeResponse" - } - } + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FillImageResponseV3" } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "unknown_job_id" - } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "bad_request": { + "value": { + "error_code": "bad_request" } + } } - }, - "503": { - "description": "Service Unavailable", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "model_not_loaded" - } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "access_error": { + "value": { + "error_code": "access_error" } + } } - }, - "501": { - "description": "Not Implemented", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "not_implemented" - } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "timeout_error": { + "value": { + "error_code": "timeout_error" } + } } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "language_not_supported" - } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "invalid_content_type": { + "value": { + "error_code": "invalid_content_type" } + } } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "runtime_error" - } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "validation_error": { + "value": { + "error_code": "validation_error", + "validation_errors": [ + { + "loc": [ + "body", + "contentClass" + ], + "msg": "value is not a valid enumeration member; permitted: 'photo', 'art'", + "type": "type_error.enum", + "ctx": { + "enum_values": [ + "photo", + "art" + ] + } + } + ] + } + }, + "prompt_unsafe": { + "value": { + "error_code": "prompt_unsafe" + } + }, + "input_media_unsafe": { + "value": { + "error_code": "input_media_unsafe" + } + }, + "output_media_unsafe": { + "value": { + "error_code": "output_media_unsafe" + } + }, + "language_not_supported": { + "value": { + "error_code": "language_not_supported" + } + } + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "runtime_error": { + "value": { + "error_code": "runtime_error" } + } } - }, - "499": { - "description": "Additional Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "cancelled_error" - } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "not_implemented": { + "value": { + "error_code": "not_implemented" } + } } - }, - "408": { - "description": "Request Timeout", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "timeout_error" - } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "model_not_loaded": { + "value": { + "error_code": "model_not_loaded" } + } } - }, - "451": { - "description": "Unavailable For Legal Reasons", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "reference_image_unsafe_error" - } + } + } + } + } + } + }, + "/v3/images/generate-object-composite": { + "post": { + "summary": "Generate Object Composite API", + "operationId": "generateObjectComposite", + "description": "Upload an image(with or without mask), such as a product photo, and utilize a text prompt to generate a seamlessly composited scene featuring the product.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateObjectCompositeRequestV3" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateObjectCompositeResponseV3" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "bad_request": { + "value": { + "error_code": "bad_request" } + } } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_completed" - } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "access_error": { + "value": { + "error_code": "access_error" } + } } - }, - "410": { - "description": "Gone", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "job_timeout" - } + } + } + }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "timeout_error": { + "value": { + "error_code": "timeout_error" } + } } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "access_error" - } + } + } + }, + "415": { + "description": "Unsupported Media Type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "invalid_content_type": { + "value": { + "error_code": "invalid_content_type" } + } } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "invalid_content_type" - } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "validation_error": { + "value": { + "error_code": "validation_error", + "validation_errors": [ + { + "loc": [ + "body", + "contentClass" + ], + "msg": "value is not a valid enumeration member; permitted: 'photo', 'art'", + "type": "type_error.enum", + "ctx": { + "enum_values": [ + "photo", + "art" + ] + } + } + ] + } + }, + "prompt_unsafe": { + "value": { + "error_code": "prompt_unsafe" + } + }, + "input_media_unsafe": { + "value": { + "error_code": "input_media_unsafe" + } + }, + "output_media_unsafe": { + "value": { + "error_code": "output_media_unsafe" + } + }, + "language_not_supported": { + "value": { + "error_code": "language_not_supported" + } + } + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "runtime_error": { + "value": { + "error_code": "runtime_error" } + } } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - }, - "example": { - "error_code": "empty_input_body" - } + } + } + }, + "501": { + "description": "Not Implemented", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "not_implemented": { + "value": { + "error_code": "not_implemented" + } + } + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + }, + "examples": { + "model_not_loaded": { + "value": { + "error_code": "model_not_loaded" } + } } + } } + } } } } @@ -1437,680 +1249,764 @@ } }, "schemas": { - "ApiError": { - "properties": { - "error_code": { - "$ref": "#/components/schemas/ErrorCode" - }, - "message": { - "type": "string", - "title": "Message" - }, - "validation_errors": { - "items": { - "$ref": "#/components/schemas/ValidationErrorMessage" - }, - "type": "array", - "title": "Validation Errors" - }, - "stack_trace": { - "items": { - "type": "string" - }, - "type": "array", - "title": "Stack Trace" - } + "ApiError": { + "properties": { + "error_code": { + "$ref": "#/components/schemas/ColligoErrorCode" }, - "type": "object", - "required": ["error_code"], - "title": "ApiError", - "description": "The error within the error response." + "message": { + "type": "string", + "title": "Message" + }, + "validation_errors": { + "items": { + "$ref": "#/components/schemas/ValidationErrorMessage" + }, + "type": "array", + "title": "Validation Errors" + } + }, + "type": "object", + "required": [ + "error_code" + ], + "title": "ApiError", + "description": "The error within the error response." }, - "BaseInputImage": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images" + "BaseInputImageV3": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" } + ], + "title": "Source image", + "description": "Source image which will be used to expand, fill or generate similar images.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
." + } + }, + "type": "object", + "required": [ + "source" + ], + "title": "BaseInputImageV3" + }, + "Body_expandImagesV3": { + "properties": { + "request": { + "$ref": "#/components/schemas/ExpandImageRequestV3" }, - "type": "object", - "required": ["source"], - "title": "BaseInputImage", - "description": "Source image which will be used to expand, fill or generate similar images" + "files": { + "items": { + "type": "string", + "format": "binary" + }, + "type": "array", + "title": "Files" + } + }, + "type": "object", + "required": [ + "request", + "files" + ], + "title": "Body_expandImagesV3" + }, + "Body_fillImagesV3": { + "properties": { + "request": { + "$ref": "#/components/schemas/FillImageRequestV3" + }, + "files": { + "items": { + "type": "string", + "format": "binary" + }, + "type": "array", + "title": "Files" + } + }, + "type": "object", + "required": [ + "request", + "files" + ], + "title": "Body_fillImagesV3" }, - "ErrorCode": { - "type": "string", - "enum": [ - "model_not_found", - "model_not_loaded", - "not_implemented", - "validation_error", - "runtime_error", - "cancelled_error", - "timeout_error", - "legal_error", - "prompt_unsafe", - "image_unsafe", - "reference_image_unsafe_error", - "language_not_supported", - "file_not_found", - "job_already_canceled", - "job_canceled", - "job_timeout", - "job_completed", - "unknown_job_id", - "access_error", - "invalid_content_type", - "empty_input_body" - ], - "title": "ErrorCode", - "description": "An enumeration." + "Body_generateImagesV3": { + "properties": { + "request": { + "$ref": "#/components/schemas/GenerateImagesRequestV3" + }, + "files": { + "items": { + "type": "string", + "format": "binary" + }, + "type": "array", + "title": "Files" + } + }, + "type": "object", + "required": [ + "request", + "files" + ], + "title": "Body_generateImagesV3" + }, + "Body_generateObjectCompositeV3": { + "properties": { + "request": { + "$ref": "#/components/schemas/GenerateObjectCompositeRequestV3" + }, + "files": { + "items": { + "type": "string", + "format": "binary" + }, + "type": "array", + "title": "Files" + } + }, + "type": "object", + "required": [ + "request", + "files" + ], + "title": "Body_generateObjectCompositeV3" + }, + "Body_generateSimilarImagesV3": { + "properties": { + "request": { + "$ref": "#/components/schemas/GenerateSimilarImagesRequestV3" + }, + "files": { + "items": { + "type": "string", + "format": "binary" + }, + "type": "array", + "title": "Files" + } + }, + "type": "object", + "required": [ + "request", + "files" + ], + "title": "Body_generateSimilarImagesV3" + }, + "ColligoErrorCode": { + "type": "string", + "enum": [ + "model_not_loaded", + "not_implemented", + "validation_error", + "runtime_error", + "timeout_error", + "prompt_unsafe", + "input_media_unsafe", + "output_media_unsafe", + "bad_request", + "language_not_supported", + "access_error", + "invalid_content_type" + ], + "title": "ColligoErrorCode", + "description": "An enumeration." }, "ContentClass": { - "type": "string", - "enum": ["photo", "art", "vector"], - "title": "ContentClass", - "description": "The content class guides the overall image theme and styles can be applied on top of each content type. If no content type is specified, it is auto-detected. \n | Value | Description\n |:---------- |:------\n | photo | Photorealistic style\n | art | Artistic style\n | vector | Vector style\n" + "type": "string", + "enum": [ + "photo", + "art", + "vector" + ], + "title": "ContentClass", + "description": "An enumeration." }, - "ContentInsertion": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source image", - "description": "Source image from which content needs to be inserted" - }, - "strength": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "title": "strength", - "description": "Strength in range 0 to 100. Higher value preverses original content better." + "ContentInsertionV3": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" + } + ], + "title": "Source image", + "description": "Source image from which content needs to be inserted.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + }, + "strength": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "title": "strength", + "description": "Strength in range 0 to 100. Higher value preverses original content better." + } + }, + "type": "object", + "required": [ + "source" + ], + "title": "ContentInsertionV3" + }, + "ExpandImageRequestV3": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with numVariations, the number of seeds must be the equal to numVariations" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } }, - "type": "object", - "required": ["source"], - "title": "ContentInsertion" + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "Prompt" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImage" + } + ], + "title": "Input Image", + "description": "Image which we want to expand" + }, + "contentInsertion": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentInsertionV3" + } + ], + "title": "Content Insertion", + "description": "The image to insert the content from" + } + }, + "type": "object", + "required": [ + "prompt", + "image" + ], + "title": "Images expand payload" }, - "ExpandImageRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations.", - "description": "Identifier used to customize image generation processes. numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "Identifier used to customize image generation processes. If specified alongside with numVariations, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "Prompt" - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/InputImage" - } - ], - "title": "Input Image", - "description": "Image which we want to expand" - }, - "styleReference": { - "allOf": [ - { - "$ref": "#/components/schemas/Styles" - } - ], - "title": "The styles to be used for image generation", - "description": "You can pass the image in source field which will be used for style reference" - }, - "contentInsertion": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentInsertion" - } - ], - "title": "Content Insertion", - "description": "The image to insert the content from" + "ExpandImageResponseV3": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." }, - "type": "object", - "required": ["prompt", "image"], - "description": "Images expand payload" + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": [ + "size", + "outputs" + ], + "title": "Images expand response" }, - "ExpandImageResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." + "FillImageRequestV3": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with numVariations, the number of seeds must be the equal to numVariations" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } }, - "type": "object", - "required": ["size", "outputs"], - "title": "Images expand response", - "description": "Expand Image response" + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "negativePrompt": { + "type": "string", + "maxLength": 1024, + "title": "Avoid prompt", + "description": "Inference will try to generate against this prompt" + }, + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/InputImage" + } + ], + "title": "Input Image", + "description": "Input image to fill with generative content." + }, + "contentInsertion": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentInsertionV3" + } + ], + "title": "Content Insertion", + "description": "The image to insert the content from" + }, + "promptBiasingLocaleCode": { + "type": "string", + "title": "The locale used for image generations", + "description": "The locale will be used to generate content that is more relevant for user's country and language" + } + }, + "type": "object", + "required": [ + "prompt", + "image" + ], + "title": "Fill images payload" }, - "FillImageRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "Identifier used to customize image generation processes. If specified alongside with numVariations, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "The prompt", - "description": "The prompt used to generate the image. The longer the prompt - the better" - }, - "negativePrompt": { - "type": "string", - "maxLength": 1024, - "title": "Avoid prompt", - "description": "Inference will try to generate against this prompt" - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/InputImage" - } - ], - "title": "Input Image", - "description": "Input image which we want to fill" - }, - "styleReference": { - "allOf": [ - { - "$ref": "#/components/schemas/Styles" - } - ], - "title": "The styles to be used for image generation", - "description": "You can pass the image in source field which will be used for style reference" - }, - "contentInsertion": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentInsertion" - } - ], - "title": "Content Insertion", - "description": "The image to insert the content from" - }, - "promptBiasingLocaleCode": { - "type": "string", - "title": "The locale used for image generations.", - "description": "A hyphen separated string, combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be debiased to generated more relevant content to that region. If not specified, the locale will be auto detected, based on user's profile and Accept-Language header.", - "default": "en-US" + "FillImageResponseV3": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." }, - "type": "object", - "required": ["prompt", "image"], - "description": "Fill images payload" + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": [ + "size", + "outputs" + ], + "title": "Fill images response." }, - "FillImageResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." + "GenerateImagesRequestV3": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with numVariations, the number of seeds must be the equal to numVariations" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" + } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "negativePrompt": { + "type": "string", + "maxLength": 1024, + "title": "Avoid prompt", + "description": "Inference will try to generate against this prompt" + }, + "contentClass": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentClass" } + ], + "title": "The content class", + "description": "Will guide the generation to being more photographic or more like art" }, - "type": "object", - "required": ["size", "outputs"], - "description": "Fill images response" - }, - "GenerateImagesRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "Identifier used to customize image generation processes. If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "The prompt", - "description": "The prompt used to generate the image. The longer the prompt - the better" - }, - "negativePrompt": { - "type": "string", - "maxLength": 1024, - "title": "Avoid prompt", - "description": "Inference will try to generate against this prompt" - }, - "contentClass": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentClass" - } - ], - "title": "The content class", - "description": "Will guide the generation to being more photographic or more like art" - }, - "visualIntensity": { - "type": "integer", - "maximum": 10, - "minimum": 2, - "title": "Visual Intensity", - "description": "Adjusts the overall intensity of your photo's existing visual characteristic", - "default": 6 - }, - "photoSettings": { - "allOf": [ - { - "$ref": "#/components/schemas/PhotoSettings" - } - ], - "title": "The photo settings", - "description": "This is only valid if contentClass is photo, otherwise it will be ignored" - }, - "styleReference": { - "allOf": [ - { - "$ref": "#/components/schemas/Styles" - } - ], - "title": "The styles to be used for image generation", - "description": "You can specify a preset, a reference image or both" - }, - "promptBiasingLocaleCode": { - "type": "string", - "title": "The locale used for image generations", - "description": "The locale will be used to generate content that is more relevant for user's country and language" - }, - "tileable": { - "type": "boolean", - "title": "If the output image should be tileable or not", - "description": "Control to apply noise-rolling during diffusion (required for text2pattern, text2texture)" - }, - "structureReference": { - "allOf": [ - { - "$ref": "#/components/schemas/StructureReference" - } - ], - "title": "Structure Reference", - "description": "Source Image which will be used for as a reference for structure to have a controlled generation" + "visualIntensity": { + "type": "integer", + "maximum": 10, + "minimum": 2, + "title": "Visual Intensity", + "description": "Adjusts the overall intensity of your photo's existing visual characteristic", + "default": 6 + }, + "photoSettings": { + "allOf": [ + { + "$ref": "#/components/schemas/PhotoSettings" } + ], + "title": "The photo settings", + "description": "This is only valid if contentClass is photo, otherwise it will be ignored" }, - "type": "object", - "required": ["prompt"], - "description": "Generating images from prompt" - }, - "GenerateImagesResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - }, - "promptHasDeniedWords": { - "type": "boolean", - "title": "The prompt had denied words", - "description": "The user may see that the generation does not comply to its full prompt" - }, - "promptHasBlockedArtists": { - "type": "boolean", - "title": "The prompt had artists that were blocked", - "description": "The user may see that the generation does not comply to its full prompt" - }, - "photoSettings": { - "allOf": [ - { - "$ref": "#/components/schemas/PhotoSettings" - } - ], - "title": "The photo settings used for generation", - "description": "Only specified if content class was detected as photo" - }, - "contentClass": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentClass" - } - ], - "title": "The detected content class", - "description": "Will be same as input, if input was specified" + "styleReference": { + "allOf": [ + { + "$ref": "#/components/schemas/StylesV3" } + ], + "title": "The styles to be used for image generation", + "description": "You can specify a preset, a reference image or both" }, - "type": "object", - "required": ["size", "outputs"], - "title": "Generating images from prompt", - "description": "text-to-image response" + "promptBiasingLocaleCode": { + "type": "string", + "title": "The locale used for image generations", + "description": "The locale will be used to generate content that is more relevant for user's country and language" + }, + "tileable": { + "type": "boolean", + "title": "If the output image should be tileable or not", + "description": "Control to apply noise-rolling during diffusion (required for text2pattern, text2texture)" + }, + "structureReference": { + "allOf": [ + { + "$ref": "#/components/schemas/StructureReferenceV3" + } + ], + "title": "Structure Reference", + "description": "Source Image which will be used for as a reference for structure to have a controlled generation" + } + }, + "type": "object", + "required": [ + "prompt" + ], + "title": "Generating images from prompt" }, - "GenerateObjectCompositeRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "Identifier used to customize image generation processes. If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/ObjectCompositeInputImage" - } - ], - "title": "Input Image", - "description": "Input Image" - }, - "prompt": { - "type": "string", - "title": "The prompt", - "description": "The prompt used to generate the background. The longer the prompt - the better" - }, - "placement": { - "allOf": [ - { - "$ref": "#/components/schemas/Placement" - } - ], - "title": "Object placement", - "description": "Determines placement of object in output image" + "GenerateImagesResponseV3": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." }, - "type": "object", - "required": ["image", "prompt"], - "title": "GenerateObjectCompositeRequest", - "description": "Generating object composite from prompt" + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + }, + "promptHasDeniedWords": { + "type": "boolean", + "title": "The prompt had denied words", + "description": "The user may see that the generation does not comply to its full prompt" + }, + "promptHasBlockedArtists": { + "type": "boolean", + "title": "The prompt had artists that were blocked", + "description": "The user may see that the generation does not comply to its full prompt" + }, + "photoSettings": { + "allOf": [ + { + "$ref": "#/components/schemas/PhotoSettings" + } + ], + "title": "The photo settings used for generation", + "description": "Only specified if content class was detected as photo" + }, + "contentClass": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentClass" + } + ], + "title": "The detected content class", + "description": "Will be same as input, if input was specified" + } + }, + "type": "object", + "required": [ + "size", + "outputs" + ], + "title": "Generating images from prompt" }, - "GenerateObjectCompositeResponse": { - "properties": { - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." + "GenerateObjectCompositeRequestV3": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with numVariations, the number of seeds must be the equal to numVariations" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } }, - "type": "object", - "required": ["outputs", "size"], - "title": "GenerateObjectCompositeResponse", - "description": "Generating object composite from prompt" + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/ObjectCompositeInputImageV3" + } + ], + "title": "Input Image", + "description": "Input Image to create object composite" + }, + "prompt": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "title": "The prompt", + "description": "The prompt used to generate the image. The longer the prompt - the better" + }, + "placement": { + "allOf": [ + { + "$ref": "#/components/schemas/Placement" + } + ], + "title": "Object placement", + "description": "Determines placement of object in output image" + } + }, + "type": "object", + "required": [ + "image", + "prompt" + ], + "title": "Generate object composite from prompt request" }, - "GenerateSimilarImagesRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "Identifier used to customize image generation processes. If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInputImage" - } - ], - "title": "The reference image", - "description": "Firefly will create similar variations" - }, - "tileable": { - "type": "boolean", - "title": "Output image tileability", - "description": "An image is tilable if it can be repeated infinitely in any direction without showing visible seams or edges." + "GenerateObjectCompositeResponseV3": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." }, - "type": "object", - "required": ["image"], - "title": "GenerateSimilarImagesRequest", - "description": "Generating similar images from a reference image" + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": [ + "size", + "outputs" + ], + "title": "Generate object composite from prompt response" }, - "GenerateSimilarImagesResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." + "GenerateSimilarImagesRequestV3": { + "properties": { + "numVariations": { + "type": "integer", + "maximum": 4, + "minimum": 1, + "title": "The number of variations", + "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + }, + "seeds": { + "items": { + "type": "integer" + }, + "type": "array", + "maxItems": 4, + "minItems": 1, + "uniqueItems": true, + "title": "The seed of each variation", + "description": "If specified alongside with numVariations, the number of seeds must be the equal to numVariations" + }, + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" } + ], + "title": "The size", + "description": "The size of the requested generations", + "default": { + "width": 2048, + "height": 2048 + } }, - "type": "object", - "required": ["size", "outputs"], - "title": "GenerateSimilarImagesResponse", - "description": "Generating similar images response" + "image": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInputImageV3" + } + ], + "title": "The reference image", + "description": "Firefly will create similar variations" + }, + "tileable": { + "type": "boolean", + "title": "Output image tileability", + "description": "An image is tilable if it can be repeated infinitely in any direction without showing visible seams or edges." + } + }, + "type": "object", + "required": [ + "image" + ], + "title": "Generating similar images from a reference image" }, - "ImageEncodingParameters": { - "properties": { - "jxlImageEncodingParameters": { - "allOf": [ - { - "$ref": "#/components/schemas/JxlImageEncodingParameters" - } - ], - "title": "JXL image encoding parameters", - "description": "Set of parameters for fine-tuning output images in JXL format" + "GenerateSimilarImagesResponseV3": { + "properties": { + "size": { + "allOf": [ + { + "$ref": "#/components/schemas/Size" } + ], + "title": "The actual size used for the outputs", + "description": "If size was passed as input, this value should be the same as the one passed as input." }, - "type": "object", - "title": "ImageEncodingParameters" + "outputs": { + "items": { + "$ref": "#/components/schemas/OutputImage" + }, + "type": "array", + "minItems": 1, + "title": "The list of images", + "description": "Each image will have a storage item." + } + }, + "type": "object", + "required": [ + "size", + "outputs" + ], + "title": "Generating similar images response" }, - "ObjectCompositeInputImage": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source Image", - "description": "Source Image.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" - }, - "mask": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Background Mask", - "description": "Background mask.
Note: The minimum accepted size for the larger side of the image is 600 px." + "ObjectCompositeInputImageV3": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinary" } + ], + "title": "Source image", + "description": "Source image which will be used to expand, fill or generate similar images.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, - "type": "object", - "required": ["source"], - "title": "InputImageObjectComposite" + "mask": { + "$ref": "#/components/schemas/PublicBinary" + } + }, + "type": "object", + "required": [ + "source" + ], + "title": "ObjectCompositeInputImageV3" }, "InputImage": { "properties": { @@ -2130,7 +2026,7 @@ } ], "title": "Mask image", - "description": "Mask image which will be used replace the backgound of the image" + "description": "Mask image which will be used replace the backgound of the image.
Note: The minimum accepted size for the larger side of the image is 600 px." } }, "type": "object", @@ -2170,7 +2066,7 @@ "$ref": "#/components/schemas/PublicBinary" } ], - "description": "A valid Storage Item containing both an internal ID and a pre-signed URL. The pre-signed URL will expire in one hour." + "description": "A valid storage item containing both an internal ID and a pre-signed URL. The pre-signed URL will expire in one hour." } }, "type": "object", @@ -2252,7 +2148,7 @@ "uploadId": { "type": "string", "format": "uuid4", - "title": "The internal id for a storage item.", + "title": "The internal id", "description": "This is coming from other outputs. Generate this ID using the upload API." }, "url": { @@ -2267,94 +2163,6 @@ "type": "object", "title": "PublicBinary" }, - "ReplaceBackgroundRequest": { - "properties": { - "numVariations": { - "type": "integer", - "maximum": 4, - "minimum": 1, - "title": "The number of variations", - "description": "Identifier used to customize image generation processes. numVariations will default to the number of seeds, or to 1 if seeds is not specified." - }, - "seeds": { - "items": { - "type": "integer" - }, - "type": "array", - "maxItems": 4, - "minItems": 1, - "uniqueItems": true, - "title": "The seed of each variation", - "description": "Identifier used to customize image generation processes. If specified alongside with n, the number of seeds must be the equal to n" - }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations", - "default": { - "width": 2048, - "height": 2048 - } - }, - "prompt": { - "type": "string", - "maxLength": 1024, - "minLength": 1, - "title": "The prompt", - "description": "The prompt used to generate the image. The longer the prompt - the better" - }, - "image": { - "allOf": [ - { - "$ref": "#/components/schemas/InputImage" - } - ], - "title": "Source image and mask image.", - "description": "Source image from which background needs to be replaced with a optional mask." - }, - "contentInsertion": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentInsertion" - } - ], - "title": "Content Insertion", - "description": "The image to insert the content from" - } - }, - "type": "object", - "required": ["prompt", "image"], - "title": "Background replace payload" - }, - "ReplaceBackgroundResponse": { - "properties": { - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The actual size used for the outputs", - "description": "If size was passed as input, this value should be the same as the one passed as input." - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/OutputImage" - }, - "type": "array", - "minItems": 1, - "title": "The list of images", - "description": "Each image will have a storage item." - } - }, - "type": "object", - "required": ["size", "outputs"], - "title": "Backgound replace response" - }, "Size": { "properties": { "width": { @@ -2375,7 +2183,7 @@ "required": ["width", "height"], "title": "Size" }, - "StructureReference": { + "StructureReferenceV3": { "properties": { "source": { "allOf": [ @@ -2384,7 +2192,7 @@ } ], "title": "A structure reference image", - "description": "Firefly will detect the structure in the image and apply the same in the generated image" + "description": "Firefly will detect the structure in the image and apply the same in the generated image. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "strength": { "type": "integer", @@ -2398,7 +2206,7 @@ "type": "object", "title": "StructureReference" }, - "Styles": { + "StylesV3": { "properties": { "presets": { "items": { @@ -2416,7 +2224,7 @@ } ], "title": "A style image reference", - "description": "Firefly will detect the style in the image and apply the same style in the generated image" + "description": "Firefly will detect the style in the image and apply the same style in the generated image. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "strength": { "type": "integer", @@ -2460,37 +2268,41 @@ } }, "ValidationErrorMessage": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ] - }, - "type": "array", - "title": "Loc" - }, - "msg": { - "type": "string", - "title": "Msg" - }, - "type": { - "type": "string", - "title": "Type" - }, - "ctx": { - "type": "object", - "title": "Ctx" - } + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "type": "array", + "title": "Loc" }, - "type": "object", - "required": ["loc", "msg", "type"], - "title": "ValidationErrorMessage" + "msg": { + "type": "string", + "title": "Msg" + }, + "type": { + "type": "string", + "title": "Type" + }, + "ctx": { + "type": "object", + "title": "Ctx" + } + }, + "type": "object", + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationErrorMessage" } } } From dfa8afb63c8abcd34555cbb4a2c80dd2962f4e28 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 15 May 2024 18:59:59 +0530 Subject: [PATCH 026/106] update-description-promptBiasingLocaleCode --- static/cliov3-spec-all.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index c3a3c994..14cd0ca5 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1610,7 +1610,8 @@ "promptBiasingLocaleCode": { "type": "string", "title": "The locale used for image generations", - "description": "The locale will be used to generate content that is more relevant for user's country and language" + "description": "A hyphen separated string, combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be debiased to generated more relevant content to that region. If not specified, the locale will be auto detected, based on user's profile and Accept-Language header.", + "default": "en-US" } }, "type": "object", From a8e30b9ee165f5bdb95e84bb7ea8e5684b8449fe Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 16 May 2024 15:45:08 +0530 Subject: [PATCH 027/106] error-code-update --- static/cliov3-spec-all.json | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 14cd0ca5..55f254f9 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1251,21 +1251,15 @@ "schemas": { "ApiError": { "properties": { - "error_code": { - "$ref": "#/components/schemas/ColligoErrorCode" - }, - "message": { - "type": "string", - "title": "Message" - }, - "validation_errors": { - "items": { - "$ref": "#/components/schemas/ValidationErrorMessage" - }, - "type": "array", - "title": "Validation Errors" - } - }, + "message": { + "type": "string", + "description": "Error message" + }, + "error_code": { + "type": "string", + "description": "Associated error code" + } + }, "type": "object", "required": [ "error_code" From afc0583c28ccfddb1950fa600a3c2f90a5d06910 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 17 May 2024 08:33:25 +0530 Subject: [PATCH 028/106] update-description-promptBiasingLocaleCode --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 55f254f9..612a528b 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1727,7 +1727,7 @@ "promptBiasingLocaleCode": { "type": "string", "title": "The locale used for image generations", - "description": "The locale will be used to generate content that is more relevant for user's country and language" + "description": "A hyphen separated string, combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be debiased to generated more relevant content to that region. If not specified, the locale will be auto detected, based on user's profile and Accept-Language header." }, "tileable": { "type": "boolean", From bd5f749a65c5f3e7576154e8b34a790a8cbca53d Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 17 May 2024 08:35:38 +0530 Subject: [PATCH 029/106] fix --- static/cliov3-spec-all.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 612a528b..dd1e5a5f 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1604,7 +1604,7 @@ "promptBiasingLocaleCode": { "type": "string", "title": "The locale used for image generations", - "description": "A hyphen separated string, combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be debiased to generated more relevant content to that region. If not specified, the locale will be auto detected, based on user's profile and Accept-Language header.", + "description": "A hyphen-separated string combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be biased to generate more relevant content for that region. The locale will be auto-detected if not specified based on the user's profile and Accept-Language header." "default": "en-US" } }, @@ -1727,7 +1727,7 @@ "promptBiasingLocaleCode": { "type": "string", "title": "The locale used for image generations", - "description": "A hyphen separated string, combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be debiased to generated more relevant content to that region. If not specified, the locale will be auto detected, based on user's profile and Accept-Language header." + "description": "A hyphen-separated string combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be biased to generate more relevant content for that region. The locale will be auto-detected if not specified based on the user's profile and Accept-Language header." }, "tileable": { "type": "boolean", From cbaa7cbfdfe3cf9ee01673dcb031b8505f86c677 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 17 May 2024 08:58:54 +0530 Subject: [PATCH 030/106] update-desc Seed ID numVariations --- static/cliov3-spec-all.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index dd1e5a5f..3c9e7ac3 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1451,7 +1451,7 @@ "maximum": 4, "minimum": 1, "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + "description": "The number of variations to generate. numVariations will default to the number of seeds, or to 1 if seeds is not specified." }, "seeds": { "items": { @@ -1462,7 +1462,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with numVariations, the number of seeds must be the equal to numVariations" + "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, "size": { "allOf": [ @@ -1544,7 +1544,7 @@ "maximum": 4, "minimum": 1, "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + "description": "The number of variations to generate. numVariations will default to the number of seeds, or to 1 if seeds is not specified." }, "seeds": { "items": { @@ -1555,7 +1555,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with numVariations, the number of seeds must be the equal to numVariations" + "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, "size": { "allOf": [ @@ -1650,7 +1650,7 @@ "maximum": 4, "minimum": 1, "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + "description": "The number of variations to generate. numVariations will default to the number of seeds, or to 1 if seeds is not specified." }, "seeds": { "items": { @@ -1661,7 +1661,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with numVariations, the number of seeds must be the equal to numVariations" + "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations." }, "size": { "allOf": [ @@ -1813,7 +1813,7 @@ "maximum": 4, "minimum": 1, "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + "description": "The number of variations to generate. numVariations will default to the number of seeds, or to 1 if seeds is not specified." }, "seeds": { "items": { @@ -1824,7 +1824,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with numVariations, the number of seeds must be the equal to numVariations" + "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, "size": { "allOf": [ @@ -1907,7 +1907,7 @@ "maximum": 4, "minimum": 1, "title": "The number of variations", - "description": "numVariations will default to the number of seeds, or to 1 if seeds is not specified." + "description": "The number of variations to generate. numVariations will default to the number of seeds, or to 1 if seeds is not specified." }, "seeds": { "items": { @@ -1918,7 +1918,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "description": "If specified alongside with numVariations, the number of seeds must be the equal to numVariations" + "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, "size": { "allOf": [ From c07affaf9ea27f31e8051d5961662fe910eb53fc Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 20 May 2024 14:25:24 -0700 Subject: [PATCH 031/106] spec-update Remove ContentInsertion Remove Prompt from Expand and Fill request. Description for PhotoSettings Description for PlacementInset --- static/cliov3-spec-all.json | 49 +++---------------------------------- 1 file changed, 3 insertions(+), 46 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 3c9e7ac3..7725af53 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1419,31 +1419,6 @@ "title": "ContentClass", "description": "An enumeration." }, - "ContentInsertionV3": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinary" - } - ], - "title": "Source image", - "description": "Source image from which content needs to be inserted.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" - }, - "strength": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "title": "strength", - "description": "Strength in range 0 to 100. Higher value preverses original content better." - } - }, - "type": "object", - "required": [ - "source" - ], - "title": "ContentInsertionV3" - }, "ExpandImageRequestV3": { "properties": { "numVariations": { @@ -1491,20 +1466,10 @@ ], "title": "Input Image", "description": "Image which we want to expand" - }, - "contentInsertion": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentInsertionV3" - } - ], - "title": "Content Insertion", - "description": "The image to insert the content from" } }, "type": "object", "required": [ - "prompt", "image" ], "title": "Images expand payload" @@ -1592,25 +1557,15 @@ "title": "Input Image", "description": "Input image to fill with generative content." }, - "contentInsertion": { - "allOf": [ - { - "$ref": "#/components/schemas/ContentInsertionV3" - } - ], - "title": "Content Insertion", - "description": "The image to insert the content from" - }, "promptBiasingLocaleCode": { "type": "string", "title": "The locale used for image generations", - "description": "A hyphen-separated string combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be biased to generate more relevant content for that region. The locale will be auto-detected if not specified based on the user's profile and Accept-Language header." + "description": "A hyphen-separated string combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be biased to generate more relevant content for that region. The locale will be auto-detected if not specified based on the user's profile and Accept-Language header.", "default": "en-US" } }, "type": "object", "required": [ - "prompt", "image" ], "title": "Fill images payload" @@ -2069,6 +2024,7 @@ "title": "OutputImage" }, "PhotoSettings": { + "description": "Photo settings used for generation", "properties": { "aperture": { "type": "number", @@ -2113,6 +2069,7 @@ "title": "Placement" }, "PlacementInset": { + "description": "Margin values in target size", "properties": { "left": { "type": "integer", From cb4c7adeeae1884d6d6a3ca5482197dbbbbc04a6 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 20 May 2024 14:58:18 -0700 Subject: [PATCH 032/106] update-upload-id --- static/cliov3-spec-all.json | 97 ++++++++++++++++++++++++++----------- 1 file changed, 68 insertions(+), 29 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 7725af53..58d45d16 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1272,7 +1272,7 @@ "source": { "allOf": [ { - "$ref": "#/components/schemas/PublicBinary" + "$ref": "#/components/schemas/PublicBinaryInput" } ], "title": "Source image", @@ -1461,7 +1461,7 @@ "image": { "allOf": [ { - "$ref": "#/components/schemas/InputImage" + "$ref": "#/components/schemas/ExpandInputImage" } ], "title": "Input Image", @@ -1502,6 +1502,31 @@ ], "title": "Images expand response" }, + "ExpandInputImage": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinaryInput" + } + ], + "title": "Source image", + "description": "Source image which will be used to expand, fill or generate similar images, dimensions of image should not be greater than (4000px X 4000px)" + }, + "mask": { + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinaryInput" + } + ], + "title": "Mask image", + "description": "Mask image which will be used replace the background of the image" + } + }, + "type": "object", + "required": ["source"], + "title": "ExpandInputImage" + }, "FillImageRequestV3": { "properties": { "numVariations": { @@ -1942,14 +1967,14 @@ "source": { "allOf": [ { - "$ref": "#/components/schemas/PublicBinary" + "$ref": "#/components/schemas/PublicBinaryInput" } ], "title": "Source image", "description": "Source image which will be used to expand, fill or generate similar images.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "mask": { - "$ref": "#/components/schemas/PublicBinary" + "$ref": "#/components/schemas/PublicBinaryInput" } }, "type": "object", @@ -1963,7 +1988,7 @@ "source": { "allOf": [ { - "$ref": "#/components/schemas/PublicBinary" + "$ref": "#/components/schemas/PublicBinaryInput" } ], "title": "Source image", @@ -1972,7 +1997,7 @@ "mask": { "allOf": [ { - "$ref": "#/components/schemas/PublicBinary" + "$ref": "#/components/schemas/PublicBinaryInput" } ], "title": "Mask image", @@ -1983,26 +2008,40 @@ "required": ["source"], "title": "InputImage" }, - "JxlImageEncodingParameters": { - "properties": { - "quality": { - "type": "integer", - "maximum": 100, - "minimum": 0, - "title": "Quality of image encoding", - "description": "The quality of the image, as in JPEG or other formats, worsens as it becomes smaller, with 100 being lossless." - }, - "effort": { - "type": "integer", - "maximum": 9, - "minimum": 3, - "title": "Effort of image encoding", - "description": "Higher effort improves compression ratios and image quality but increases processing time, while lower effort speeds up encoding but may sacrifice quality or file size." - } - }, - "type": "object", - "title": "JxlImageEncodingParameters" + "PublicBinaryInput": { + "properties": { + "url": { + "type": "string", + "maxLength": 2083, + "minLength": 1, + "format": "uri", + "title": "The presigned url", + "description": "This URL of an uploaded image" + }, + "uploadId": { + "type": "string", + "format": "uuid4", + "title": "UUID of the uploaded object", + "description": "UUID of the uploaded object" + } + }, + "type": "object", + "title": "PublicBinaryInput" + }, + "PublicBinaryOutput": { + "properties": { + "url": { + "type": "string", + "maxLength": 2083, + "minLength": 1, + "format": "uri", + "title": "The presigned url", + "description": "The reference to signed url of the image." + } }, + "type": "object", + "title": "PublicBinaryOutput" + }, "OutputImage": { "properties": { "seed": { @@ -2013,10 +2052,10 @@ "image": { "allOf": [ { - "$ref": "#/components/schemas/PublicBinary" + "$ref": "#/components/schemas/PublicBinaryOutput" } ], - "description": "A valid storage item containing both an internal ID and a pre-signed URL. The pre-signed URL will expire in one hour." + "description": "A valid storage item containing a pre-signed URL. The pre-signed URL will expire in one hour." } }, "type": "object", @@ -2140,7 +2179,7 @@ "source": { "allOf": [ { - "$ref": "#/components/schemas/PublicBinary" + "$ref": "#/components/schemas/PublicBinaryInput" } ], "title": "A structure reference image", @@ -2172,7 +2211,7 @@ "source": { "allOf": [ { - "$ref": "#/components/schemas/PublicBinary" + "$ref": "#/components/schemas/PublicBinaryInput" } ], "title": "A style image reference", From e3ce31bde508975a5d52dbcaf6178bb8a11d31c6 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 14:29:28 -0700 Subject: [PATCH 033/106] add-placement --- static/cliov3-spec-all.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 58d45d16..692f4698 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1466,6 +1466,9 @@ ], "title": "Input Image", "description": "Image which we want to expand" + }, + "placement": { + "$ref": "#/components/schemas/Placement" } }, "type": "object", From fc3ad208f112edb2d33fc86f11cb5d37f1e3eef0 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 14:37:31 -0700 Subject: [PATCH 034/106] add-alignment --- static/cliov3-spec-all.json | 53 +++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 692f4698..7ac57f7c 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1249,6 +1249,24 @@ } }, "schemas": { + "AlignmentHorizontal": { + "enum": [ + "center", + "left", + "right" + ], + "title": "AlignmentHorizontal", + "description": "An enumeration." + }, + "AlignmentVertical": { + "enum": [ + "center", + "top", + "bottom" + ], + "title": "AlignmentVertical", + "description": "An enumeration." + }, "ApiError": { "properties": { "message": { @@ -2103,13 +2121,44 @@ } ], "title": "Margin values in target size", - "description": "Margin values in target size" + "description": "Margin values in target size." } }, + "alignment": { + "allOf": [ + { + "$ref": "#/components/schemas/PlacementAlignment" + } + ], + "title": "Alignment", + "description": "Specify horizontal and vertical alignment. For horizontal, (0,1,2)=(center, left, right). For vertical, (0,1,2)=(center, top, bottom)." + } + }, "type": "object", - "required": ["inset"], "title": "Placement" }, + "PlacementAlignment": { + "properties": { + "horizontal": { + "allOf": [ + { + "$ref": "#/components/schemas/AlignmentHorizontal" + } + ], + "default": "center" + }, + "vertical": { + "allOf": [ + { + "$ref": "#/components/schemas/AlignmentVertical" + } + ], + "default": "center" + } + }, + "type": "object", + "title": "PlacementAlignment" + }, "PlacementInset": { "description": "Margin values in target size", "properties": { From c3f3cfc3cb7568079a74ab2838d285bf298053e8 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 14:40:12 -0700 Subject: [PATCH 035/106] fix --- static/cliov3-spec-all.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 7ac57f7c..62077d0d 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2348,5 +2348,4 @@ "title": "ValidationErrorMessage" } } - } -} \ No newline at end of file + } \ No newline at end of file From 8077f3199b1e180c233b54b0b2926df14c6bff02 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 14:57:55 -0700 Subject: [PATCH 036/106] fix --- static/cliov3-spec-all.json | 146 ++++++++++++++++-------------------- 1 file changed, 64 insertions(+), 82 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 62077d0d..da313557 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1863,7 +1863,7 @@ } ], "title": "Object placement", - "description": "Determines placement of object in output image" + "description": "Determines placement of object in output image." } }, "type": "object", @@ -2048,7 +2048,7 @@ }, "type": "object", "title": "PublicBinaryInput" - }, + }, "PublicBinaryOutput": { "properties": { "url": { @@ -2084,45 +2084,47 @@ "title": "OutputImage" }, "PhotoSettings": { - "description": "Photo settings used for generation", - "properties": { - "aperture": { - "type": "number", - "maximum": 22, - "minimum": 1.2, - "title": "The styles to be used for image generation", - "description": "You can specify a preset, a reference image or both" - }, - "shutterSpeed": { - "type": "number", - "maximum": 10, - "minimum": 0.0005, - "title": "Shutter speed, seconds", - "description": "You can use fractions of a second like 1/4000 or whole seconds" - }, - "fieldOfView": { - "type": "integer", - "maximum": 300, - "minimum": 14, - "title": "The field of view, in mm", - "description": "Description TBD" - } + "properties": { + "aperture": { + "type": "number", + "maximum": 22, + "minimum": 1.2, + "title": "The styles to be used for image generation", + "description": "You can specify a preset, a reference image or both" }, - "type": "object", - "required": ["aperture", "shutterSpeed", "fieldOfView"], - "title": "PhotoSettings" + "shutterSpeed": { + "type": "number", + "maximum": 10, + "minimum": 0.0005, + "title": "Shutter speed, seconds", + "description": "You can use fractions of a second like 1/4000 or whole seconds" + }, + "fieldOfView": { + "type": "integer", + "maximum": 300, + "minimum": 14, + "title": "The field of view, in mm", + "description": "Description TBD" + } + }, + "type": "object", + "required": [ + "aperture", + "shutterSpeed", + "fieldOfView" + ], + "title": "PhotoSettings" }, "Placement": { - "properties": { - "inset": { - "allOf": [ - { - "$ref": "#/components/schemas/PlacementInset" - } - ], - "title": "Margin values in target size", - "description": "Margin values in target size." + "properties": { + "inset": { + "allOf": [ + { + "$ref": "#/components/schemas/PlacementInset" } + ], + "title": "Margin values in target size", + "description": "Margin values in target size" }, "alignment": { "allOf": [ @@ -2134,8 +2136,8 @@ "description": "Specify horizontal and vertical alignment. For horizontal, (0,1,2)=(center, left, right). For vertical, (0,1,2)=(center, top, bottom)." } }, - "type": "object", - "title": "Placement" + "type": "object", + "title": "Placement" }, "PlacementAlignment": { "properties": { @@ -2160,51 +2162,30 @@ "title": "PlacementAlignment" }, "PlacementInset": { - "description": "Margin values in target size", - "properties": { - "left": { - "type": "integer", - "title": "Left Inset", - "description": "The space between left edge of the result image and left edge of the placed object image." - }, - "top": { - "type": "integer", - "title": "Top Inset", - "description": "The space between top edge of the result image and top edge of the placed object image." - }, - "right": { - "type": "integer", - "title": "Right Inset", - "description": "The space between right edge of the result image and right edge of the placed object image." - }, - "bottom": { - "type": "integer", - "title": "Bottom Inset", - "description": "The space between bottom edge of the result image and bottom edge of the placed object image." - } + "properties": { + "left": { + "type": "integer", + "title": "Left Inset", + "description": "The space between left edge of the result image and left edge of the placed object image." }, - "type": "object", - "title": "PlacementInset" - }, - "PublicBinary": { - "properties": { - "uploadId": { - "type": "string", - "format": "uuid4", - "title": "The internal id", - "description": "This is coming from other outputs. Generate this ID using the upload API." - }, - "url": { - "type": "string", - "maxLength": 2083, - "minLength": 1, - "format": "uri", - "title": "The presigned url", - "description": "The reference to signed url of the image." - } + "top": { + "type": "integer", + "title": "Top Inset", + "description": "The space between top edge of the result image and top edge of the placed object image." }, - "type": "object", - "title": "PublicBinary" + "right": { + "type": "integer", + "title": "Right Inset", + "description": "The space between right edge of the result image and right edge of the placed object image." + }, + "bottom": { + "type": "integer", + "title": "Bottom Inset", + "description": "The space between bottom edge of the result image and bottom edge of the placed object image." + } + }, + "type": "object", + "title": "PlacementInset" }, "Size": { "properties": { @@ -2348,4 +2329,5 @@ "title": "ValidationErrorMessage" } } + } } \ No newline at end of file From ac21d1aed01b42af1f20eef25e0f9d431e5f6847 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 15:14:47 -0700 Subject: [PATCH 037/106] added-description-alignment --- static/cliov3-spec-all.json | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index da313557..cf694828 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1256,7 +1256,7 @@ "right" ], "title": "AlignmentHorizontal", - "description": "An enumeration." + "description": "Specifies the horizontal anchoring of the image within the available space." }, "AlignmentVertical": { "enum": [ @@ -1265,7 +1265,7 @@ "bottom" ], "title": "AlignmentVertical", - "description": "An enumeration." + "description": "Specifies the vertical anchoring of the image within the available space." }, "ApiError": { "properties": { @@ -1486,7 +1486,13 @@ "description": "Image which we want to expand" }, "placement": { - "$ref": "#/components/schemas/Placement" + "allOf": [ + { + "$ref": "#/components/schemas/Placement" + } + ], + "title": "Object placement", + "description": "Specifies how the image will be positioned and sized in the final generation. The value should describe the placement and dimensions of the image within the output." } }, "type": "object", @@ -1863,7 +1869,7 @@ } ], "title": "Object placement", - "description": "Determines placement of object in output image." + "description": "Specifies how the image will be positioned and sized in the final generation. The value should describe the placement and dimensions of the image within the output." } }, "type": "object", @@ -2133,7 +2139,7 @@ } ], "title": "Alignment", - "description": "Specify horizontal and vertical alignment. For horizontal, (0,1,2)=(center, left, right). For vertical, (0,1,2)=(center, top, bottom)." + "description": "Specifies how the image will be anchored within the available space for each direction. For horizontal, (0,1,2)=(center, left, right). For vertical, (0,1,2)=(center, top, bottom)." } }, "type": "object", From 0e6feedad4e285501c45d687f36d8f4485be9005 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 15:18:56 -0700 Subject: [PATCH 038/106] update-inset-description --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index cf694828..6ecbf324 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2130,7 +2130,7 @@ } ], "title": "Margin values in target size", - "description": "Margin values in target size" + "description": "Defines the inward displacement applied to the image's edges. This parameter specifies the distance by which each edge of the image will be pushed inward, thereby reducing the visible area by the specified amount on all sides." }, "alignment": { "allOf": [ From 203a454dc10323f0b3492cb521e9903cae08396b Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 15:51:08 -0700 Subject: [PATCH 039/106] update-description --- static/cliov3-spec-all.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 6ecbf324..60b8c357 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1464,7 +1464,7 @@ } ], "title": "The size", - "description": "The size of the requested generations", + "description": "Specifies the desired width and height for the final, expanded image.", "default": { "width": 2048, "height": 2048 @@ -1483,7 +1483,7 @@ } ], "title": "Input Image", - "description": "Image which we want to expand" + "description": "The original image to be expanded." }, "placement": { "allOf": [ @@ -1539,7 +1539,8 @@ ], "title": "Source image", "description": "Source image which will be used to expand, fill or generate similar images, dimensions of image should not be greater than (4000px X 4000px)" - }, + "description": "The original image to be expanded. Dimensions of image should not be greater than (4000px X 4000px)." + }, "mask": { "allOf": [ { @@ -1853,7 +1854,7 @@ } ], "title": "Input Image", - "description": "Input Image to create object composite" + "description": "An image of an object that needs to be rendered on a scene." }, "prompt": { "type": "string", From 96f623775f59dbf3cdedcefd64f085597887be63 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 15:51:31 -0700 Subject: [PATCH 040/106] update-desc --- static/cliov3-spec-all.json | 1 - 1 file changed, 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 60b8c357..29080876 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1538,7 +1538,6 @@ } ], "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images, dimensions of image should not be greater than (4000px X 4000px)" "description": "The original image to be expanded. Dimensions of image should not be greater than (4000px X 4000px)." }, "mask": { From 0aa27a375b956594b8dafd0b7280aa92a464c634 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 15:58:11 -0700 Subject: [PATCH 041/106] update-description --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 29080876..7b2a2d3b 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1869,7 +1869,7 @@ } ], "title": "Object placement", - "description": "Specifies how the image will be positioned and sized in the final generation. The value should describe the placement and dimensions of the image within the output." + "description": "Specifies how the image will be positioned and sized in the final generation. You can specify both inset and alignment, only inset, only alignment or none of them." } }, "type": "object", From df36424527b291b4a9389bb8cf39437c204e66f2 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 16:08:18 -0700 Subject: [PATCH 042/106] update-mask-objComposite --- static/cliov3-spec-all.json | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 7b2a2d3b..f6f7a85c 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1538,7 +1538,7 @@ } ], "title": "Source image", - "description": "The original image to be expanded. Dimensions of image should not be greater than (4000px X 4000px)." + "description": "The original image to be expanded. Dimensions of image should not be greater than (4000px X 4000px). \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "mask": { "allOf": [ @@ -1547,7 +1547,7 @@ } ], "title": "Mask image", - "description": "Mask image which will be used replace the background of the image" + "description": "Mask image which will be used replace the background of the image." } }, "type": "object", @@ -1998,10 +1998,12 @@ } ], "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "An image of an object that needs to be rendered on a scene.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "mask": { - "$ref": "#/components/schemas/PublicBinaryInput" + "$ref": "#/components/schemas/PublicBinaryInput", + "title": "Mask image", + "description": "Provide a mask that hides part of the object like the background.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", From bc4f3e15f6bce4d1faebf828d18306867526f1c1 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 16:13:33 -0700 Subject: [PATCH 043/106] update-desc-mask --- static/cliov3-spec-all.json | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index f6f7a85c..17bba102 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1547,7 +1547,7 @@ } ], "title": "Mask image", - "description": "Mask image which will be used replace the background of the image." + "description": "The mask must be larger than the original image, and its size must match the size of the mask, or the size will be inferred from the mask" } }, "type": "object", @@ -2001,7 +2001,11 @@ "description": "An image of an object that needs to be rendered on a scene.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "mask": { - "$ref": "#/components/schemas/PublicBinaryInput", + "allOf": [ + { + "$ref": "#/components/schemas/PublicBinaryInput" + } + ], "title": "Mask image", "description": "Provide a mask that hides part of the object like the background.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } @@ -2045,7 +2049,7 @@ "minLength": 1, "format": "uri", "title": "The presigned url", - "description": "This URL of an uploaded image" + "description": "This URL of an uploaded image." }, "uploadId": { "type": "string", From 97ae40d683b9ad12cde3adee919a33e1f5811af1 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 16:26:03 -0700 Subject: [PATCH 044/106] update-expand-image-input --- static/cliov3-spec-all.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 17bba102..fec4dbf4 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1538,7 +1538,7 @@ } ], "title": "Source image", - "description": "The original image to be expanded. Dimensions of image should not be greater than (4000px X 4000px). \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "The image to be expanded. Dimensions of image should not be greater than (4000px X 4000px)." }, "mask": { "allOf": [ @@ -1547,12 +1547,13 @@ } ], "title": "Mask image", - "description": "The mask must be larger than the original image, and its size must match the size of the mask, or the size will be inferred from the mask" + "description": "Mask that has to be larger than the source image, and the target size has to match the size of the mask or it will be inferred from the mask." } }, "type": "object", "required": ["source"], - "title": "ExpandInputImage" + "title": "ExpandInputImage", + "description": "\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "FillImageRequestV3": { "properties": { From 2ad46859f32b460b3293e3d9fd2b44387cecf24c Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 16:28:29 -0700 Subject: [PATCH 045/106] update-allow-listing --- static/cliov3-spec-all.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index fec4dbf4..a44b3972 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1483,7 +1483,8 @@ } ], "title": "Input Image", - "description": "The original image to be expanded." + "description": "The image to be expanded.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + }, "placement": { "allOf": [ @@ -1552,9 +1553,7 @@ }, "type": "object", "required": ["source"], - "title": "ExpandInputImage", - "description": "\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" - }, + "title": "ExpandInputImage" }, "FillImageRequestV3": { "properties": { "numVariations": { From 4b4dc934489668fcbf4301d541391318e11cd435 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 23 May 2024 16:31:08 -0700 Subject: [PATCH 046/106] fix --- static/cliov3-spec-all.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index a44b3972..bfd460d1 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1853,7 +1853,7 @@ } ], "title": "Input Image", - "description": "An image of an object that needs to be rendered on a scene." + "description": "An image of an object that needs to be rendered on a scene. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "prompt": { "type": "string", @@ -1998,7 +1998,7 @@ } ], "title": "Source image", - "description": "An image of an object that needs to be rendered on a scene.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "An image of an object that needs to be rendered on a scene." }, "mask": { "allOf": [ @@ -2007,7 +2007,7 @@ } ], "title": "Mask image", - "description": "Provide a mask that hides part of the object like the background.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Provide a mask that hides part of the object like the background." } }, "type": "object", From 61e868dd07c1b4899139eaddfe78b2579fd5dbfa Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 3 Jun 2024 15:41:32 +0530 Subject: [PATCH 047/106] update --- static/cliov3-spec-all.json | 113 +++++++++++++++--------------------- 1 file changed, 47 insertions(+), 66 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index bfd460d1..22ae2ff3 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -28,7 +28,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateImagesRequestV3" + "$ref": "#/components/schemas/GenerateImagesRequest" } } }, @@ -40,7 +40,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateImagesResponseV3" + "$ref": "#/components/schemas/GenerateImagesResponse" } } } @@ -440,7 +440,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateSimilarImagesRequestV3" + "$ref": "#/components/schemas/GenerateSimilarImagesRequest" } } }, @@ -452,7 +452,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateSimilarImagesResponseV3" + "$ref": "#/components/schemas/GenerateSimilarImagesResponse" } } } @@ -641,7 +641,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ExpandImageRequestV3" + "$ref": "#/components/schemas/ExpandImageRequest" } } }, @@ -653,7 +653,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ExpandImageResponseV3" + "$ref": "#/components/schemas/ExpandImageResponse" } } } @@ -842,7 +842,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FillImageRequestV3" + "$ref": "#/components/schemas/FillImageRequest" } } }, @@ -854,7 +854,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FillImageResponseV3" + "$ref": "#/components/schemas/FillImageResponse" } } } @@ -1043,7 +1043,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateObjectCompositeRequestV3" + "$ref": "#/components/schemas/GenerateObjectCompositeRequest" } } }, @@ -1055,7 +1055,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenerateObjectCompositeResponseV3" + "$ref": "#/components/schemas/GenerateObjectCompositeResponse" } } } @@ -1285,7 +1285,7 @@ "title": "ApiError", "description": "The error within the error response." }, - "BaseInputImageV3": { + "BaseInputImage": { "properties": { "source": { "allOf": [ @@ -1301,12 +1301,12 @@ "required": [ "source" ], - "title": "BaseInputImageV3" + "title": "BaseInputImage" }, - "Body_expandImagesV3": { + "Body_expandImages": { "properties": { "request": { - "$ref": "#/components/schemas/ExpandImageRequestV3" + "$ref": "#/components/schemas/ExpandImageRequest" }, "files": { "items": { @@ -1322,12 +1322,12 @@ "request", "files" ], - "title": "Body_expandImagesV3" + "title": "Body_expandImages" }, - "Body_fillImagesV3": { + "Body_fillImages": { "properties": { "request": { - "$ref": "#/components/schemas/FillImageRequestV3" + "$ref": "#/components/schemas/FillImageRequest" }, "files": { "items": { @@ -1343,12 +1343,12 @@ "request", "files" ], - "title": "Body_fillImagesV3" + "title": "Body_fillImages" }, - "Body_generateImagesV3": { + "Body_generateImages": { "properties": { "request": { - "$ref": "#/components/schemas/GenerateImagesRequestV3" + "$ref": "#/components/schemas/GenerateImagesRequest" }, "files": { "items": { @@ -1364,12 +1364,12 @@ "request", "files" ], - "title": "Body_generateImagesV3" + "title": "Body_generateImages" }, - "Body_generateObjectCompositeV3": { + "Body_generateObjectComposite": { "properties": { "request": { - "$ref": "#/components/schemas/GenerateObjectCompositeRequestV3" + "$ref": "#/components/schemas/GenerateObjectCompositeRequest" }, "files": { "items": { @@ -1385,12 +1385,12 @@ "request", "files" ], - "title": "Body_generateObjectCompositeV3" + "title": "Body_generateObjectComposite" }, - "Body_generateSimilarImagesV3": { + "Body_generateSimilarImages": { "properties": { "request": { - "$ref": "#/components/schemas/GenerateSimilarImagesRequestV3" + "$ref": "#/components/schemas/GenerateSimilarImagesRequest" }, "files": { "items": { @@ -1406,7 +1406,7 @@ "request", "files" ], - "title": "Body_generateSimilarImagesV3" + "title": "Body_generateSimilarImages" }, "ColligoErrorCode": { "type": "string", @@ -1431,13 +1431,12 @@ "type": "string", "enum": [ "photo", - "art", - "vector" + "art" ], "title": "ContentClass", - "description": "An enumeration." + "description": "The content class guides the overall image theme and styles can be applied on top of each content type. If no content type is specified, it is auto-detected. \n | Value | Description\n |:---------- |:------\n | photo | Photorealistic style\n | art | Artistic style\n" }, - "ExpandImageRequestV3": { + "ExpandImageRequest": { "properties": { "numVariations": { "type": "integer", @@ -1502,7 +1501,7 @@ ], "title": "Images expand payload" }, - "ExpandImageResponseV3": { + "ExpandImageResponse": { "properties": { "size": { "allOf": [ @@ -1554,7 +1553,7 @@ "type": "object", "required": ["source"], "title": "ExpandInputImage" }, - "FillImageRequestV3": { + "FillImageRequest": { "properties": { "numVariations": { "type": "integer", @@ -1622,7 +1621,7 @@ ], "title": "Fill images payload" }, - "FillImageResponseV3": { + "FillImageResponse": { "properties": { "size": { "allOf": [ @@ -1650,7 +1649,7 @@ ], "title": "Fill images response." }, - "GenerateImagesRequestV3": { + "GenerateImagesRequest": { "properties": { "numVariations": { "type": "integer", @@ -1713,19 +1712,10 @@ "description": "Adjusts the overall intensity of your photo's existing visual characteristic", "default": 6 }, - "photoSettings": { - "allOf": [ - { - "$ref": "#/components/schemas/PhotoSettings" - } - ], - "title": "The photo settings", - "description": "This is only valid if contentClass is photo, otherwise it will be ignored" - }, "styleReference": { "allOf": [ { - "$ref": "#/components/schemas/StylesV3" + "$ref": "#/components/schemas/Styles" } ], "title": "The styles to be used for image generation", @@ -1744,7 +1734,7 @@ "structureReference": { "allOf": [ { - "$ref": "#/components/schemas/StructureReferenceV3" + "$ref": "#/components/schemas/StructureReference" } ], "title": "Structure Reference", @@ -1757,7 +1747,7 @@ ], "title": "Generating images from prompt" }, - "GenerateImagesResponseV3": { + "GenerateImagesResponse": { "properties": { "size": { "allOf": [ @@ -1787,15 +1777,6 @@ "title": "The prompt had artists that were blocked", "description": "The user may see that the generation does not comply to its full prompt" }, - "photoSettings": { - "allOf": [ - { - "$ref": "#/components/schemas/PhotoSettings" - } - ], - "title": "The photo settings used for generation", - "description": "Only specified if content class was detected as photo" - }, "contentClass": { "allOf": [ { @@ -1813,7 +1794,7 @@ ], "title": "Generating images from prompt" }, - "GenerateObjectCompositeRequestV3": { + "GenerateObjectCompositeRequest": { "properties": { "numVariations": { "type": "integer", @@ -1849,7 +1830,7 @@ "image": { "allOf": [ { - "$ref": "#/components/schemas/ObjectCompositeInputImageV3" + "$ref": "#/components/schemas/ObjectCompositeInputImage" } ], "title": "Input Image", @@ -1879,7 +1860,7 @@ ], "title": "Generate object composite from prompt request" }, - "GenerateObjectCompositeResponseV3": { + "GenerateObjectCompositeResponse": { "properties": { "size": { "allOf": [ @@ -1907,7 +1888,7 @@ ], "title": "Generate object composite from prompt response" }, - "GenerateSimilarImagesRequestV3": { + "GenerateSimilarImagesRequest": { "properties": { "numVariations": { "type": "integer", @@ -1943,7 +1924,7 @@ "image": { "allOf": [ { - "$ref": "#/components/schemas/BaseInputImageV3" + "$ref": "#/components/schemas/BaseInputImage" } ], "title": "The reference image", @@ -1961,7 +1942,7 @@ ], "title": "Generating similar images from a reference image" }, - "GenerateSimilarImagesResponseV3": { + "GenerateSimilarImagesResponse": { "properties": { "size": { "allOf": [ @@ -1989,7 +1970,7 @@ ], "title": "Generating similar images response" }, - "ObjectCompositeInputImageV3": { + "ObjectCompositeInputImage": { "properties": { "source": { "allOf": [ @@ -2014,7 +1995,7 @@ "required": [ "source" ], - "title": "ObjectCompositeInputImageV3" + "title": "ObjectCompositeInputImage" }, "InputImage": { "properties": { @@ -2219,7 +2200,7 @@ "required": ["width", "height"], "title": "Size" }, - "StructureReferenceV3": { + "StructureReference": { "properties": { "source": { "allOf": [ @@ -2242,7 +2223,7 @@ "type": "object", "title": "StructureReference" }, - "StylesV3": { + "Styles": { "properties": { "presets": { "items": { From e1d107cbbeb471bfc621719eaad7374f64a7c1da Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 3 Jun 2024 15:46:01 +0530 Subject: [PATCH 048/106] update Updates to Structure Reference in V3 API Updates to Style Reference in V3 API --- static/cliov3-spec-all.json | 42 +++++-------------------------------- 1 file changed, 5 insertions(+), 37 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 22ae2ff3..19006097 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1712,7 +1712,7 @@ "description": "Adjusts the overall intensity of your photo's existing visual characteristic", "default": 6 }, - "styleReference": { + "style": { "allOf": [ { "$ref": "#/components/schemas/Styles" @@ -1731,14 +1731,14 @@ "title": "If the output image should be tileable or not", "description": "Control to apply noise-rolling during diffusion (required for text2pattern, text2texture)" }, - "structureReference": { + "structure": { "allOf": [ { "$ref": "#/components/schemas/StructureReference" } ], "title": "Structure Reference", - "description": "Source Image which will be used for as a reference for structure to have a controlled generation" + "description": "Image which will be used for as a reference for structure to have a controlled generation" } }, "type": "object", @@ -2015,11 +2015,11 @@ } ], "title": "Mask image", - "description": "Mask image which will be used replace the backgound of the image.
Note: The minimum accepted size for the larger side of the image is 600 px." + "description": "Mask image which will be used replace the background of the image.
Note: The minimum accepted size for the larger side of the image is 600 px." } }, "type": "object", - "required": ["source"], + "required": ["source","mask"], "title": "InputImage" }, "PublicBinaryInput": { @@ -2076,38 +2076,6 @@ "required": ["seed", "image"], "title": "OutputImage" }, - "PhotoSettings": { - "properties": { - "aperture": { - "type": "number", - "maximum": 22, - "minimum": 1.2, - "title": "The styles to be used for image generation", - "description": "You can specify a preset, a reference image or both" - }, - "shutterSpeed": { - "type": "number", - "maximum": 10, - "minimum": 0.0005, - "title": "Shutter speed, seconds", - "description": "You can use fractions of a second like 1/4000 or whole seconds" - }, - "fieldOfView": { - "type": "integer", - "maximum": 300, - "minimum": 14, - "title": "The field of view, in mm", - "description": "Description TBD" - } - }, - "type": "object", - "required": [ - "aperture", - "shutterSpeed", - "fieldOfView" - ], - "title": "PhotoSettings" - }, "Placement": { "properties": { "inset": { From 9a7436ed31ad70a41faa30cf591adf8151caf33b Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 3 Jun 2024 15:52:17 +0530 Subject: [PATCH 049/106] add-image-ref --- static/cliov3-spec-all.json | 76 ++++++++++++++++++++++++++----------- 1 file changed, 53 insertions(+), 23 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 19006097..86ed4761 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2168,29 +2168,46 @@ "required": ["width", "height"], "title": "Size" }, - "StructureReference": { - "properties": { - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinaryInput" - } - ], - "title": "A structure reference image", - "description": "Firefly will detect the structure in the image and apply the same in the generated image. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" - }, - "strength": { - "type": "integer", - "maximum": 2, - "minimum": 0, - "title": "Adherence Threshold", - "description": "Adjusts adherence to structure reference image. 0 means no adherence. 2 means full adherence.", - "default": 1 - } - }, - "type": "object", - "title": "StructureReference" - }, + "StructureImageReference": { + "properties": { + "source": { + "$ref": "#/components/schemas/PublicBinaryInput" + } + }, + "type": "object", + "title": "StructureImageReference" + }, + "StructureReference": { + "properties": { + "strength": { + "type": "integer", + "maximum": 100, + "minimum": 0, + "title": "Adherence Threshold", + "description": "Adjusts adherence to structure reference image. 0 means no adherence. 100 means full adherence." + }, + "imageReference": { + "allOf": [ + { + "$ref": "#/components/schemas/StructureImageReference" + } + ], + "title": "A structure reference image", + "description": "Firefly will detect the structure in the image and apply the same in the generated image" + } + }, + "type": "object", + "title": "StructureReference" + }, + "StylesImageReference": { + "properties": { + "source": { + "$ref": "#/components/schemas/PublicBinaryInput" + } + }, + "type": "object", + "title": "StylesImageReference" + }, "Styles": { "properties": { "presets": { @@ -2223,6 +2240,19 @@ "type": "object", "title": "Styles" }, + "imageReference": { + "allOf": [ + { + "$ref": "#/components/schemas/StylesImageReference" + } + ], + "title": "A style image reference", + "description": "Firefly will detect the style in the image and apply the same style in the generated image" + } + }, + "type": "object", + "title": "Styles" + }, "UploadResponse": { "description": "Upload response", "type": "object", From f62c0aadad60ca825217c1945c4a85cbbaa2d1dd Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 3 Jun 2024 16:13:27 +0530 Subject: [PATCH 050/106] update-tbd --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 86ed4761..261b3c13 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2233,7 +2233,7 @@ "maximum": 100, "exclusiveMinimum": 0, "title": "The strength of the style", - "description": "Desc TBD", + "description": "The strength of the style to be applied.", "default": 50 } }, From 302dc8d50e2fe42d698e3fb07ab0c0721fc08c99 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 3 Jun 2024 16:17:15 +0530 Subject: [PATCH 051/106] fix --- static/cliov3-spec-all.json | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 261b3c13..6a4d60d5 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2005,8 +2005,8 @@ "$ref": "#/components/schemas/PublicBinaryInput" } ], - "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "title": "Input image", + "description": "Upload an image you want to fill. Dimensions of image should not be greater than (4000px X 4000px).\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "mask": { "allOf": [ @@ -2319,6 +2319,4 @@ ], "title": "ValidationErrorMessage" } - } - } - } \ No newline at end of file + } \ No newline at end of file From c7c4b45425d20c0b17b2b5f0438a1dd4691efcd8 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 3 Jun 2024 16:23:12 +0530 Subject: [PATCH 052/106] fix --- static/cliov3-spec-all.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 6a4d60d5..e4e87142 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2249,10 +2249,8 @@ "title": "A style image reference", "description": "Firefly will detect the style in the image and apply the same style in the generated image" } - }, - "type": "object", - "title": "Styles" - }, + + "UploadResponse": { "description": "Upload response", "type": "object", @@ -2319,4 +2317,6 @@ ], "title": "ValidationErrorMessage" } - } \ No newline at end of file + } + } + } \ No newline at end of file From 41e3f58b094b48b83a7e57a8f9b2f6c3766b5af6 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 3 Jun 2024 16:24:40 +0530 Subject: [PATCH 053/106] fix --- static/cliov3-spec-all.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index e4e87142..4c7d2624 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2248,9 +2248,7 @@ ], "title": "A style image reference", "description": "Firefly will detect the style in the image and apply the same style in the generated image" - } - - + }, "UploadResponse": { "description": "Upload response", "type": "object", From aae465643916dea26529dfad0ec87bf22ee9fb5a Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 3 Jun 2024 20:01:27 +0530 Subject: [PATCH 054/106] update Add Style and contentClass to OC API --- static/cliov3-spec-all.json | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 4c7d2624..5e11a316 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1851,7 +1851,25 @@ ], "title": "Object placement", "description": "Specifies how the image will be positioned and sized in the final generation. You can specify both inset and alignment, only inset, only alignment or none of them." - } + }, + "style": { + "allOf": [ + { + "$ref": "#/components/schemas/Styles" + } + ], + "title": "The styles to be used for image generation", + "description": "You can specify a preset, a reference image or both" + }, + "contentClass": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentClass" + } + ], + "title": "The content class", + "description": "Will guide the generation to being more photographic or more like art" + } }, "type": "object", "required": [ From 922be133a980446ccd63bfa178cb3dd912023490 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 3 Jun 2024 20:23:43 +0530 Subject: [PATCH 055/106] update-tilable-desc --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 5e11a316..6de367d7 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1729,7 +1729,7 @@ "tileable": { "type": "boolean", "title": "If the output image should be tileable or not", - "description": "Control to apply noise-rolling during diffusion (required for text2pattern, text2texture)" + "description": "An image is tilable if it can be repeated infinitely in any direction without showing visible seams or edges." }, "structure": { "allOf": [ From c0d6288100dc7d51ee92c0a8dce2fd20345f63ca Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 3 Jun 2024 20:26:20 +0530 Subject: [PATCH 056/106] update-promptBiasingLocaleCode --- static/cliov3-spec-all.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 6de367d7..c26de08c 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1724,7 +1724,8 @@ "promptBiasingLocaleCode": { "type": "string", "title": "The locale used for image generations", - "description": "A hyphen-separated string combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be biased to generate more relevant content for that region. The locale will be auto-detected if not specified based on the user's profile and Accept-Language header." + "description": "A hyphen-separated string combining the ISO 639-1 language code and the ISO 3166-1 region, such as \"en-US\". When a locale is set, the prompt will be biased to generate more relevant content for that region. The locale will be auto-detected if not specified based on the user's profile and Accept-Language header.", + "default": "en-US" }, "tileable": { "type": "boolean", From 7c3dba45d61c2ea3f6fd5fd455d54979c780fb51 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 3 Jun 2024 20:28:16 +0530 Subject: [PATCH 057/106] fix-typo --- static/cliov3-spec-all.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index c26de08c..91b0df1f 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1730,7 +1730,7 @@ "tileable": { "type": "boolean", "title": "If the output image should be tileable or not", - "description": "An image is tilable if it can be repeated infinitely in any direction without showing visible seams or edges." + "description": "An image is tileable if it can be repeated infinitely in any direction without showing visible seams or edges." }, "structure": { "allOf": [ @@ -1952,7 +1952,7 @@ "tileable": { "type": "boolean", "title": "Output image tileability", - "description": "An image is tilable if it can be repeated infinitely in any direction without showing visible seams or edges." + "description": "An image is tileable if it can be repeated infinitely in any direction without showing visible seams or edges." } }, "type": "object", From d1fe610171f7e8c771d30e5c5d682db202b2a54e Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 5 Jun 2024 11:57:31 +0530 Subject: [PATCH 058/106] update-desc --- static/cliov3-spec-all.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 91b0df1f..20b6a490 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1730,7 +1730,8 @@ "tileable": { "type": "boolean", "title": "If the output image should be tileable or not", - "description": "An image is tileable if it can be repeated infinitely in any direction without showing visible seams or edges." + "description": "An image is tileable if it can be repeated infinitely in any direction without showing visible seams or edges.", + "default": "false" }, "structure": { "allOf": [ @@ -1740,6 +1741,7 @@ ], "title": "Structure Reference", "description": "Image which will be used for as a reference for structure to have a controlled generation" + "description": "Use structure to ensure the generated image maintains a similar layout and organization as the reference image, providing a cohesive and visually balanced result." } }, "type": "object", @@ -2203,7 +2205,7 @@ "maximum": 100, "minimum": 0, "title": "Adherence Threshold", - "description": "Adjusts adherence to structure reference image. 0 means no adherence. 100 means full adherence." + "description": "Control the amount of adherence to the reference image when generating the image variations. 0 means no adherence. 100 means full adherence." }, "imageReference": { "allOf": [ @@ -2212,7 +2214,7 @@ } ], "title": "A structure reference image", - "description": "Firefly will detect the structure in the image and apply the same in the generated image" + "description": "An image with a structure you want to use as a reference for generating image variations." } }, "type": "object", From 780a18345ddb2ed55a2264686274fbebf67e3fe1 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 5 Jun 2024 11:57:48 +0530 Subject: [PATCH 059/106] update-desc --- static/cliov3-spec-all.json | 1 - 1 file changed, 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 20b6a490..bf7e8a8a 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1740,7 +1740,6 @@ } ], "title": "Structure Reference", - "description": "Image which will be used for as a reference for structure to have a controlled generation" "description": "Use structure to ensure the generated image maintains a similar layout and organization as the reference image, providing a cohesive and visually balanced result." } }, From e2c4613e37f35461a5b3734606d38648f3ff0db0 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 5 Jun 2024 12:14:01 +0530 Subject: [PATCH 060/106] update-desc --- static/cliov3-spec-all.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index bf7e8a8a..3c137041 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -20,9 +20,9 @@ "paths": { "/v3/images/generate": { "post": { - "summary": "Generate images API", + "summary": "Generate Images API", "operationId": "generateImages", - "description": "Generate images based on a prompt with optional reference image to match style.", + "description": "Generate images based on a prompt with optional reference image to match style and structure.", "requestBody": { "description": "image generation request body.", "content": { @@ -1719,7 +1719,7 @@ } ], "title": "The styles to be used for image generation", - "description": "You can specify a preset, a reference image or both" + "description": "You can specify a preset, a reference image or both." }, "promptBiasingLocaleCode": { "type": "string", @@ -2237,7 +2237,7 @@ "type": "array", "uniqueItems": true, "title": "The style presets", - "description": "You can specify an ID for a style" + "description": "You can specify a preset ID for a style. Refer to Image Model Styles under Concepts for the list of supported Preset IDs. " }, "source": { "allOf": [ From b447690b75f94584523760487baeca89c6b564a8 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 5 Jun 2024 12:58:18 +0530 Subject: [PATCH 061/106] remove-default --- static/cliov3-spec-all.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 3c137041..0ec69fc9 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1687,7 +1687,8 @@ "maxLength": 1024, "minLength": 1, "title": "The prompt", - "description": "The prompt used to generate the image. The longer the prompt - the better" + "description": "The prompt used to generate the image. The longer the prompt - the better", + "examples": ["Horses in a field."] }, "negativePrompt": { "type": "string", @@ -1702,15 +1703,14 @@ } ], "title": "The content class", - "description": "Will guide the generation to being more photographic or more like art" + "description": "Will guide the generation to being more photographic or more like art." }, "visualIntensity": { "type": "integer", "maximum": 10, "minimum": 2, "title": "Visual Intensity", - "description": "Adjusts the overall intensity of your photo's existing visual characteristic", - "default": 6 + "description": "Adjusts the overall intensity of your photo's existing visual characteristics." }, "style": { "allOf": [ From 9bf3e0c13436f8b71be86f3158f9e06883231bb2 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 5 Jun 2024 14:35:40 +0530 Subject: [PATCH 062/106] desc-update --- static/cliov3-spec-all.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 0ec69fc9..54484271 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1294,7 +1294,7 @@ } ], "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
." + "description": "Source image which will be used to expand, fill or generate similar images.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", @@ -1729,7 +1729,7 @@ }, "tileable": { "type": "boolean", - "title": "If the output image should be tileable or not", + "title": "Output image tileability", "description": "An image is tileable if it can be repeated infinitely in any direction without showing visible seams or edges.", "default": "false" }, @@ -1948,12 +1948,13 @@ } ], "title": "The reference image", - "description": "Firefly will create similar variations" + "description": "Firefly will create similar variations based on the source input image." }, "tileable": { "type": "boolean", "title": "Output image tileability", - "description": "An image is tileable if it can be repeated infinitely in any direction without showing visible seams or edges." + "description": "An image is tileable if it can be repeated infinitely in any direction without showing visible seams or edges.", + "default": "false" } }, "type": "object", From bd1bd28d5f35594a32fcf9a2ad146935299c507c Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 5 Jun 2024 14:40:32 +0530 Subject: [PATCH 063/106] desc-update --- static/cliov3-spec-all.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 54484271..2e3f4db4 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1294,7 +1294,7 @@ } ], "title": "Source image", - "description": "Source image which will be used to expand, fill or generate similar images.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Source of the reference image used to generate similar images.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", @@ -1948,7 +1948,7 @@ } ], "title": "The reference image", - "description": "Firefly will create similar variations based on the source input image." + "description": "Firefly will create similar variations based on the reference input image." }, "tileable": { "type": "boolean", From 3256e284def5f131af12e4eefd53608c2c2e704d Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 5 Jun 2024 14:41:53 +0530 Subject: [PATCH 064/106] fix --- static/cliov3-spec-all.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 2e3f4db4..03dcdaf6 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1947,8 +1947,8 @@ "$ref": "#/components/schemas/BaseInputImage" } ], - "title": "The reference image", - "description": "Firefly will create similar variations based on the reference input image." + "title": "Reference image", + "description": "Firefly will generate similar variations based on the reference input image." }, "tileable": { "type": "boolean", From 93eee4d956ca76b6aef4a631efd83e51e3510eb4 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 5 Jun 2024 14:44:34 +0530 Subject: [PATCH 065/106] update-desc --- static/cliov3-spec-all.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 03dcdaf6..98d78ec5 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1481,8 +1481,8 @@ "$ref": "#/components/schemas/ExpandInputImage" } ], - "title": "Input Image", - "description": "The image to be expanded.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "title": "Input image", + "description": "The image to be expanded." }, "placement": { @@ -1538,7 +1538,7 @@ } ], "title": "Source image", - "description": "The image to be expanded. Dimensions of image should not be greater than (4000px X 4000px)." + "description": "Source of the image to be expanded. Dimensions of image should not be greater than (4000px X 4000px). \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "mask": { "allOf": [ From 8be7681b884dc6defbb8a35bb22965b375997f2e Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 6 Jun 2024 08:16:08 +0530 Subject: [PATCH 066/106] update-style --- static/cliov3-spec-all.json | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 98d78ec5..e9b0ff8a 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1538,7 +1538,7 @@ } ], "title": "Source image", - "description": "Source of the image to be expanded. Dimensions of image should not be greater than (4000px X 4000px). \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Source of the image to be expanded. Dimensions of image should not be greater than (4000px X 4000px).\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "mask": { "allOf": [ @@ -1547,12 +1547,13 @@ } ], "title": "Mask image", - "description": "Mask that has to be larger than the source image, and the target size has to match the size of the mask or it will be inferred from the mask." + "description": "Mask has to be larger than the source image, and the target size has to match the size of the mask or it will be inferred from the mask." } }, "type": "object", "required": ["source"], - "title": "ExpandInputImage" }, + "title": "ExpandInputImage" + }, "FillImageRequest": { "properties": { "numVariations": { @@ -2240,15 +2241,6 @@ "title": "The style presets", "description": "You can specify a preset ID for a style. Refer to Image Model Styles under Concepts for the list of supported Preset IDs. " }, - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/PublicBinaryInput" - } - ], - "title": "A style image reference", - "description": "Firefly will detect the style in the image and apply the same style in the generated image. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" - }, "strength": { "type": "integer", "maximum": 100, @@ -2256,11 +2248,7 @@ "title": "The strength of the style", "description": "The strength of the style to be applied.", "default": 50 - } - }, - "type": "object", - "title": "Styles" - }, + }, "imageReference": { "allOf": [ { @@ -2269,7 +2257,11 @@ ], "title": "A style image reference", "description": "Firefly will detect the style in the image and apply the same style in the generated image" - }, + } + }, + "type": "object", + "title": "Styles" + }, "UploadResponse": { "description": "Upload response", "type": "object", From ab0ba0da2a4fe5b57df24ae41ffe69e87587c0a2 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 6 Jun 2024 08:20:20 +0530 Subject: [PATCH 067/106] fix-tileable --- static/cliov3-spec-all.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index e9b0ff8a..d02b5680 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1732,7 +1732,7 @@ "type": "boolean", "title": "Output image tileability", "description": "An image is tileable if it can be repeated infinitely in any direction without showing visible seams or edges.", - "default": "false" + "default": false }, "structure": { "allOf": [ @@ -1955,7 +1955,7 @@ "type": "boolean", "title": "Output image tileability", "description": "An image is tileable if it can be repeated infinitely in any direction without showing visible seams or edges.", - "default": "false" + "default": false } }, "type": "object", From 20bdb24dc1998bf2b14d07f164e1037647dcccc4 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 6 Jun 2024 08:50:50 +0530 Subject: [PATCH 068/106] callout-placement-mask-expandImage --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index d02b5680..60128b23 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1492,7 +1492,7 @@ } ], "title": "Object placement", - "description": "Specifies how the image will be positioned and sized in the final generation. The value should describe the placement and dimensions of the image within the output." + "description": "Specifies how the source image will be positioned and sized in the final generation. The value should describe the placement and dimensions of the image within the output.

Note: Placement for source images cannot be used when a mask image is being applied.

" } }, "type": "object", From 86fea53b11bf87757dbcb4dfc2365ee6c1e13fc8 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 6 Jun 2024 08:56:35 +0530 Subject: [PATCH 069/106] update-mask-expandImage --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 60128b23..a2cc63a1 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1547,7 +1547,7 @@ } ], "title": "Mask image", - "description": "Mask has to be larger than the source image, and the target size has to match the size of the mask or it will be inferred from the mask." + "description": "Defines the expanding area where the source image should expand towards. Mask has to be larger than the source image, and the target size has to match the size of the mask, or it will be inferred from the mask." } }, "type": "object", From 79eaf3d313ed726456a763fefe881eee32b1aa37 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 6 Jun 2024 08:57:22 +0530 Subject: [PATCH 070/106] path-update --- static/cliov3-spec-all.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index a2cc63a1..b1da59b3 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -18,7 +18,7 @@ } ], "paths": { - "/v3/images/generate": { + "/v3/image/generate": { "post": { "summary": "Generate Images API", "operationId": "generateImages", @@ -431,7 +431,7 @@ } } }, - "/v3/images/generate-similar": { + "/v3/image/generate-similar": { "post": { "summary": "Generate Similar Images API", "operationId": "generateSimilarImages", @@ -632,7 +632,7 @@ } } }, - "/v3/images/expand": { + "/v3/image/expand": { "post": { "summary": "Expand Image API", "operationId": "expandImage", @@ -833,7 +833,7 @@ } } }, - "/v3/images/fill": { + "/v3/image/fill": { "post": { "summary": "Fill Image API", "operationId": "fillImage", @@ -1034,7 +1034,7 @@ } } }, - "/v3/images/generate-object-composite": { + "/v3/image/generate-object-composite": { "post": { "summary": "Generate Object Composite API", "operationId": "generateObjectComposite", From 433b2fb8dc523822504147474fceefed96bb10d6 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 6 Jun 2024 14:50:55 +0530 Subject: [PATCH 071/106] Revert "path-update" This reverts commit 79eaf3d313ed726456a763fefe881eee32b1aa37. --- static/cliov3-spec-all.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index b1da59b3..a2cc63a1 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -18,7 +18,7 @@ } ], "paths": { - "/v3/image/generate": { + "/v3/images/generate": { "post": { "summary": "Generate Images API", "operationId": "generateImages", @@ -431,7 +431,7 @@ } } }, - "/v3/image/generate-similar": { + "/v3/images/generate-similar": { "post": { "summary": "Generate Similar Images API", "operationId": "generateSimilarImages", @@ -632,7 +632,7 @@ } } }, - "/v3/image/expand": { + "/v3/images/expand": { "post": { "summary": "Expand Image API", "operationId": "expandImage", @@ -833,7 +833,7 @@ } } }, - "/v3/image/fill": { + "/v3/images/fill": { "post": { "summary": "Fill Image API", "operationId": "fillImage", @@ -1034,7 +1034,7 @@ } } }, - "/v3/image/generate-object-composite": { + "/v3/images/generate-object-composite": { "post": { "summary": "Generate Object Composite API", "operationId": "generateObjectComposite", From 85bb90b8cc705b0ebb4c42e0a23e88d794067630 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 6 Jun 2024 15:15:44 +0530 Subject: [PATCH 072/106] remove-default --- static/cliov3-spec-all.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index a2cc63a1..dc239b77 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2246,8 +2246,7 @@ "maximum": 100, "exclusiveMinimum": 0, "title": "The strength of the style", - "description": "The strength of the style to be applied.", - "default": 50 + "description": "The strength of the style to be applied." }, "imageReference": { "allOf": [ From 5035e61a018a6f645faef61b8e82b4f1c5186ad4 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 6 Jun 2024 15:26:02 +0530 Subject: [PATCH 073/106] add-contentClass-OC --- static/cliov3-spec-all.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index dc239b77..fcf3f6c7 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1900,7 +1900,17 @@ "minItems": 1, "title": "The list of images", "description": "Each image will have a storage item." + }, + "contentClass": { + "allOf": [ + { + "$ref": "#/components/schemas/ContentClassV3" + } + ], + "title": "The detected content class", + "description": "Will be same as input, if input was specified" } + } }, "type": "object", "required": [ From a806374725d5b927713ac18711c27d2b92f02df0 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Thu, 6 Jun 2024 15:30:30 +0530 Subject: [PATCH 074/106] fix --- static/cliov3-spec-all.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index fcf3f6c7..1f54bd7c 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1904,13 +1904,12 @@ "contentClass": { "allOf": [ { - "$ref": "#/components/schemas/ContentClassV3" + "$ref": "#/components/schemas/ContentClass" } ], "title": "The detected content class", "description": "Will be same as input, if input was specified" } - } }, "type": "object", "required": [ From 1dfba76a803374776b3189bca771a690cf992186 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 10 Jun 2024 16:05:27 +0530 Subject: [PATCH 075/106] add-allow-listed-domain --- static/cliov3-spec-all.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 1f54bd7c..0ac6f8cb 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1581,7 +1581,7 @@ } ], "title": "The size", - "description": "The size of the requested generations", + "description": "The size of the requested generations.", "default": { "width": 2048, "height": 2048 @@ -1677,7 +1677,7 @@ } ], "title": "The size", - "description": "The size of the requested generations", + "description": "The size of the requested generations.", "default": { "width": 2048, "height": 2048 @@ -2046,7 +2046,7 @@ } ], "title": "Mask image", - "description": "Mask image which will be used replace the background of the image.
Note: The minimum accepted size for the larger side of the image is 600 px." + "description": "Mask image which will be used replace the background of the image.
Note: The minimum accepted size for the larger side of the image is 600 px. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", @@ -2224,7 +2224,7 @@ } ], "title": "A structure reference image", - "description": "An image with a structure you want to use as a reference for generating image variations." + "description": "An image with a structure you want to use as a reference for generating image variations. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", @@ -2264,7 +2264,7 @@ } ], "title": "A style image reference", - "description": "Firefly will detect the style in the image and apply the same style in the generated image" + "description": "Firefly will detect the style in the image and apply the same style in the generated image. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", From 731ffa3991271c5d77cc508b2d39f59b2b7646b5 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 10 Jun 2024 17:42:00 +0530 Subject: [PATCH 076/106] update-seed-default --- static/cliov3-spec-all.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 0ac6f8cb..f2b242fc 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1453,6 +1453,7 @@ "maxItems": 4, "minItems": 1, "uniqueItems": true, + "default": 0, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, @@ -1570,6 +1571,7 @@ "type": "array", "maxItems": 4, "minItems": 1, + "default": 0, "uniqueItems": true, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" @@ -1666,6 +1668,7 @@ "type": "array", "maxItems": 4, "minItems": 1, + "default": 0, "uniqueItems": true, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations." @@ -1813,6 +1816,7 @@ "type": "array", "maxItems": 4, "minItems": 1, + "default": 0, "uniqueItems": true, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" @@ -1934,6 +1938,7 @@ "type": "array", "maxItems": 4, "minItems": 1, + "default": 0, "uniqueItems": true, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" From 9c20b59a6db0821e666cdffcc0408d600250ef6e Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Mon, 10 Jun 2024 17:44:12 +0530 Subject: [PATCH 077/106] Revert "update-seed-default" This reverts commit 731ffa3991271c5d77cc508b2d39f59b2b7646b5. --- static/cliov3-spec-all.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index f2b242fc..0ac6f8cb 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1453,7 +1453,6 @@ "maxItems": 4, "minItems": 1, "uniqueItems": true, - "default": 0, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, @@ -1571,7 +1570,6 @@ "type": "array", "maxItems": 4, "minItems": 1, - "default": 0, "uniqueItems": true, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" @@ -1668,7 +1666,6 @@ "type": "array", "maxItems": 4, "minItems": 1, - "default": 0, "uniqueItems": true, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations." @@ -1816,7 +1813,6 @@ "type": "array", "maxItems": 4, "minItems": 1, - "default": 0, "uniqueItems": true, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" @@ -1938,7 +1934,6 @@ "type": "array", "maxItems": 4, "minItems": 1, - "default": 0, "uniqueItems": true, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" From 9ed556576ba9ba4a3c22a6261803c9b091011a41 Mon Sep 17 00:00:00 2001 From: Holly Schinsky Date: Tue, 11 Jun 2024 17:15:10 -0400 Subject: [PATCH 078/106] Update cliov3-spec-all.json Testing using just one of the image options --- static/cliov3-spec-all.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 0ac6f8cb..114f0a29 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1532,7 +1532,7 @@ "ExpandInputImage": { "properties": { "source": { - "allOf": [ + "oneOf": [ { "$ref": "#/components/schemas/PublicBinaryInput" } @@ -2338,4 +2338,4 @@ } } } - } \ No newline at end of file + } From b8862154a5cea93b73a852a50d8f2b49f41fb530 Mon Sep 17 00:00:00 2001 From: Holly Schinsky Date: Tue, 11 Jun 2024 18:07:09 -0400 Subject: [PATCH 079/106] Update cliov3-spec-all.json Removed test --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 114f0a29..fb3ff731 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1532,7 +1532,7 @@ "ExpandInputImage": { "properties": { "source": { - "oneOf": [ + "allOf": [ { "$ref": "#/components/schemas/PublicBinaryInput" } From d21f0d09d74d0139667f42169a9a7959d9f5ca98 Mon Sep 17 00:00:00 2001 From: Holly Schinsky Date: Tue, 11 Jun 2024 19:02:37 -0400 Subject: [PATCH 080/106] Test request interceptor --- _override/ReferenceDocsHooks.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 _override/ReferenceDocsHooks.tsx diff --git a/_override/ReferenceDocsHooks.tsx b/_override/ReferenceDocsHooks.tsx new file mode 100644 index 00000000..d56beb7e --- /dev/null +++ b/_override/ReferenceDocsHooks.tsx @@ -0,0 +1,14 @@ +export function requestInterceptor(req, operation) { + console.log('***!!! Operation:', operation); + // // you get the operation model with raw operation info from the OAS definition + const rawOperation = operation.operationDefinition; + console.log('***!!! Request:', req, rawOperation); + + // // you can manipulate headers, e.g. inject header based on req body + // req.headers['x-body-length'] = req.body?.length; + + // // you can also change the req URL + // req.url = '/proxy' + req.url; + + return req; +} From c2110a9262cb7bd5d48ed3b8bf3996c9f2bde819 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 14:53:08 +0530 Subject: [PATCH 081/106] update-size-expandImage --- static/cliov3-spec-all.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 0ac6f8cb..b5c8d7d3 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1462,8 +1462,7 @@ "$ref": "#/components/schemas/Size" } ], - "title": "The size", - "description": "Specifies the desired width and height for the final, expanded image.", + "description": "Specifies the desired width and height for the final, expanded image. Supported dimensions for the expanded image. \n | Dimensions | Description | \n | -----------| ----- |\n | { \"width\": 2048, \"height\": 2048} | Square (1:1) |\n | { \"width\": 2304, \"height\": 1792 } | Landscape (4:3) |\n | { \"width\": 1792, \"height\": 2304 } | Portrait (3:4) | \n | { \"width\": 2688, \"height\": 1536 } | Widescreen (16:9) |\n", "default": { "width": 2048, "height": 2048 @@ -2194,7 +2193,6 @@ "title": "The height of the output image" } }, - "description": "Dimensions of the generated image\n | Dimensions | Description | \n | -----------| ----- |\n | { \"width\": 2048, \"height\": 2048} | Square (1:1) |\n | { \"width\": 2304, \"height\": 1792 } | Landscape (4:3) |\n | { \"width\": 1792, \"height\": 2304 } | Portrait (3:4) | \n | { \"width\": 2688, \"height\": 1536 } | Widescreen (16:9) |\n", "type": "object", "required": ["width", "height"], "title": "Size" From a78305187a7aea638708cf7b3c79adb7f2c18ae6 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 15:13:56 +0530 Subject: [PATCH 082/106] test-enum --- static/cliov3-spec-all.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 4af6429c..47578c9a 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2184,13 +2184,14 @@ "type": "integer", "maximum": 2688, "minimum": 1, - "title": "The width of the output image" + "enum" : [2688,1344], + "title": "The desired width of the output image." }, "height": { "type": "integer", "maximum": 2688, "minimum": 1, - "title": "The height of the output image" + "title": "The desired height of the output image." } }, "type": "object", From 8360732259a39d3f038066a259fed8f21a57f2f6 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 15:35:36 +0530 Subject: [PATCH 083/106] Revert "test-enum" This reverts commit a78305187a7aea638708cf7b3c79adb7f2c18ae6. --- static/cliov3-spec-all.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 47578c9a..4af6429c 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2184,14 +2184,13 @@ "type": "integer", "maximum": 2688, "minimum": 1, - "enum" : [2688,1344], - "title": "The desired width of the output image." + "title": "The width of the output image" }, "height": { "type": "integer", "maximum": 2688, "minimum": 1, - "title": "The desired height of the output image." + "title": "The height of the output image" } }, "type": "object", From 80b5a287d4eb30d5a58b5bc35a8ae3f7dcbd1b94 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 15:47:47 +0530 Subject: [PATCH 084/106] update-expandImage-size --- static/cliov3-spec-all.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 4af6429c..f27b14e5 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1462,7 +1462,7 @@ "$ref": "#/components/schemas/Size" } ], - "description": "Specifies the desired width and height for the final, expanded image. Supported dimensions for the expanded image. \n | Dimensions | Description | \n | -----------| ----- |\n | { \"width\": 2048, \"height\": 2048} | Square (1:1) |\n | { \"width\": 2304, \"height\": 1792 } | Landscape (4:3) |\n | { \"width\": 1792, \"height\": 2304 } | Portrait (3:4) | \n | { \"width\": 2688, \"height\": 1536 } | Widescreen (16:9) |\n", + "description": "Specifies the desired width and height for the final, expanded image. Supported dimensions for the expanded image. \n | Dimensions | Description | \n | -----------| ----- |\n | { \"width\": 2048, \"height\": 2048} | Square (1:1) |\n | { \"width\": 2304, \"height\": 1792 } | Landscape (4:3) |\n | { \"width\": 1792, \"height\": 2304 } | Portrait (3:4) | \n | { \"width\": 2688, \"height\": 1536 } | Widescreen (16:9) | \n | { \"width\": 1344, \"height\": 768 } |(7:4) | \n |{ \"width\": 1152, \"height\": 896 } |(9:7) | \n |{ \"width\": 896, \"height\": 1152 } |(7:9) | \n | { \"width\": 1024, \"height\": 1024} | Square (1:1) |", "default": { "width": 2048, "height": 2048 @@ -2184,13 +2184,13 @@ "type": "integer", "maximum": 2688, "minimum": 1, - "title": "The width of the output image" + "title": "The desired width of the output image." }, "height": { "type": "integer", "maximum": 2688, "minimum": 1, - "title": "The height of the output image" + "title": "The desired height of the output image." } }, "type": "object", From b43acd3f7338b94190d15cbf1bdb8d93364ce5ca Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 15:51:05 +0530 Subject: [PATCH 085/106] fillImage-size-update --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index f27b14e5..67f49baa 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1580,7 +1580,7 @@ } ], "title": "The size", - "description": "The size of the requested generations.", + "description": "The size of the requested generations. The supported dimensions for image generations are: \n | Dimensions | Description | \n | -----------| ----- |\n | { \"width\": 2048, \"height\": 2048} | Square (1:1) |\n | { \"width\": 2304, \"height\": 1792 } | Landscape (4:3) |\n | { \"width\": 1792, \"height\": 2304 } | Portrait (3:4) | \n | { \"width\": 2688, \"height\": 1536 } | Widescreen (16:9) | \n | { \"width\": 1344, \"height\": 768 } |(7:4) | \n |{ \"width\": 1152, \"height\": 896 } |(9:7) | \n |{ \"width\": 896, \"height\": 1152 } |(7:9) | \n | { \"width\": 1024, \"height\": 1024} | Square (1:1) |", "default": { "width": 2048, "height": 2048 From 2969778f62d98969b5ec8cf93cf1a5d2820c295b Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 15:52:59 +0530 Subject: [PATCH 086/106] generateImage-size-update --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 67f49baa..14069d12 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1676,7 +1676,7 @@ } ], "title": "The size", - "description": "The size of the requested generations.", + "description": "The size of the requested generations. The supported dimensions for image generations are: \n | Dimensions | Description | \n | -----------| ----- |\n | { \"width\": 2048, \"height\": 2048} | Square (1:1) |\n | { \"width\": 2304, \"height\": 1792 } | Landscape (4:3) |\n | { \"width\": 1792, \"height\": 2304 } | Portrait (3:4) | \n | { \"width\": 2688, \"height\": 1536 } | Widescreen (16:9) | \n | { \"width\": 1344, \"height\": 768 } |(7:4) | \n |{ \"width\": 1152, \"height\": 896 } |(9:7) | \n |{ \"width\": 896, \"height\": 1152 } |(7:9) | \n | { \"width\": 1024, \"height\": 1024} | Square (1:1) |", "default": { "width": 2048, "height": 2048 From 5fe721c1b9d25883aec3473cfd0d1f642a5a62d9 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 15:55:09 +0530 Subject: [PATCH 087/106] update-size Update Size generare Similar and OC --- static/cliov3-spec-all.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 14069d12..407fed8b 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1823,7 +1823,7 @@ } ], "title": "The size", - "description": "The size of the requested generations", + "description": "The size of the requested generations. The supported dimensions for image generations are: \n | Dimensions | Description | \n | -----------| ----- |\n | { \"width\": 2048, \"height\": 2048} | Square (1:1) |\n | { \"width\": 2304, \"height\": 1792 } | Landscape (4:3) |\n | { \"width\": 1792, \"height\": 2304 } | Portrait (3:4) | \n | { \"width\": 2688, \"height\": 1536 } | Widescreen (16:9) | \n | { \"width\": 1344, \"height\": 768 } |(7:4) | \n |{ \"width\": 1152, \"height\": 896 } |(9:7) | \n |{ \"width\": 896, \"height\": 1152 } |(7:9) | \n | { \"width\": 1024, \"height\": 1024} | Square (1:1) |", "default": { "width": 2048, "height": 2048 @@ -1944,7 +1944,7 @@ } ], "title": "The size", - "description": "The size of the requested generations", + "description": "The size of the requested generations. The supported dimensions for image generations are: \n | Dimensions | Description | \n | -----------| ----- |\n | { \"width\": 2048, \"height\": 2048} | Square (1:1) |\n | { \"width\": 2304, \"height\": 1792 } | Landscape (4:3) |\n | { \"width\": 1792, \"height\": 2304 } | Portrait (3:4) | \n | { \"width\": 2688, \"height\": 1536 } | Widescreen (16:9) | \n | { \"width\": 1344, \"height\": 768 } |(7:4) | \n |{ \"width\": 1152, \"height\": 896 } |(9:7) | \n |{ \"width\": 896, \"height\": 1152 } |(7:9) | \n | { \"width\": 1024, \"height\": 1024} | Square (1:1) |", "default": { "width": 2048, "height": 2048 From c08c6fdf28766309ba5c15fc26f67584fe2d11f1 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 16:01:57 +0530 Subject: [PATCH 088/106] update-seed-default --- static/cliov3-spec-all.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 407fed8b..03897457 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1454,6 +1454,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", + "default" : 0, "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, "size": { @@ -1570,6 +1571,7 @@ "maxItems": 4, "minItems": 1, "uniqueItems": true, + "default" : 0, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, @@ -1666,6 +1668,7 @@ "maxItems": 4, "minItems": 1, "uniqueItems": true, + "default" : 0, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations." }, @@ -1813,6 +1816,7 @@ "maxItems": 4, "minItems": 1, "uniqueItems": true, + "default" : 0, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, @@ -1934,6 +1938,7 @@ "maxItems": 4, "minItems": 1, "uniqueItems": true, + "default" : 0, "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, From 3dc759db3ee4a0ba8faccba48cb55d23ecf46e61 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 16:04:02 +0530 Subject: [PATCH 089/106] generateSimilar generateSimilar Image dimensions --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 03897457..66c4dc43 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1962,7 +1962,7 @@ } ], "title": "Reference image", - "description": "Firefly will generate similar variations based on the reference input image." + "description": "Firefly will generate similar variations based on the reference input image. Dimensions of image should not be greater than (4000px X 4000px)." }, "tileable": { "type": "boolean", From 0b38eb2d760e930d3934b4c932d604e14305967e Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 16:07:09 +0530 Subject: [PATCH 090/106] fix --- static/cliov3-spec-all.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 66c4dc43..e51a7ac6 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1690,14 +1690,14 @@ "maxLength": 1024, "minLength": 1, "title": "The prompt", - "description": "The prompt used to generate the image. The longer the prompt - the better", + "description": "The prompt used to generate the image. The longer the prompt - the better.", "examples": ["Horses in a field."] }, "negativePrompt": { "type": "string", "maxLength": 1024, "title": "Avoid prompt", - "description": "Inference will try to generate against this prompt" + "description": "Inference will try to generate against this prompt." }, "contentClass": { "allOf": [ @@ -2227,7 +2227,7 @@ } ], "title": "A structure reference image", - "description": "An image with a structure you want to use as a reference for generating image variations. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "An image with a structure you want to use as a reference for generating image variations. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", From 1e641d09fa0a95df54908f0a85699046f60c7ad3 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 16:11:53 +0530 Subject: [PATCH 091/106] update-source-image-desc --- static/cliov3-spec-all.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index e51a7ac6..1860d98c 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2075,7 +2075,8 @@ } }, "type": "object", - "title": "PublicBinaryInput" + "title": "PublicBinaryInput", + "description": " You can either use a url or an uploadId as the source for the input image." }, "PublicBinaryOutput": { "properties": { From 23f19a3fb5bca3447fd010e8e03b1f015fc01333 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 16:17:11 +0530 Subject: [PATCH 092/106] fix --- static/cliov3-spec-all.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 1860d98c..b9032820 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1294,7 +1294,7 @@ } ], "title": "Source image", - "description": "Source of the reference image used to generate similar images.\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Source of the reference image used to generate similar images. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", @@ -1538,7 +1538,7 @@ } ], "title": "Source image", - "description": "Source of the image to be expanded. Dimensions of image should not be greater than (4000px X 4000px).\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Source of the image to be expanded. Dimensions of image should not be greater than (4000px X 4000px). \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "mask": { "allOf": [ @@ -1840,7 +1840,7 @@ } ], "title": "Input Image", - "description": "An image of an object that needs to be rendered on a scene. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "An image of an object that needs to be rendered on a scene. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "prompt": { "type": "string", @@ -2041,7 +2041,7 @@ } ], "title": "Input image", - "description": "Upload an image you want to fill. Dimensions of image should not be greater than (4000px X 4000px).\nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Upload an image you want to fill. Dimensions of image should not be greater than (4000px X 4000px). \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "mask": { "allOf": [ @@ -2050,7 +2050,7 @@ } ], "title": "Mask image", - "description": "Mask image which will be used replace the background of the image.
Note: The minimum accepted size for the larger side of the image is 600 px. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Mask image which will be used replace the background of the image.
Note: The minimum accepted size for the larger side of the image is 600 px. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", @@ -2228,7 +2228,7 @@ } ], "title": "A structure reference image", - "description": "An image with a structure you want to use as a reference for generating image variations. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "An image with a structure you want to use as a reference for generating image variations. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", @@ -2268,7 +2268,7 @@ } ], "title": "A style image reference", - "description": "Firefly will detect the style in the image and apply the same style in the generated image. \nNote: Only allow listed domains are allowed to be accepted as input URL in the request.\nThe allow-listed domains are as follows:\n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Firefly will detect the style in the image and apply the same style in the generated image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", From 41360afd41e77bfd4d7b04dd566dfdb2bc377393 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 16:23:39 +0530 Subject: [PATCH 093/106] fix-fillImage --- static/cliov3-spec-all.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index b9032820..41e0264e 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1608,7 +1608,7 @@ } ], "title": "Input Image", - "description": "Input image to fill with generative content." + "description": "Input image to fill with generative content. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "promptBiasingLocaleCode": { "type": "string", @@ -2041,7 +2041,7 @@ } ], "title": "Input image", - "description": "Upload an image you want to fill. Dimensions of image should not be greater than (4000px X 4000px). \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Upload an image you want to fill. Dimensions of image should not be greater than (4000px X 4000px)." }, "mask": { "allOf": [ @@ -2050,7 +2050,7 @@ } ], "title": "Mask image", - "description": "Mask image which will be used replace the background of the image.
Note: The minimum accepted size for the larger side of the image is 600 px. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Mask image which will be used replace the background of the image.
Note: The minimum accepted size for the larger side of the image is 600 px." } }, "type": "object", From 29a23ec7847f2981aea13b49a4bc6378580ca311 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 16:27:54 +0530 Subject: [PATCH 094/106] fix-genSimilar --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 41e0264e..a7babbd1 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1294,7 +1294,7 @@ } ], "title": "Source image", - "description": "Source of the reference image used to generate similar images. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Source of the reference image used to generate similar images. You can either use a url or an uploadId as the source for the input image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", From cb6e8c070085facad89977e9323aa6d78e9bb6b5 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 16:33:49 +0530 Subject: [PATCH 095/106] expand-image-fix --- static/cliov3-spec-all.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index a7babbd1..77613c54 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1482,8 +1482,7 @@ } ], "title": "Input image", - "description": "The image to be expanded." - + "description": "The image to be expanded. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "placement": { "allOf": [ @@ -1538,7 +1537,7 @@ } ], "title": "Source image", - "description": "Source of the image to be expanded. Dimensions of image should not be greater than (4000px X 4000px). \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Source of the image to be expanded. Dimensions of image should not be greater than (4000px X 4000px). You can either use a url or an uploadId as the source for the input image." }, "mask": { "allOf": [ @@ -1547,12 +1546,12 @@ } ], "title": "Mask image", - "description": "Defines the expanding area where the source image should expand towards. Mask has to be larger than the source image, and the target size has to match the size of the mask, or it will be inferred from the mask." + "description": "Defines the expanding area where the source image should expand towards. Mask has to be larger than the source image, and the target size has to match the size of the mask, or it will be inferred from the mask. You can either use a url or an uploadId as the source for the input image." } }, "type": "object", "required": ["source"], - "title": "ExpandInputImage" + "title": "ExpandInputImage" }, "FillImageRequest": { "properties": { From 1ea9dd4e0504c1fbe4c6477ab95755df6ac3ff51 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 16:38:43 +0530 Subject: [PATCH 096/106] fix --- static/cliov3-spec-all.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 77613c54..71ea2d10 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1482,7 +1482,7 @@ } ], "title": "Input image", - "description": "The image to be expanded. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "The image to be expanded. You can either use a url or an uploadId as the source for the input image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "placement": { "allOf": [ @@ -1537,7 +1537,7 @@ } ], "title": "Source image", - "description": "Source of the image to be expanded. Dimensions of image should not be greater than (4000px X 4000px). You can either use a url or an uploadId as the source for the input image." + "description": "Source of the image to be expanded. Dimensions of image should not be greater than (4000px X 4000px)." }, "mask": { "allOf": [ @@ -1546,7 +1546,7 @@ } ], "title": "Mask image", - "description": "Defines the expanding area where the source image should expand towards. Mask has to be larger than the source image, and the target size has to match the size of the mask, or it will be inferred from the mask. You can either use a url or an uploadId as the source for the input image." + "description": "Defines the expanding area where the source image should expand towards. Mask has to be larger than the source image, and the target size has to match the size of the mask, or it will be inferred from the mask." } }, "type": "object", @@ -1607,7 +1607,7 @@ } ], "title": "Input Image", - "description": "Input image to fill with generative content. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Input image to fill with generative content. You can either use a url or an uploadId as the source for the input image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "promptBiasingLocaleCode": { "type": "string", @@ -1839,7 +1839,7 @@ } ], "title": "Input Image", - "description": "An image of an object that needs to be rendered on a scene. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "An image of an object that needs to be rendered on a scene. You can either use a url or an uploadId as the source for the input image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "prompt": { "type": "string", From a3d863d6114c6ef41cf2e8b6e6c6c66d392008d1 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 16:40:51 +0530 Subject: [PATCH 097/106] fix --- static/cliov3-spec-all.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 71ea2d10..b03c76e6 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1294,7 +1294,7 @@ } ], "title": "Source image", - "description": "Source of the reference image used to generate similar images. You can either use a url or an uploadId as the source for the input image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Source of the reference image used to generate similar images. You can either use a url or an uploadId as the source for the uploaded image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" } }, "type": "object", @@ -1482,7 +1482,7 @@ } ], "title": "Input image", - "description": "The image to be expanded. You can either use a url or an uploadId as the source for the input image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "The image to be expanded. You can either use a url or an uploadId as the source for the uploaded image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "placement": { "allOf": [ @@ -1607,7 +1607,7 @@ } ], "title": "Input Image", - "description": "Input image to fill with generative content. You can either use a url or an uploadId as the source for the input image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Input image to fill with generative content. You can either use a url or an uploadId as the source for the uploaded image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "promptBiasingLocaleCode": { "type": "string", @@ -1839,7 +1839,7 @@ } ], "title": "Input Image", - "description": "An image of an object that needs to be rendered on a scene. You can either use a url or an uploadId as the source for the input image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "An image of an object that needs to be rendered on a scene. You can either use a url or an uploadId as the source for the uploaded image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "prompt": { "type": "string", @@ -2075,7 +2075,7 @@ }, "type": "object", "title": "PublicBinaryInput", - "description": " You can either use a url or an uploadId as the source for the input image." + "description": " You can either use a url or an uploadId as the source for the uploaded image." }, "PublicBinaryOutput": { "properties": { From 35f29aecaff87d74b4eadd239ac5d95d147e39d3 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 16:46:02 +0530 Subject: [PATCH 098/106] fix --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index b03c76e6..9f5b7bc4 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1607,7 +1607,7 @@ } ], "title": "Input Image", - "description": "Input image to fill with generative content. You can either use a url or an uploadId as the source for the uploaded image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" + "description": "Input image to fill with generative content. You can either use a url or an uploadId as the source for the uploaded image. \n Note: Only allow listed domains are allowed to be accepted as input URL in the request. The allow-listed domains are as follows: \n
  • amazonaws.com
  • windows.net
  • dropboxusercontent.com
" }, "promptBiasingLocaleCode": { "type": "string", From 4d01e8e17bab7a530293626b4fa102153c173463 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 17:22:11 +0530 Subject: [PATCH 099/106] expand-image-size-removal --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 9f5b7bc4..531b0aef 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1463,7 +1463,7 @@ "$ref": "#/components/schemas/Size" } ], - "description": "Specifies the desired width and height for the final, expanded image. Supported dimensions for the expanded image. \n | Dimensions | Description | \n | -----------| ----- |\n | { \"width\": 2048, \"height\": 2048} | Square (1:1) |\n | { \"width\": 2304, \"height\": 1792 } | Landscape (4:3) |\n | { \"width\": 1792, \"height\": 2304 } | Portrait (3:4) | \n | { \"width\": 2688, \"height\": 1536 } | Widescreen (16:9) | \n | { \"width\": 1344, \"height\": 768 } |(7:4) | \n |{ \"width\": 1152, \"height\": 896 } |(9:7) | \n |{ \"width\": 896, \"height\": 1152 } |(7:9) | \n | { \"width\": 1024, \"height\": 1024} | Square (1:1) |", + "description": "Specifies the desired width and height for the final, expanded image. The dimensions of the desired image should be less than 4000px by 4000px.", "default": { "width": 2048, "height": 2048 From d4f80612dc3b9f159501a84175bad38dbe644ba0 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Wed, 12 Jun 2024 17:23:51 +0530 Subject: [PATCH 100/106] update-oc --- static/cliov3-spec-all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 531b0aef..f30c2ebd 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -2013,7 +2013,7 @@ } ], "title": "Source image", - "description": "An image of an object that needs to be rendered on a scene." + "description": "An image of an object that needs to be rendered on a scene. Dimensions of image should not be greater than (4000px X 4000px)." }, "mask": { "allOf": [ From bcfbece81f546d60cb8f6cd5240b9dd40c669c06 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 14 Jun 2024 11:19:17 +0530 Subject: [PATCH 101/106] fix --- static/cliov3-spec-all.json | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index f30c2ebd..867950e8 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1454,7 +1454,7 @@ "minItems": 1, "uniqueItems": true, "title": "The seed of each variation", - "default" : 0, + "default" : [ 0 ], "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, "size": { @@ -1570,23 +1570,10 @@ "maxItems": 4, "minItems": 1, "uniqueItems": true, - "default" : 0, + "default" : [ 0 ], "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, - "size": { - "allOf": [ - { - "$ref": "#/components/schemas/Size" - } - ], - "title": "The size", - "description": "The size of the requested generations. The supported dimensions for image generations are: \n | Dimensions | Description | \n | -----------| ----- |\n | { \"width\": 2048, \"height\": 2048} | Square (1:1) |\n | { \"width\": 2304, \"height\": 1792 } | Landscape (4:3) |\n | { \"width\": 1792, \"height\": 2304 } | Portrait (3:4) | \n | { \"width\": 2688, \"height\": 1536 } | Widescreen (16:9) | \n | { \"width\": 1344, \"height\": 768 } |(7:4) | \n |{ \"width\": 1152, \"height\": 896 } |(9:7) | \n |{ \"width\": 896, \"height\": 1152 } |(7:9) | \n | { \"width\": 1024, \"height\": 1024} | Square (1:1) |", - "default": { - "width": 2048, - "height": 2048 - } - }, "prompt": { "type": "string", "maxLength": 1024, @@ -1667,7 +1654,7 @@ "maxItems": 4, "minItems": 1, "uniqueItems": true, - "default" : 0, + "default" : [ 0 ], "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations." }, @@ -1815,7 +1802,7 @@ "maxItems": 4, "minItems": 1, "uniqueItems": true, - "default" : 0, + "default" : [ 0 ], "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, @@ -1937,7 +1924,7 @@ "maxItems": 4, "minItems": 1, "uniqueItems": true, - "default" : 0, + "default" : [ 0 ], "title": "The seed of each variation", "description": "Array of seed(s) that ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified alongside with numVariations, the number of seeds must be the equal to numVariations" }, From ac579d6ebfc87bd471219373c76fa6a8e00831e0 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 14 Jun 2024 11:21:24 +0530 Subject: [PATCH 102/106] remove-4000px --- static/cliov3-spec-all.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 867950e8..47fd1a10 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1948,7 +1948,7 @@ } ], "title": "Reference image", - "description": "Firefly will generate similar variations based on the reference input image. Dimensions of image should not be greater than (4000px X 4000px)." + "description": "Firefly will generate similar variations based on the reference input image." }, "tileable": { "type": "boolean", @@ -2000,7 +2000,7 @@ } ], "title": "Source image", - "description": "An image of an object that needs to be rendered on a scene. Dimensions of image should not be greater than (4000px X 4000px)." + "description": "An image of an object that needs to be rendered on a scene." }, "mask": { "allOf": [ @@ -2027,7 +2027,7 @@ } ], "title": "Input image", - "description": "Upload an image you want to fill. Dimensions of image should not be greater than (4000px X 4000px)." + "description": "Upload an image you want to fill." }, "mask": { "allOf": [ From 28be50d89286f954b1a5220ba62b37b13871c95e Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 14 Jun 2024 16:07:01 +0530 Subject: [PATCH 103/106] update-expand-size --- static/cliov3-spec-all.json | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 47fd1a10..030765c1 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1460,7 +1460,7 @@ "size": { "allOf": [ { - "$ref": "#/components/schemas/Size" + "$ref": "#/components/schemas/expandSize" } ], "description": "Specifies the desired width and height for the final, expanded image. The dimensions of the desired image should be less than 4000px by 4000px.", @@ -2189,6 +2189,28 @@ "required": ["width", "height"], "title": "Size" }, + "expandSize": { + "properties": { + "width": { + "type": "integer", + "maximum": 4000, + "minimum": 1, + "title": "The width of the output image" + }, + "height": { + "type": "integer", + "maximum": 4000, + "minimum": 1, + "title": "The height of the output image" + } + }, + "type": "object", + "required": [ + "width", + "height" + ], + "title": "Size" + }, "StructureImageReference": { "properties": { "source": { From 24e6910a2d6b2ebc286b99daf8240a235dc67c9c Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 14 Jun 2024 16:08:53 +0530 Subject: [PATCH 104/106] fix --- static/cliov3-spec-all.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 030765c1..81ca6fe7 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1463,11 +1463,7 @@ "$ref": "#/components/schemas/expandSize" } ], - "description": "Specifies the desired width and height for the final, expanded image. The dimensions of the desired image should be less than 4000px by 4000px.", - "default": { - "width": 2048, - "height": 2048 - } + "description": "Specifies the desired width and height for the final, expanded image." }, "prompt": { "type": "string", From a57be8bb5e74e621f1c17b35063c5955be442124 Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 14 Jun 2024 16:10:54 +0530 Subject: [PATCH 105/106] added-default --- static/cliov3-spec-all.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index 81ca6fe7..b414586c 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1463,7 +1463,11 @@ "$ref": "#/components/schemas/expandSize" } ], - "description": "Specifies the desired width and height for the final, expanded image." + "description": "Specifies the desired width and height for the final, expanded image.", + "default": { + "width": 2048, + "height": 2048 + } }, "prompt": { "type": "string", From 0a9787eefb550011f2b63364b186ee3e83d3a2ad Mon Sep 17 00:00:00 2001 From: Nimitha Jalal Date: Fri, 14 Jun 2024 16:22:16 +0530 Subject: [PATCH 106/106] Revert "update-expand-size" This reverts commit 28be50d89286f954b1a5220ba62b37b13871c95e. --- static/cliov3-spec-all.json | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/static/cliov3-spec-all.json b/static/cliov3-spec-all.json index b414586c..a4c97160 100644 --- a/static/cliov3-spec-all.json +++ b/static/cliov3-spec-all.json @@ -1460,7 +1460,7 @@ "size": { "allOf": [ { - "$ref": "#/components/schemas/expandSize" + "$ref": "#/components/schemas/Size" } ], "description": "Specifies the desired width and height for the final, expanded image.", @@ -2189,28 +2189,6 @@ "required": ["width", "height"], "title": "Size" }, - "expandSize": { - "properties": { - "width": { - "type": "integer", - "maximum": 4000, - "minimum": 1, - "title": "The width of the output image" - }, - "height": { - "type": "integer", - "maximum": 4000, - "minimum": 1, - "title": "The height of the output image" - } - }, - "type": "object", - "required": [ - "width", - "height" - ], - "title": "Size" - }, "StructureImageReference": { "properties": { "source": {