{
    "openapi": "3.1.0",
    "info": {
        "title": "FastAPI",
        "version": "0.1.0"
    },
    "paths": {
        "/": {
            "get": {
                "summary": "Home",
                "operationId": "home__get",
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/v1/generation/text-to-image": {
            "post": {
                "summary": "Text2Img Generation",
                "operationId": "text2img_generation_v1_generation_text_to_image_post",
                "parameters": [
                    {
                        "name": "accept",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Parameter to overvide 'Accept' header, 'image/png' for output bytes",
                            "title": "Accept"
                        },
                        "description": "Parameter to overvide 'Accept' header, 'image/png' for output bytes"
                    },
                    {
                        "name": "accept",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "title": "Accept"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Text2ImgRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "PNG bytes if request's 'Accept' header is 'image/png', otherwise JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/GeneratedImageResult"
                                            }
                                        },
                                        {
                                            "$ref": "#/components/schemas/AsyncJobResponse"
                                        }
                                    ],
                                    "title": "Response Text2Img Generation V1 Generation Text To Image Post"
                                },
                                "example": [
                                    {
                                        "base64": "...very long string...",
                                        "seed": 1050625087,
                                        "finish_reason": "SUCCESS"
                                    }
                                ]
                            },
                            "application/json async": {
                                "example": {
                                    "job_id": 1,
                                    "job_type": "Text to Image"
                                }
                            },
                            "image/png": {
                                "example": "PNG bytes, what did you expect?"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/generation/image-upscale-vary": {
            "post": {
                "summary": "Img Upscale Or Vary",
                "operationId": "img_upscale_or_vary_v1_generation_image_upscale_vary_post",
                "parameters": [
                    {
                        "name": "accept",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Parameter to overvide 'Accept' header, 'image/png' for output bytes",
                            "title": "Accept"
                        },
                        "description": "Parameter to overvide 'Accept' header, 'image/png' for output bytes"
                    },
                    {
                        "name": "accept",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "title": "Accept"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/Body_img_upscale_or_vary_v1_generation_image_upscale_vary_post"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "PNG bytes if request's 'Accept' header is 'image/png', otherwise JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/GeneratedImageResult"
                                            }
                                        },
                                        {
                                            "$ref": "#/components/schemas/AsyncJobResponse"
                                        }
                                    ],
                                    "title": "Response Img Upscale Or Vary V1 Generation Image Upscale Vary Post"
                                },
                                "example": [
                                    {
                                        "base64": "...very long string...",
                                        "seed": 1050625087,
                                        "finish_reason": "SUCCESS"
                                    }
                                ]
                            },
                            "application/json async": {
                                "example": {
                                    "job_id": 1,
                                    "job_type": "Text to Image"
                                }
                            },
                            "image/png": {
                                "example": "PNG bytes, what did you expect?"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/generation/image-inpait-outpaint": {
            "post": {
                "summary": "Img Inpaint Or Outpaint",
                "operationId": "img_inpaint_or_outpaint_v1_generation_image_inpait_outpaint_post",
                "parameters": [
                    {
                        "name": "accept",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Parameter to overvide 'Accept' header, 'image/png' for output bytes",
                            "title": "Accept"
                        },
                        "description": "Parameter to overvide 'Accept' header, 'image/png' for output bytes"
                    },
                    {
                        "name": "accept",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "title": "Accept"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/Body_img_inpaint_or_outpaint_v1_generation_image_inpait_outpaint_post"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "PNG bytes if request's 'Accept' header is 'image/png', otherwise JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/GeneratedImageResult"
                                            }
                                        },
                                        {
                                            "$ref": "#/components/schemas/AsyncJobResponse"
                                        }
                                    ],
                                    "title": "Response Img Inpaint Or Outpaint V1 Generation Image Inpait Outpaint Post"
                                },
                                "example": [
                                    {
                                        "base64": "...very long string...",
                                        "seed": 1050625087,
                                        "finish_reason": "SUCCESS"
                                    }
                                ]
                            },
                            "application/json async": {
                                "example": {
                                    "job_id": 1,
                                    "job_type": "Text to Image"
                                }
                            },
                            "image/png": {
                                "example": "PNG bytes, what did you expect?"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/generation/image-prompt": {
            "post": {
                "summary": "Img Prompt",
                "operationId": "img_prompt_v1_generation_image_prompt_post",
                "parameters": [
                    {
                        "name": "accept",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Parameter to overvide 'Accept' header, 'image/png' for output bytes",
                            "title": "Accept"
                        },
                        "description": "Parameter to overvide 'Accept' header, 'image/png' for output bytes"
                    },
                    {
                        "name": "accept",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "title": "Accept"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/Body_img_prompt_v1_generation_image_prompt_post"
                                    }
                                ],
                                "title": "Body"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "PNG bytes if request's 'Accept' header is 'image/png', otherwise JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/GeneratedImageResult"
                                            }
                                        },
                                        {
                                            "$ref": "#/components/schemas/AsyncJobResponse"
                                        }
                                    ],
                                    "title": "Response Img Prompt V1 Generation Image Prompt Post"
                                },
                                "example": [
                                    {
                                        "base64": "...very long string...",
                                        "seed": 1050625087,
                                        "finish_reason": "SUCCESS"
                                    }
                                ]
                            },
                            "application/json async": {
                                "example": {
                                    "job_id": 1,
                                    "job_type": "Text to Image"
                                }
                            },
                            "image/png": {
                                "example": "PNG bytes, what did you expect?"
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/generation/query-job": {
            "get": {
                "summary": "Query Job",
                "description": "Query async generation job",
                "operationId": "query_job_v1_generation_query_job_get",
                "parameters": [
                    {
                        "name": "job_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "title": "Job Id"
                        }
                    },
                    {
                        "name": "require_step_preivew",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false,
                            "title": "Require Step Preivew"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AsyncJobResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/generation/job-queue": {
            "get": {
                "summary": "Job Queue",
                "description": "Query job queue info",
                "operationId": "job_queue_v1_generation_job_queue_get",
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/JobQueueInfo"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/generation/stop": {
            "post": {
                "summary": "Stop",
                "description": "Job stoping",
                "operationId": "stop_v1_generation_stop_post",
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StopResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/engines/all-models": {
            "get": {
                "summary": "All Models",
                "description": "Get all filenames of base model and lora",
                "operationId": "all_models_v1_engines_all_models_get",
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AllModelNamesResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/engines/refresh-models": {
            "post": {
                "summary": "Refresh Models",
                "description": "Refresh local files and get all filenames of base model and lora",
                "operationId": "refresh_models_v1_engines_refresh_models_post",
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AllModelNamesResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/engines/styles": {
            "get": {
                "summary": "All Styles",
                "description": "Get all legal Fooocus styles",
                "operationId": "all_styles_v1_engines_styles_get",
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "title": "Response All Styles V1 Engines Styles Get"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "AdvancedParams": {
                "properties": {
                    "disable_preview": {
                        "type": "boolean",
                        "title": "Disable Preview",
                        "description": "Disable preview during generation",
                        "default": false
                    },
                    "adm_scaler_positive": {
                        "type": "number",
                        "maximum": 3.0,
                        "minimum": 0.1,
                        "title": "Adm Scaler Positive",
                        "description": "Positive ADM Guidance Scaler",
                        "default": 1.5
                    },
                    "adm_scaler_negative": {
                        "type": "number",
                        "maximum": 3.0,
                        "minimum": 0.1,
                        "title": "Adm Scaler Negative",
                        "description": "Negative ADM Guidance Scaler",
                        "default": 0.8
                    },
                    "adm_scaler_end": {
                        "type": "number",
                        "maximum": 1.0,
                        "minimum": 0.0,
                        "title": "Adm Scaler End",
                        "description": "ADM Guidance End At Step",
                        "default": 0.3
                    },
                    "refiner_swap_method": {
                        "type": "string",
                        "title": "Refiner Swap Method",
                        "description": "Refiner swap method",
                        "default": "joint"
                    },
                    "adaptive_cfg": {
                        "type": "number",
                        "maximum": 30.0,
                        "minimum": 1.0,
                        "title": "Adaptive Cfg",
                        "description": "CFG Mimicking from TSNR",
                        "default": 7.0
                    },
                    "sampler_name": {
                        "type": "string",
                        "title": "Sampler Name",
                        "description": "Sampler",
                        "default": "dpmpp_2m_sde_gpu"
                    },
                    "scheduler_name": {
                        "type": "string",
                        "title": "Scheduler Name",
                        "description": "Scheduler",
                        "default": "karras"
                    },
                    "overwrite_step": {
                        "type": "integer",
                        "maximum": 200.0,
                        "minimum": -1.0,
                        "title": "Overwrite Step",
                        "description": "Forced Overwrite of Sampling Step",
                        "default": -1
                    },
                    "overwrite_switch": {
                        "type": "integer",
                        "maximum": 200.0,
                        "minimum": -1.0,
                        "title": "Overwrite Switch",
                        "description": "Forced Overwrite of Refiner Switch Step",
                        "default": -1
                    },
                    "overwrite_width": {
                        "type": "integer",
                        "maximum": 2048.0,
                        "minimum": -1.0,
                        "title": "Overwrite Width",
                        "description": "Forced Overwrite of Generating Width",
                        "default": -1
                    },
                    "overwrite_height": {
                        "type": "integer",
                        "maximum": 2048.0,
                        "minimum": -1.0,
                        "title": "Overwrite Height",
                        "description": "Forced Overwrite of Generating Height",
                        "default": -1
                    },
                    "overwrite_vary_strength": {
                        "type": "number",
                        "maximum": 1.0,
                        "minimum": -1.0,
                        "title": "Overwrite Vary Strength",
                        "description": "Forced Overwrite of Denoising Strength of \"Vary\"",
                        "default": -1
                    },
                    "overwrite_upscale_strength": {
                        "type": "number",
                        "maximum": 1.0,
                        "minimum": -1.0,
                        "title": "Overwrite Upscale Strength",
                        "description": "Forced Overwrite of Denoising Strength of \"Upscale\"",
                        "default": -1
                    },
                    "mixing_image_prompt_and_vary_upscale": {
                        "type": "boolean",
                        "title": "Mixing Image Prompt And Vary Upscale",
                        "description": "Mixing Image Prompt and Vary/Upscale",
                        "default": false
                    },
                    "mixing_image_prompt_and_inpaint": {
                        "type": "boolean",
                        "title": "Mixing Image Prompt And Inpaint",
                        "description": "Mixing Image Prompt and Inpaint",
                        "default": false
                    },
                    "debugging_cn_preprocessor": {
                        "type": "boolean",
                        "title": "Debugging Cn Preprocessor",
                        "description": "Debug Preprocessors",
                        "default": false
                    },
                    "skipping_cn_preprocessor": {
                        "type": "boolean",
                        "title": "Skipping Cn Preprocessor",
                        "description": "Skip Preprocessors",
                        "default": false
                    },
                    "controlnet_softness": {
                        "type": "number",
                        "maximum": 1.0,
                        "minimum": 0.0,
                        "title": "Controlnet Softness",
                        "description": "Softness of ControlNet",
                        "default": 0.25
                    },
                    "canny_low_threshold": {
                        "type": "integer",
                        "maximum": 255.0,
                        "minimum": 1.0,
                        "title": "Canny Low Threshold",
                        "description": "Canny Low Threshold",
                        "default": 64
                    },
                    "canny_high_threshold": {
                        "type": "integer",
                        "maximum": 255.0,
                        "minimum": 1.0,
                        "title": "Canny High Threshold",
                        "description": "Canny High Threshold",
                        "default": 128
                    },
                    "freeu_enabled": {
                        "type": "boolean",
                        "title": "Freeu Enabled",
                        "description": "FreeU enabled",
                        "default": false
                    },
                    "freeu_b1": {
                        "type": "number",
                        "title": "Freeu B1",
                        "description": "FreeU B1",
                        "default": 1.01
                    },
                    "freeu_b2": {
                        "type": "number",
                        "title": "Freeu B2",
                        "description": "FreeU B2",
                        "default": 1.02
                    },
                    "freeu_s1": {
                        "type": "number",
                        "title": "Freeu S1",
                        "description": "FreeU B3",
                        "default": 0.99
                    },
                    "freeu_s2": {
                        "type": "number",
                        "title": "Freeu S2",
                        "description": "FreeU B4",
                        "default": 0.95
                    },
                    "debugging_inpaint_preprocessor": {
                        "type": "boolean",
                        "title": "Debugging Inpaint Preprocessor",
                        "description": "Debug Inpaint Preprocessing",
                        "default": false
                    },
                    "inpaint_disable_initial_latent": {
                        "type": "boolean",
                        "title": "Inpaint Disable Initial Latent",
                        "description": "Disable initial latent in inpaint",
                        "default": false
                    },
                    "inpaint_engine": {
                        "type": "string",
                        "title": "Inpaint Engine",
                        "description": "Inpaint Engine",
                        "default": "v1"
                    },
                    "inpaint_strength": {
                        "type": "number",
                        "maximum": 1.0,
                        "minimum": 0.0,
                        "title": "Inpaint Strength",
                        "description": "Inpaint Denoising Strength",
                        "default": 1.0
                    },
                    "inpaint_respective_field": {
                        "type": "number",
                        "maximum": 1.0,
                        "minimum": 0.0,
                        "title": "Inpaint Respective Field",
                        "description": "Inpaint Respective Field",
                        "default": 1.0
                    }
                },
                "type": "object",
                "title": "AdvancedParams"
            },
            "AllModelNamesResponse": {
                "properties": {
                    "model_filenames": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "title": "Model Filenames",
                        "description": "All available model filenames"
                    },
                    "lora_filenames": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "title": "Lora Filenames",
                        "description": "All available lora filenames"
                    }
                },
                "type": "object",
                "required": [
                    "model_filenames",
                    "lora_filenames"
                ],
                "title": "AllModelNamesResponse"
            },
            "AsyncJobResponse": {
                "properties": {
                    "job_id": {
                        "type": "integer",
                        "title": "Job Id",
                        "description": "Job ID"
                    },
                    "job_type": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TaskType"
                            }
                        ],
                        "description": "Job type"
                    },
                    "job_stage": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/AsyncJobStage"
                            }
                        ],
                        "description": "Job running stage"
                    },
                    "job_progess": {
                        "type": "integer",
                        "title": "Job Progess",
                        "description": "Job running progress, 100 is for finished."
                    },
                    "job_status": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Job Status",
                        "description": "Job running status in text"
                    },
                    "job_step_preview": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Job Step Preview",
                        "description": "Preview image of generation steps at current time, as base64 image"
                    },
                    "job_result": {
                        "anyOf": [
                            {
                                "items": {
                                    "$ref": "#/components/schemas/GeneratedImageResult"
                                },
                                "type": "array"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Job Result",
                        "description": "Job generation result"
                    }
                },
                "type": "object",
                "required": [
                    "job_id",
                    "job_type",
                    "job_stage",
                    "job_progess"
                ],
                "title": "AsyncJobResponse"
            },
            "AsyncJobStage": {
                "type": "string",
                "enum": [
                    "WAITING",
                    "RUNNING",
                    "SUCCESS",
                    "ERROR"
                ],
                "title": "AsyncJobStage"
            },
            "Body_img_inpaint_or_outpaint_v1_generation_image_inpait_outpaint_post": {
                "properties": {
                    "input_image": {
                        "type": "string",
                        "format": "binary",
                        "title": "Input Image",
                        "description": "Init image for inpaint or outpaint"
                    },
                    "input_mask": {
                        "type": "string",
                        "format": "binary",
                        "title": "Input Mask",
                        "description": "Inpaint or outpaint mask"
                    },
                    "inpaint_additional_prompt": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Inpaint Additional Prompt",
                        "description": "Describe what you want to inpaint"
                    },
                    "outpaint_selections": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "title": "Outpaint Selections",
                        "description": "Outpaint expansion selections, literal 'Left', 'Right', 'Top', 'Bottom' seperated by comma",
                        "default": []
                    },
                    "prompt": {
                        "type": "string",
                        "title": "Prompt",
                        "default": ""
                    },
                    "negative_prompt": {
                        "type": "string",
                        "title": "Negative Prompt",
                        "default": ""
                    },
                    "style_selections": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "title": "Style Selections",
                        "description": "Fooocus style selections, seperated by comma",
                        "default": [
                            "Fooocus V2",
                            "Fooocus Enhance",
                            "Fooocus Sharp"
                        ]
                    },
                    "performance_selection": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PerfomanceSelection"
                            }
                        ],
                        "default": "Speed"
                    },
                    "aspect_ratios_selection": {
                        "type": "string",
                        "title": "Aspect Ratios Selection",
                        "default": "1152×896"
                    },
                    "image_number": {
                        "type": "integer",
                        "maximum": 32.0,
                        "minimum": 1.0,
                        "title": "Image Number",
                        "description": "Image number",
                        "default": 1
                    },
                    "image_seed": {
                        "type": "integer",
                        "title": "Image Seed",
                        "description": "Seed to generate image, -1 for random",
                        "default": -1
                    },
                    "sharpness": {
                        "type": "number",
                        "maximum": 30.0,
                        "minimum": 0.0,
                        "title": "Sharpness",
                        "default": 2.0
                    },
                    "guidance_scale": {
                        "type": "number",
                        "maximum": 30.0,
                        "minimum": 1.0,
                        "title": "Guidance Scale",
                        "default": 4.0
                    },
                    "base_model_name": {
                        "type": "string",
                        "title": "Base Model Name",
                        "default": "juggernautXL_version6Rundiffusion.safetensors"
                    },
                    "refiner_model_name": {
                        "type": "string",
                        "title": "Refiner Model Name",
                        "default": "None"
                    },
                    "refiner_switch": {
                        "type": "number",
                        "maximum": 1.0,
                        "minimum": 0.1,
                        "title": "Refiner Switch",
                        "description": "Refiner Switch At",
                        "default": 0.5
                    },
                    "loras": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Loras",
                        "description": "Lora config in JSON. Format as [{\"model_name\": \"sd_xl_offset_example-lora_1.0.safetensors\", \"weight\": 0.5}]",
                        "default": "[{\"model_name\":\"sd_xl_offset_example-lora_1.0.safetensors\",\"weight\":0.1}]"
                    },
                    "advanced_params": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Advanced Params",
                        "description": "Advanced parameters in JSON"
                    },
                    "require_base64": {
                        "type": "boolean",
                        "title": "Require Base64",
                        "description": "Return base64 data of generated image",
                        "default": false
                    },
                    "async_process": {
                        "type": "boolean",
                        "title": "Async Process",
                        "description": "Set to true will run async and return job info for retrieve generataion result later",
                        "default": false
                    }
                },
                "type": "object",
                "required": [
                    "input_image"
                ],
                "title": "Body_img_inpaint_or_outpaint_v1_generation_image_inpait_outpaint_post"
            },
            "Body_img_prompt_v1_generation_image_prompt_post": {
                "properties": {
                    "cn_img1": {
                        "type": "string",
                        "format": "binary",
                        "title": "Cn Img1",
                        "description": "Input image for image prompt"
                    },
                    "cn_stop1": {
                        "anyOf": [
                            {
                                "type": "number",
                                "maximum": 1.0,
                                "minimum": 0.0
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Cn Stop1",
                        "description": "Stop at for image prompt, None for default value"
                    },
                    "cn_weight1": {
                        "anyOf": [
                            {
                                "type": "number",
                                "maximum": 2.0,
                                "minimum": 0.0
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Cn Weight1",
                        "description": "Weight for image prompt, None for default value"
                    },
                    "cn_type1": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ControlNetType"
                            }
                        ],
                        "description": "ControlNet type for image prompt",
                        "default": "ImagePrompt"
                    },
                    "cn_img2": {
                        "type": "string",
                        "format": "binary",
                        "title": "Cn Img2",
                        "description": "Input image for image prompt"
                    },
                    "cn_stop2": {
                        "anyOf": [
                            {
                                "type": "number",
                                "maximum": 1.0,
                                "minimum": 0.0
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Cn Stop2",
                        "description": "Stop at for image prompt, None for default value"
                    },
                    "cn_weight2": {
                        "anyOf": [
                            {
                                "type": "number",
                                "maximum": 2.0,
                                "minimum": 0.0
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Cn Weight2",
                        "description": "Weight for image prompt, None for default value"
                    },
                    "cn_type2": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ControlNetType"
                            }
                        ],
                        "description": "ControlNet type for image prompt",
                        "default": "ImagePrompt"
                    },
                    "cn_img3": {
                        "type": "string",
                        "format": "binary",
                        "title": "Cn Img3",
                        "description": "Input image for image prompt"
                    },
                    "cn_stop3": {
                        "anyOf": [
                            {
                                "type": "number",
                                "maximum": 1.0,
                                "minimum": 0.0
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Cn Stop3",
                        "description": "Stop at for image prompt, None for default value"
                    },
                    "cn_weight3": {
                        "anyOf": [
                            {
                                "type": "number",
                                "maximum": 2.0,
                                "minimum": 0.0
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Cn Weight3",
                        "description": "Weight for image prompt, None for default value"
                    },
                    "cn_type3": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ControlNetType"
                            }
                        ],
                        "description": "ControlNet type for image prompt",
                        "default": "ImagePrompt"
                    },
                    "cn_img4": {
                        "type": "string",
                        "format": "binary",
                        "title": "Cn Img4",
                        "description": "Input image for image prompt"
                    },
                    "cn_stop4": {
                        "anyOf": [
                            {
                                "type": "number",
                                "maximum": 1.0,
                                "minimum": 0.0
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Cn Stop4",
                        "description": "Stop at for image prompt, None for default value"
                    },
                    "cn_weight4": {
                        "anyOf": [
                            {
                                "type": "number",
                                "maximum": 2.0,
                                "minimum": 0.0
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Cn Weight4",
                        "description": "Weight for image prompt, None for default value"
                    },
                    "cn_type4": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ControlNetType"
                            }
                        ],
                        "description": "ControlNet type for image prompt",
                        "default": "ImagePrompt"
                    },
                    "prompt": {
                        "type": "string",
                        "title": "Prompt",
                        "default": ""
                    },
                    "negative_prompt": {
                        "type": "string",
                        "title": "Negative Prompt",
                        "default": ""
                    },
                    "style_selections": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "title": "Style Selections",
                        "description": "Fooocus style selections, seperated by comma",
                        "default": [
                            "Fooocus V2",
                            "Fooocus Enhance",
                            "Fooocus Sharp"
                        ]
                    },
                    "performance_selection": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PerfomanceSelection"
                            }
                        ],
                        "default": "Speed"
                    },
                    "aspect_ratios_selection": {
                        "type": "string",
                        "title": "Aspect Ratios Selection",
                        "default": "1152×896"
                    },
                    "image_number": {
                        "type": "integer",
                        "maximum": 32.0,
                        "minimum": 1.0,
                        "title": "Image Number",
                        "description": "Image number",
                        "default": 1
                    },
                    "image_seed": {
                        "type": "integer",
                        "title": "Image Seed",
                        "description": "Seed to generate image, -1 for random",
                        "default": -1
                    },
                    "sharpness": {
                        "type": "number",
                        "maximum": 30.0,
                        "minimum": 0.0,
                        "title": "Sharpness",
                        "default": 2.0
                    },
                    "guidance_scale": {
                        "type": "number",
                        "maximum": 30.0,
                        "minimum": 1.0,
                        "title": "Guidance Scale",
                        "default": 4.0
                    },
                    "base_model_name": {
                        "type": "string",
                        "title": "Base Model Name",
                        "default": "juggernautXL_version6Rundiffusion.safetensors"
                    },
                    "refiner_model_name": {
                        "type": "string",
                        "title": "Refiner Model Name",
                        "default": "None"
                    },
                    "refiner_switch": {
                        "type": "number",
                        "maximum": 1.0,
                        "minimum": 0.1,
                        "title": "Refiner Switch",
                        "description": "Refiner Switch At",
                        "default": 0.5
                    },
                    "loras": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Loras",
                        "description": "Lora config in JSON. Format as [{\"model_name\": \"sd_xl_offset_example-lora_1.0.safetensors\", \"weight\": 0.5}]",
                        "default": "[{\"model_name\":\"sd_xl_offset_example-lora_1.0.safetensors\",\"weight\":0.1}]"
                    },
                    "advanced_params": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Advanced Params",
                        "description": "Advanced parameters in JSON"
                    },
                    "require_base64": {
                        "type": "boolean",
                        "title": "Require Base64",
                        "description": "Return base64 data of generated image",
                        "default": false
                    },
                    "async_process": {
                        "type": "boolean",
                        "title": "Async Process",
                        "description": "Set to true will run async and return job info for retrieve generataion result later",
                        "default": false
                    }
                },
                "type": "object",
                "title": "Body_img_prompt_v1_generation_image_prompt_post"
            },
            "Body_img_upscale_or_vary_v1_generation_image_upscale_vary_post": {
                "properties": {
                    "input_image": {
                        "type": "string",
                        "format": "binary",
                        "title": "Input Image",
                        "description": "Init image for upsacale or outpaint"
                    },
                    "uov_method": {
                        "$ref": "#/components/schemas/UpscaleOrVaryMethod"
                    },
                    "prompt": {
                        "type": "string",
                        "title": "Prompt",
                        "default": ""
                    },
                    "negative_prompt": {
                        "type": "string",
                        "title": "Negative Prompt",
                        "default": ""
                    },
                    "style_selections": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "title": "Style Selections",
                        "description": "Fooocus style selections, seperated by comma",
                        "default": [
                            "Fooocus V2",
                            "Fooocus Enhance",
                            "Fooocus Sharp"
                        ]
                    },
                    "performance_selection": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PerfomanceSelection"
                            }
                        ],
                        "default": "Speed"
                    },
                    "aspect_ratios_selection": {
                        "type": "string",
                        "title": "Aspect Ratios Selection",
                        "default": "1152×896"
                    },
                    "image_number": {
                        "type": "integer",
                        "maximum": 32.0,
                        "minimum": 1.0,
                        "title": "Image Number",
                        "description": "Image number",
                        "default": 1
                    },
                    "image_seed": {
                        "type": "integer",
                        "title": "Image Seed",
                        "description": "Seed to generate image, -1 for random",
                        "default": -1
                    },
                    "sharpness": {
                        "type": "number",
                        "maximum": 30.0,
                        "minimum": 0.0,
                        "title": "Sharpness",
                        "default": 2.0
                    },
                    "guidance_scale": {
                        "type": "number",
                        "maximum": 30.0,
                        "minimum": 1.0,
                        "title": "Guidance Scale",
                        "default": 4.0
                    },
                    "base_model_name": {
                        "type": "string",
                        "title": "Base Model Name",
                        "default": "juggernautXL_version6Rundiffusion.safetensors"
                    },
                    "refiner_model_name": {
                        "type": "string",
                        "title": "Refiner Model Name",
                        "default": "None"
                    },
                    "refiner_switch": {
                        "type": "number",
                        "maximum": 1.0,
                        "minimum": 0.1,
                        "title": "Refiner Switch",
                        "description": "Refiner Switch At",
                        "default": 0.5
                    },
                    "loras": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Loras",
                        "description": "Lora config in JSON. Format as [{\"model_name\": \"sd_xl_offset_example-lora_1.0.safetensors\", \"weight\": 0.5}]",
                        "default": "[{\"model_name\":\"sd_xl_offset_example-lora_1.0.safetensors\",\"weight\":0.1}]"
                    },
                    "advanced_params": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Advanced Params",
                        "description": "Advanced parameters in JSON"
                    },
                    "require_base64": {
                        "type": "boolean",
                        "title": "Require Base64",
                        "description": "Return base64 data of generated image",
                        "default": false
                    },
                    "async_process": {
                        "type": "boolean",
                        "title": "Async Process",
                        "description": "Set to true will run async and return job info for retrieve generataion result later",
                        "default": false
                    }
                },
                "type": "object",
                "required": [
                    "input_image",
                    "uov_method"
                ],
                "title": "Body_img_upscale_or_vary_v1_generation_image_upscale_vary_post"
            },
            "ControlNetType": {
                "type": "string",
                "enum": [
                    "ImagePrompt",
                    "FaceSwap",
                    "PyraCanny",
                    "CPDS"
                ],
                "title": "ControlNetType"
            },
            "GeneratedImageResult": {
                "properties": {
                    "base64": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Base64",
                        "description": "Image encoded in base64, or null if finishReasen is not 'SUCCESS', only return when request require base64"
                    },
                    "url": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Url",
                        "description": "Image file static serve url, or null if finishReasen is not 'SUCCESS'"
                    },
                    "seed": {
                        "type": "integer",
                        "title": "Seed",
                        "description": "The seed associated with this image"
                    },
                    "finish_reason": {
                        "$ref": "#/components/schemas/GenerationFinishReason"
                    }
                },
                "type": "object",
                "required": [
                    "base64",
                    "url",
                    "seed",
                    "finish_reason"
                ],
                "title": "GeneratedImageResult"
            },
            "GenerationFinishReason": {
                "type": "string",
                "enum": [
                    "SUCCESS",
                    "QUEUE_IS_FULL",
                    "USER_CANCEL",
                    "ERROR"
                ],
                "title": "GenerationFinishReason"
            },
            "HTTPValidationError": {
                "properties": {
                    "detail": {
                        "items": {
                            "$ref": "#/components/schemas/ValidationError"
                        },
                        "type": "array",
                        "title": "Detail"
                    }
                },
                "type": "object",
                "title": "HTTPValidationError"
            },
            "JobQueueInfo": {
                "properties": {
                    "running_size": {
                        "type": "integer",
                        "title": "Running Size",
                        "description": "The current running and waiting job count"
                    },
                    "finished_size": {
                        "type": "integer",
                        "title": "Finished Size",
                        "description": "Finished job cound (after auto clean)"
                    },
                    "last_job_id": {
                        "type": "integer",
                        "title": "Last Job Id",
                        "description": "Last submit generation job id"
                    }
                },
                "type": "object",
                "required": [
                    "running_size",
                    "finished_size",
                    "last_job_id"
                ],
                "title": "JobQueueInfo"
            },
            "Lora": {
                "properties": {
                    "model_name": {
                        "type": "string",
                        "title": "Model Name"
                    },
                    "weight": {
                        "type": "number",
                        "maximum": 2.0,
                        "minimum": -2.0,
                        "title": "Weight",
                        "default": 0.5
                    }
                },
                "type": "object",
                "required": [
                    "model_name"
                ],
                "title": "Lora"
            },
            "PerfomanceSelection": {
                "type": "string",
                "enum": [
                    "Speed",
                    "Quality",
                    "Extreme Speed"
                ],
                "title": "PerfomanceSelection"
            },
            "StopResponse": {
                "properties": {
                    "msg": {
                        "type": "string",
                        "title": "Msg"
                    }
                },
                "type": "object",
                "required": [
                    "msg"
                ],
                "title": "StopResponse"
            },
            "TaskType": {
                "type": "string",
                "enum": [
                    "Text to Image",
                    "Image Upscale or Variation",
                    "Image Inpaint or Outpaint",
                    "Image Prompt"
                ],
                "title": "TaskType"
            },
            "Text2ImgRequest": {
                "properties": {
                    "prompt": {
                        "type": "string",
                        "title": "Prompt",
                        "default": ""
                    },
                    "negative_prompt": {
                        "type": "string",
                        "title": "Negative Prompt",
                        "default": ""
                    },
                    "style_selections": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "title": "Style Selections",
                        "default": [
                            "Fooocus V2",
                            "Fooocus Enhance",
                            "Fooocus Sharp"
                        ]
                    },
                    "performance_selection": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PerfomanceSelection"
                            }
                        ],
                        "default": "Speed"
                    },
                    "aspect_ratios_selection": {
                        "type": "string",
                        "title": "Aspect Ratios Selection",
                        "default": "1152×896"
                    },
                    "image_number": {
                        "type": "integer",
                        "maximum": 32.0,
                        "minimum": 1.0,
                        "title": "Image Number",
                        "description": "Image number",
                        "default": 1
                    },
                    "image_seed": {
                        "type": "integer",
                        "title": "Image Seed",
                        "description": "Seed to generate image, -1 for random",
                        "default": -1
                    },
                    "sharpness": {
                        "type": "number",
                        "maximum": 30.0,
                        "minimum": 0.0,
                        "title": "Sharpness",
                        "default": 2.0
                    },
                    "guidance_scale": {
                        "type": "number",
                        "maximum": 30.0,
                        "minimum": 1.0,
                        "title": "Guidance Scale",
                        "default": 4.0
                    },
                    "base_model_name": {
                        "type": "string",
                        "title": "Base Model Name",
                        "default": "juggernautXL_version6Rundiffusion.safetensors"
                    },
                    "refiner_model_name": {
                        "type": "string",
                        "title": "Refiner Model Name",
                        "default": "None"
                    },
                    "refiner_switch": {
                        "type": "number",
                        "maximum": 1.0,
                        "minimum": 0.1,
                        "title": "Refiner Switch",
                        "description": "Refiner Switch At",
                        "default": 0.5
                    },
                    "loras": {
                        "items": {
                            "$ref": "#/components/schemas/Lora"
                        },
                        "type": "array",
                        "title": "Loras",
                        "default": [
                            {
                                "model_name": "sd_xl_offset_example-lora_1.0.safetensors",
                                "weight": 0.1
                            }
                        ]
                    },
                    "advanced_params": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/AdvancedParams"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "description": "Advanced parameters"
                    },
                    "require_base64": {
                        "type": "boolean",
                        "title": "Require Base64",
                        "description": "Return base64 data of generated image",
                        "default": false
                    },
                    "async_process": {
                        "type": "boolean",
                        "title": "Async Process",
                        "description": "Set to true will run async and return job info for retrieve generataion result later",
                        "default": false
                    }
                },
                "type": "object",
                "required": [
                    "advanced_params"
                ],
                "title": "Text2ImgRequest"
            },
            "UpscaleOrVaryMethod": {
                "type": "string",
                "enum": [
                    "Vary (Subtle)",
                    "Vary (Strong)",
                    "Upscale (1.5x)",
                    "Upscale (2x)",
                    "Upscale (Fast 2x)"
                ],
                "title": "UpscaleOrVaryMethod"
            },
            "ValidationError": {
                "properties": {
                    "loc": {
                        "items": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "integer"
                                }
                            ]
                        },
                        "type": "array",
                        "title": "Location"
                    },
                    "msg": {
                        "type": "string",
                        "title": "Message"
                    },
                    "type": {
                        "type": "string",
                        "title": "Error Type"
                    }
                },
                "type": "object",
                "required": [
                    "loc",
                    "msg",
                    "type"
                ],
                "title": "ValidationError"
            }
        }
    }
}