{
    "swagger": "2.0",
    "info": {
        "description": "The LocalAI Rest API.",
        "title": "LocalAI API",
        "contact": {
            "name": "LocalAI",
            "url": "https://localai.io"
        },
        "license": {
            "name": "MIT",
            "url": "https://raw.githubusercontent.com/mudler/LocalAI/master/LICENSE"
        },
        "version": "2.0.0"
    },
    "basePath": "/",
    "paths": {
        "/api/agent/jobs": {
            "get": {
                "description": "Get a list of agent jobs, optionally filtered by task_id and status",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "agent-jobs"
                ],
                "summary": "List agent jobs",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Filter by task ID",
                        "name": "task_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter by status (pending, running, completed, failed, cancelled)",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Limit number of results",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of jobs",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/schema.Job"
                            }
                        }
                    }
                }
            }
        },
        "/api/agent/jobs/execute": {
            "post": {
                "description": "Create and execute a new agent job",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "agent-jobs"
                ],
                "summary": "Execute an agent job",
                "parameters": [
                    {
                        "description": "Job execution request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.JobExecutionRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Job created",
                        "schema": {
                            "$ref": "#/definitions/schema.JobExecutionResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/api/agent/jobs/{id}": {
            "get": {
                "description": "Get an agent job by ID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "agent-jobs"
                ],
                "summary": "Get an agent job",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Job ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Job details",
                        "schema": {
                            "$ref": "#/definitions/schema.Job"
                        }
                    },
                    "404": {
                        "description": "Job not found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "delete": {
                "description": "Delete an agent job by ID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "agent-jobs"
                ],
                "summary": "Delete an agent job",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Job ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Job deleted",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "404": {
                        "description": "Job not found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/api/agent/jobs/{id}/cancel": {
            "post": {
                "description": "Cancel a running or pending agent job",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "agent-jobs"
                ],
                "summary": "Cancel an agent job",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Job ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Job cancelled",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "400": {
                        "description": "Job cannot be cancelled",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "404": {
                        "description": "Job not found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/api/agent/tasks": {
            "get": {
                "description": "Get a list of all agent tasks",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "agent-jobs"
                ],
                "summary": "List all agent tasks",
                "responses": {
                    "200": {
                        "description": "List of tasks",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/schema.Task"
                            }
                        }
                    }
                }
            },
            "post": {
                "description": "Create a new reusable agent task with prompt template and configuration",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "agent-jobs"
                ],
                "summary": "Create a new agent task",
                "parameters": [
                    {
                        "description": "Task definition",
                        "name": "task",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.Task"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Task created",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/api/agent/tasks/{id}": {
            "get": {
                "description": "Get an agent task by ID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "agent-jobs"
                ],
                "summary": "Get an agent task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Task ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Task details",
                        "schema": {
                            "$ref": "#/definitions/schema.Task"
                        }
                    },
                    "404": {
                        "description": "Task not found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "put": {
                "description": "Update an existing agent task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "agent-jobs"
                ],
                "summary": "Update an agent task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Task ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Updated task definition",
                        "name": "task",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.Task"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Task updated",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "404": {
                        "description": "Task not found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "delete": {
                "description": "Delete an agent task by ID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "agent-jobs"
                ],
                "summary": "Delete an agent task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Task ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Task deleted",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "404": {
                        "description": "Task not found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/api/agent/tasks/{name}/execute": {
            "post": {
                "description": "Execute an agent task by its name (convenience endpoint). Parameters can be provided in the request body as a JSON object with string values.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "agent-jobs"
                ],
                "summary": "Execute a task by name",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Task name",
                        "name": "name",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Template parameters (JSON object with string values)",
                        "name": "request",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Job created",
                        "schema": {
                            "$ref": "#/definitions/schema.JobExecutionResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "404": {
                        "description": "Task not found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/api/p2p": {
            "get": {
                "summary": "Returns available P2P nodes",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/schema.P2PNodesResponse"
                            }
                        }
                    }
                }
            }
        },
        "/api/p2p/token": {
            "get": {
                "summary": "Show the P2P token",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/backend/monitor": {
            "get": {
                "summary": "Backend monitor endpoint",
                "parameters": [
                    {
                        "description": "Backend statistics request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.BackendMonitorRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/proto.StatusResponse"
                        }
                    }
                }
            }
        },
        "/backend/shutdown": {
            "post": {
                "summary": "Backend monitor endpoint",
                "parameters": [
                    {
                        "description": "Backend statistics request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.BackendMonitorRequest"
                        }
                    }
                ],
                "responses": {}
            }
        },
        "/backends": {
            "get": {
                "summary": "List all Backends",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/gallery.GalleryBackend"
                            }
                        }
                    }
                }
            }
        },
        "/backends/apply": {
            "post": {
                "summary": "Install backends to LocalAI.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/localai.GalleryBackend"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.BackendResponse"
                        }
                    }
                }
            }
        },
        "/backends/available": {
            "get": {
                "summary": "List all available Backends",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/gallery.GalleryBackend"
                            }
                        }
                    }
                }
            }
        },
        "/backends/delete/{name}": {
            "post": {
                "summary": "delete backends from LocalAI.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Backend name",
                        "name": "name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.BackendResponse"
                        }
                    }
                }
            }
        },
        "/backends/galleries": {
            "get": {
                "summary": "List all Galleries",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/config.Gallery"
                            }
                        }
                    }
                }
            }
        },
        "/backends/jobs": {
            "get": {
                "summary": "Returns all the jobs status progress",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "$ref": "#/definitions/services.GalleryOpStatus"
                            }
                        }
                    }
                }
            }
        },
        "/backends/jobs/{uuid}": {
            "get": {
                "summary": "Returns the job status",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/services.GalleryOpStatus"
                        }
                    }
                }
            }
        },
        "/metrics": {
            "get": {
                "summary": "Prometheus metrics endpoint",
                "parameters": [
                    {
                        "description": "Gallery details",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/config.Gallery"
                        }
                    }
                ],
                "responses": {}
            }
        },
        "/models/apply": {
            "post": {
                "summary": "Install models to LocalAI.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/localai.GalleryModel"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.GalleryResponse"
                        }
                    }
                }
            }
        },
        "/models/available": {
            "get": {
                "summary": "List installable models.",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/gallery.GalleryModel"
                            }
                        }
                    }
                }
            }
        },
        "/models/delete/{name}": {
            "post": {
                "summary": "delete models to LocalAI.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Model name",
                        "name": "name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.GalleryResponse"
                        }
                    }
                }
            }
        },
        "/models/galleries": {
            "get": {
                "summary": "List all Galleries",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/config.Gallery"
                            }
                        }
                    }
                }
            }
        },
        "/models/jobs": {
            "get": {
                "summary": "Returns all the jobs status progress",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "$ref": "#/definitions/services.GalleryOpStatus"
                            }
                        }
                    }
                }
            }
        },
        "/models/jobs/{uuid}": {
            "get": {
                "summary": "Returns the job status",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/services.GalleryOpStatus"
                        }
                    }
                }
            }
        },
        "/system": {
            "get": {
                "summary": "Show the LocalAI instance information",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.SystemInformationResponse"
                        }
                    }
                }
            }
        },
        "/tokenMetrics": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "audio/x-wav"
                ],
                "summary": "Get TokenMetrics for Active Slot.",
                "responses": {
                    "200": {
                        "description": "generated audio/wav file",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/tts": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "audio/x-wav"
                ],
                "summary": "Generates audio from the input text.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.TTSRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "generated audio/wav file",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/v1/audio/speech": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "audio/x-wav"
                ],
                "summary": "Generates audio from the input text.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.TTSRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "generated audio/wav file",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/v1/audio/transcriptions": {
            "post": {
                "consumes": [
                    "multipart/form-data"
                ],
                "summary": "Transcribes audio into the input language.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "model",
                        "name": "model",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "file",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/v1/chat/completions": {
            "post": {
                "summary": "Generate a chat completions for a given prompt and model.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIResponse"
                        }
                    }
                }
            }
        },
        "/v1/completions": {
            "post": {
                "summary": "Generate completions for a given prompt and model.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIResponse"
                        }
                    }
                }
            }
        },
        "/v1/detection": {
            "post": {
                "summary": "Detects objects in the input image.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.DetectionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.DetectionResponse"
                        }
                    }
                }
            }
        },
        "/v1/edits": {
            "post": {
                "summary": "OpenAI edit endpoint",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIResponse"
                        }
                    }
                }
            }
        },
        "/v1/embeddings": {
            "post": {
                "summary": "Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIResponse"
                        }
                    }
                }
            }
        },
        "/v1/images/generations": {
            "post": {
                "summary": "Creates an image given a prompt.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIResponse"
                        }
                    }
                }
            }
        },
        "/v1/images/inpainting": {
            "post": {
                "description": "Perform image inpainting. Accepts multipart/form-data with `image` and `mask` files.",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "images"
                ],
                "summary": "Image inpainting",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Model identifier",
                        "name": "model",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Text prompt guiding the generation",
                        "name": "prompt",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Number of inference steps (default 25)",
                        "name": "steps",
                        "in": "formData"
                    },
                    {
                        "type": "file",
                        "description": "Original image file",
                        "name": "image",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Mask image file (white = area to inpaint)",
                        "name": "mask",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/v1/mcp/chat/completions": {
            "post": {
                "summary": "Stream MCP chat completions with reasoning, tool calls, and results",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIResponse"
                        }
                    }
                }
            }
        },
        "/v1/messages": {
            "post": {
                "summary": "Generate a message response for the given messages and model.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.AnthropicRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.AnthropicResponse"
                        }
                    }
                }
            }
        },
        "/v1/models": {
            "get": {
                "summary": "List and describe the various models available in the API.",
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.ModelsDataResponse"
                        }
                    }
                }
            }
        },
        "/v1/rerank": {
            "post": {
                "summary": "Reranks a list of phrases by relevance to a given text query.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.JINARerankRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.JINARerankResponse"
                        }
                    }
                }
            }
        },
        "/v1/responses": {
            "post": {
                "summary": "Create a response using the Open Responses API",
                "parameters": [
                    {
                        "description": "Request body",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.OpenResponsesRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.ORResponseResource"
                        }
                    }
                }
            }
        },
        "/v1/responses/{id}": {
            "get": {
                "description": "Retrieve a response by ID. Can be used for polling background responses or resuming streaming responses.",
                "summary": "Get a response by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Response ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Set to 'true' to resume streaming",
                        "name": "stream",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Sequence number to resume from (for streaming)",
                        "name": "starting_after",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.ORResponseResource"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/responses/{id}/cancel": {
            "post": {
                "description": "Cancel a background response if it's still in progress",
                "summary": "Cancel a response",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Response ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.ORResponseResource"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/sound-generation": {
            "post": {
                "summary": "Generates audio from the input text.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.ElevenLabsSoundGenerationRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/v1/text-to-speech/{voice-id}": {
            "post": {
                "summary": "Generates audio from the input text.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Account ID",
                        "name": "voice-id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.TTSRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/v1/tokenMetrics": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "audio/x-wav"
                ],
                "summary": "Get TokenMetrics for Active Slot.",
                "responses": {
                    "200": {
                        "description": "generated audio/wav file",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/v1/tokenize": {
            "post": {
                "summary": "Tokenize the input.",
                "parameters": [
                    {
                        "description": "Request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.TokenizeRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.TokenizeResponse"
                        }
                    }
                }
            }
        },
        "/vad": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "summary": "Detect voice fragments in an audio stream",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.VADRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/proto.VADResponse"
                        }
                    }
                }
            }
        },
        "/video": {
            "post": {
                "summary": "Creates a video given a prompt.",
                "parameters": [
                    {
                        "description": "query params",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/schema.VideoRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Response",
                        "schema": {
                            "$ref": "#/definitions/schema.OpenAIResponse"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "config.Gallery": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "functions.Function": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "parameters": {
                    "type": "object",
                    "additionalProperties": true
                },
                "strict": {
                    "type": "boolean"
                }
            }
        },
        "functions.Item": {
            "type": "object",
            "properties": {
                "properties": {
                    "type": "object",
                    "additionalProperties": true
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "functions.JSONFunctionStructure": {
            "type": "object",
            "properties": {
                "$defs": {
                    "type": "object",
                    "additionalProperties": true
                },
                "anyOf": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/functions.Item"
                    }
                },
                "oneOf": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/functions.Item"
                    }
                }
            }
        },
        "functions.Tool": {
            "type": "object",
            "properties": {
                "function": {
                    "$ref": "#/definitions/functions.Function"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "gallery.File": {
            "type": "object",
            "properties": {
                "filename": {
                    "type": "string"
                },
                "sha256": {
                    "type": "string"
                },
                "uri": {
                    "type": "string"
                }
            }
        },
        "gallery.GalleryBackend": {
            "type": "object",
            "properties": {
                "alias": {
                    "type": "string"
                },
                "capabilities": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "description": {
                    "type": "string"
                },
                "files": {
                    "description": "AdditionalFiles are used to add additional files to the model",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/gallery.File"
                    }
                },
                "gallery": {
                    "description": "Gallery is a reference to the gallery which contains the model",
                    "allOf": [
                        {
                            "$ref": "#/definitions/config.Gallery"
                        }
                    ]
                },
                "icon": {
                    "type": "string"
                },
                "installed": {
                    "description": "Installed is used to indicate if the model is installed or not",
                    "type": "boolean"
                },
                "license": {
                    "type": "string"
                },
                "mirrors": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "name": {
                    "type": "string"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "uri": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                },
                "urls": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "gallery.GalleryModel": {
            "type": "object",
            "properties": {
                "config_file": {
                    "description": "config_file is read in the situation where URL is blank - and therefore this is a base config.",
                    "type": "object",
                    "additionalProperties": true
                },
                "description": {
                    "type": "string"
                },
                "files": {
                    "description": "AdditionalFiles are used to add additional files to the model",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/gallery.File"
                    }
                },
                "gallery": {
                    "description": "Gallery is a reference to the gallery which contains the model",
                    "allOf": [
                        {
                            "$ref": "#/definitions/config.Gallery"
                        }
                    ]
                },
                "icon": {
                    "type": "string"
                },
                "installed": {
                    "description": "Installed is used to indicate if the model is installed or not",
                    "type": "boolean"
                },
                "license": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "overrides": {
                    "description": "Overrides are used to override the configuration of the model located at URL",
                    "type": "object",
                    "additionalProperties": true
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "url": {
                    "type": "string"
                },
                "urls": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "localai.GalleryBackend": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                }
            }
        },
        "localai.GalleryModel": {
            "type": "object",
            "properties": {
                "config_file": {
                    "description": "config_file is read in the situation where URL is blank - and therefore this is a base config.",
                    "type": "object",
                    "additionalProperties": true
                },
                "description": {
                    "type": "string"
                },
                "files": {
                    "description": "AdditionalFiles are used to add additional files to the model",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/gallery.File"
                    }
                },
                "gallery": {
                    "description": "Gallery is a reference to the gallery which contains the model",
                    "allOf": [
                        {
                            "$ref": "#/definitions/config.Gallery"
                        }
                    ]
                },
                "icon": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "installed": {
                    "description": "Installed is used to indicate if the model is installed or not",
                    "type": "boolean"
                },
                "license": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "overrides": {
                    "description": "Overrides are used to override the configuration of the model located at URL",
                    "type": "object",
                    "additionalProperties": true
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "url": {
                    "type": "string"
                },
                "urls": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "proto.MemoryUsageData": {
            "type": "object",
            "properties": {
                "breakdown": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer",
                        "format": "int64"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "proto.StatusResponse": {
            "type": "object",
            "properties": {
                "memory": {
                    "$ref": "#/definitions/proto.MemoryUsageData"
                },
                "state": {
                    "$ref": "#/definitions/proto.StatusResponse_State"
                }
            }
        },
        "proto.StatusResponse_State": {
            "type": "integer",
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                -1
            ],
            "x-enum-varnames": [
                "StatusResponse_UNINITIALIZED",
                "StatusResponse_BUSY",
                "StatusResponse_READY",
                "StatusResponse_ERROR"
            ]
        },
        "proto.VADResponse": {
            "type": "object",
            "properties": {
                "segments": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/proto.VADSegment"
                    }
                }
            }
        },
        "proto.VADSegment": {
            "type": "object",
            "properties": {
                "end": {
                    "type": "number"
                },
                "start": {
                    "type": "number"
                }
            }
        },
        "schema.AnthropicContentBlock": {
            "type": "object",
            "properties": {
                "content": {},
                "id": {
                    "type": "string"
                },
                "input": {
                    "type": "object",
                    "additionalProperties": true
                },
                "is_error": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "source": {
                    "$ref": "#/definitions/schema.AnthropicImageSource"
                },
                "text": {
                    "type": "string"
                },
                "tool_use_id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "schema.AnthropicImageSource": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "string"
                },
                "media_type": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "schema.AnthropicMessage": {
            "type": "object",
            "properties": {
                "content": {},
                "role": {
                    "type": "string"
                }
            }
        },
        "schema.AnthropicRequest": {
            "type": "object",
            "properties": {
                "max_tokens": {
                    "type": "integer"
                },
                "messages": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.AnthropicMessage"
                    }
                },
                "metadata": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "model": {
                    "type": "string"
                },
                "stop_sequences": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "stream": {
                    "type": "boolean"
                },
                "system": {
                    "type": "string"
                },
                "temperature": {
                    "type": "number"
                },
                "tool_choice": {},
                "tools": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.AnthropicTool"
                    }
                },
                "top_k": {
                    "type": "integer"
                },
                "top_p": {
                    "type": "number"
                }
            }
        },
        "schema.AnthropicResponse": {
            "type": "object",
            "properties": {
                "content": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.AnthropicContentBlock"
                    }
                },
                "id": {
                    "type": "string"
                },
                "model": {
                    "type": "string"
                },
                "role": {
                    "type": "string"
                },
                "stop_reason": {
                    "type": "string"
                },
                "stop_sequence": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "usage": {
                    "$ref": "#/definitions/schema.AnthropicUsage"
                }
            }
        },
        "schema.AnthropicTool": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "input_schema": {
                    "type": "object",
                    "additionalProperties": true
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "schema.AnthropicUsage": {
            "type": "object",
            "properties": {
                "input_tokens": {
                    "type": "integer"
                },
                "output_tokens": {
                    "type": "integer"
                }
            }
        },
        "schema.BackendMonitorRequest": {
            "type": "object",
            "properties": {
                "model": {
                    "type": "string"
                }
            }
        },
        "schema.BackendResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "status_url": {
                    "type": "string"
                }
            }
        },
        "schema.Choice": {
            "type": "object",
            "properties": {
                "delta": {
                    "$ref": "#/definitions/schema.Message"
                },
                "finish_reason": {
                    "type": "string"
                },
                "index": {
                    "type": "integer"
                },
                "logprobs": {
                    "$ref": "#/definitions/schema.Logprobs"
                },
                "message": {
                    "$ref": "#/definitions/schema.Message"
                },
                "text": {
                    "type": "string"
                }
            }
        },
        "schema.Detection": {
            "type": "object",
            "properties": {
                "class_name": {
                    "type": "string"
                },
                "height": {
                    "type": "number"
                },
                "width": {
                    "type": "number"
                },
                "x": {
                    "type": "number"
                },
                "y": {
                    "type": "number"
                }
            }
        },
        "schema.DetectionRequest": {
            "type": "object",
            "properties": {
                "image": {
                    "type": "string"
                },
                "model": {
                    "type": "string"
                }
            }
        },
        "schema.DetectionResponse": {
            "type": "object",
            "properties": {
                "detections": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.Detection"
                    }
                }
            }
        },
        "schema.ElevenLabsSoundGenerationRequest": {
            "type": "object",
            "properties": {
                "bpm": {
                    "type": "integer"
                },
                "caption": {
                    "type": "string"
                },
                "do_sample": {
                    "type": "boolean"
                },
                "duration_seconds": {
                    "type": "number"
                },
                "instrumental": {
                    "description": "Simple mode: use text as description; optional instrumental / vocal_language",
                    "type": "boolean"
                },
                "keyscale": {
                    "type": "string"
                },
                "language": {
                    "type": "string"
                },
                "lyrics": {
                    "type": "string"
                },
                "model_id": {
                    "type": "string"
                },
                "prompt_influence": {
                    "type": "number"
                },
                "text": {
                    "type": "string"
                },
                "think": {
                    "description": "Advanced mode",
                    "type": "boolean"
                },
                "timesignature": {
                    "type": "string"
                },
                "vocal_language": {
                    "type": "string"
                }
            }
        },
        "schema.FunctionCall": {
            "type": "object",
            "properties": {
                "arguments": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "schema.GalleryResponse": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "string"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "schema.InputTokensDetails": {
            "type": "object",
            "properties": {
                "image_tokens": {
                    "type": "integer"
                },
                "text_tokens": {
                    "type": "integer"
                }
            }
        },
        "schema.Item": {
            "type": "object",
            "properties": {
                "b64_json": {
                    "type": "string"
                },
                "embedding": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "index": {
                    "type": "integer"
                },
                "object": {
                    "type": "string"
                },
                "url": {
                    "description": "Images",
                    "type": "string"
                }
            }
        },
        "schema.JINADocumentResult": {
            "type": "object",
            "properties": {
                "document": {
                    "$ref": "#/definitions/schema.JINAText"
                },
                "index": {
                    "type": "integer"
                },
                "relevance_score": {
                    "type": "number"
                }
            }
        },
        "schema.JINARerankRequest": {
            "type": "object",
            "properties": {
                "backend": {
                    "type": "string"
                },
                "documents": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "model": {
                    "type": "string"
                },
                "query": {
                    "type": "string"
                },
                "top_n": {
                    "type": "integer"
                }
            }
        },
        "schema.JINARerankResponse": {
            "type": "object",
            "properties": {
                "model": {
                    "type": "string"
                },
                "results": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.JINADocumentResult"
                    }
                },
                "usage": {
                    "$ref": "#/definitions/schema.JINAUsageInfo"
                }
            }
        },
        "schema.JINAText": {
            "type": "object",
            "properties": {
                "text": {
                    "type": "string"
                }
            }
        },
        "schema.JINAUsageInfo": {
            "type": "object",
            "properties": {
                "prompt_tokens": {
                    "type": "integer"
                },
                "total_tokens": {
                    "type": "integer"
                }
            }
        },
        "schema.Job": {
            "type": "object",
            "properties": {
                "audios": {
                    "description": "List of audio URLs or base64 strings",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "completed_at": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "error": {
                    "description": "Error message if failed",
                    "type": "string"
                },
                "files": {
                    "description": "List of file URLs or base64 strings",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "description": "UUID",
                    "type": "string"
                },
                "images": {
                    "description": "Multimedia content (for manual execution)\nCan contain URLs or base64-encoded data URIs",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "parameters": {
                    "description": "Template parameters",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "result": {
                    "description": "Agent response",
                    "type": "string"
                },
                "started_at": {
                    "type": "string"
                },
                "status": {
                    "description": "pending, running, completed, failed, cancelled",
                    "allOf": [
                        {
                            "$ref": "#/definitions/schema.JobStatus"
                        }
                    ]
                },
                "task_id": {
                    "description": "Reference to Task",
                    "type": "string"
                },
                "traces": {
                    "description": "Execution traces (reasoning, tool calls, tool results)",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.JobTrace"
                    }
                },
                "triggered_by": {
                    "description": "\"manual\", \"cron\", \"api\"",
                    "type": "string"
                },
                "videos": {
                    "description": "List of video URLs or base64 strings",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "webhook_error": {
                    "description": "Error if webhook failed",
                    "type": "string"
                },
                "webhook_sent": {
                    "description": "Webhook delivery tracking",
                    "type": "boolean"
                },
                "webhook_sent_at": {
                    "type": "string"
                }
            }
        },
        "schema.JobExecutionRequest": {
            "type": "object",
            "properties": {
                "audios": {
                    "description": "List of audio URLs or base64 strings",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "files": {
                    "description": "List of file URLs or base64 strings",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "images": {
                    "description": "Multimedia content (optional, for manual execution)\nCan contain URLs or base64-encoded data URIs",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "parameters": {
                    "description": "Optional, for templating",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "task_id": {
                    "description": "Required",
                    "type": "string"
                },
                "videos": {
                    "description": "List of video URLs or base64 strings",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "schema.JobExecutionResponse": {
            "type": "object",
            "properties": {
                "job_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "url": {
                    "description": "URL to check job status",
                    "type": "string"
                }
            }
        },
        "schema.JobStatus": {
            "type": "string",
            "enum": [
                "pending",
                "running",
                "completed",
                "failed",
                "cancelled"
            ],
            "x-enum-varnames": [
                "JobStatusPending",
                "JobStatusRunning",
                "JobStatusCompleted",
                "JobStatusFailed",
                "JobStatusCancelled"
            ]
        },
        "schema.JobTrace": {
            "type": "object",
            "properties": {
                "arguments": {
                    "description": "Tool arguments or result data",
                    "type": "object",
                    "additionalProperties": true
                },
                "content": {
                    "description": "The actual trace content",
                    "type": "string"
                },
                "timestamp": {
                    "description": "When this trace occurred",
                    "type": "string"
                },
                "tool_name": {
                    "description": "Tool name (for tool_call/tool_result)",
                    "type": "string"
                },
                "type": {
                    "description": "\"reasoning\", \"tool_call\", \"tool_result\", \"status\"",
                    "type": "string"
                }
            }
        },
        "schema.LogprobContent": {
            "type": "object",
            "properties": {
                "bytes": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "logprob": {
                    "type": "number"
                },
                "token": {
                    "type": "string"
                },
                "top_logprobs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.LogprobContent"
                    }
                }
            }
        },
        "schema.Logprobs": {
            "type": "object",
            "properties": {
                "content": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.LogprobContent"
                    }
                }
            }
        },
        "schema.LogprobsValue": {
            "type": "object",
            "properties": {
                "enabled": {
                    "description": "true if logprobs should be returned",
                    "type": "boolean"
                }
            }
        },
        "schema.Message": {
            "type": "object",
            "properties": {
                "content": {
                    "description": "The message content"
                },
                "function_call": {
                    "description": "A result of a function call"
                },
                "name": {
                    "description": "The message name (used for tools calls)",
                    "type": "string"
                },
                "reasoning": {
                    "description": "Reasoning content extracted from \u003cthinking\u003e...\u003c/thinking\u003e tags",
                    "type": "string"
                },
                "role": {
                    "description": "The message role",
                    "type": "string"
                },
                "string_audios": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "string_content": {
                    "type": "string"
                },
                "string_images": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "string_videos": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tool_calls": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.ToolCall"
                    }
                }
            }
        },
        "schema.ModelsDataResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.OpenAIModel"
                    }
                },
                "object": {
                    "type": "string"
                }
            }
        },
        "schema.MultimediaSourceConfig": {
            "type": "object",
            "properties": {
                "headers": {
                    "description": "Custom headers for HTTP request (e.g., Authorization)",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "type": {
                    "description": "\"image\", \"video\", \"audio\", \"file\"",
                    "type": "string"
                },
                "url": {
                    "description": "URL to fetch from",
                    "type": "string"
                }
            }
        },
        "schema.NodeData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "lastSeen": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "serviceID": {
                    "type": "string"
                },
                "tunnelAddress": {
                    "type": "string"
                }
            }
        },
        "schema.ORAnnotation": {
            "type": "object",
            "properties": {
                "end_index": {
                    "type": "integer"
                },
                "start_index": {
                    "type": "integer"
                },
                "title": {
                    "type": "string"
                },
                "type": {
                    "description": "url_citation",
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "schema.ORContentPart": {
            "type": "object",
            "properties": {
                "annotations": {
                    "description": "REQUIRED for output_text - must always be present (use [])",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.ORAnnotation"
                    }
                },
                "detail": {
                    "description": "low|high|auto for images",
                    "type": "string"
                },
                "file_data": {
                    "type": "string"
                },
                "file_url": {
                    "type": "string"
                },
                "filename": {
                    "type": "string"
                },
                "image_url": {
                    "type": "string"
                },
                "logprobs": {
                    "description": "REQUIRED for output_text - must always be present (use [])",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.ORLogProb"
                    }
                },
                "refusal": {
                    "type": "string"
                },
                "text": {
                    "description": "REQUIRED for output_text - must always be present (even if empty)",
                    "type": "string"
                },
                "type": {
                    "description": "input_text|input_image|input_file|output_text|refusal",
                    "type": "string"
                }
            }
        },
        "schema.ORError": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "param": {
                    "type": "string"
                },
                "type": {
                    "description": "invalid_request|not_found|server_error|model_error|too_many_requests",
                    "type": "string"
                }
            }
        },
        "schema.ORFunctionTool": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "parameters": {
                    "type": "object",
                    "additionalProperties": true
                },
                "strict": {
                    "description": "Always include in response",
                    "type": "boolean"
                },
                "type": {
                    "description": "always \"function\"",
                    "type": "string"
                }
            }
        },
        "schema.ORIncompleteDetails": {
            "type": "object",
            "properties": {
                "reason": {
                    "type": "string"
                }
            }
        },
        "schema.ORInputTokensDetails": {
            "type": "object",
            "properties": {
                "cached_tokens": {
                    "description": "Always include, even if 0",
                    "type": "integer"
                }
            }
        },
        "schema.ORItemField": {
            "type": "object",
            "properties": {
                "arguments": {
                    "type": "string"
                },
                "call_id": {
                    "description": "Function call fields",
                    "type": "string"
                },
                "content": {
                    "description": "string or []ORContentPart for messages"
                },
                "encrypted_content": {
                    "description": "Provider-specific encrypted content",
                    "type": "string"
                },
                "id": {
                    "description": "Present for all output items",
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "output": {
                    "description": "Function call output fields"
                },
                "role": {
                    "description": "Message fields",
                    "type": "string"
                },
                "status": {
                    "description": "in_progress|completed|incomplete",
                    "type": "string"
                },
                "summary": {
                    "description": "Reasoning fields (for type == \"reasoning\")",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.ORContentPart"
                    }
                },
                "type": {
                    "description": "message|function_call|function_call_output|reasoning|item_reference",
                    "type": "string"
                }
            }
        },
        "schema.ORLogProb": {
            "type": "object",
            "properties": {
                "bytes": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "logprob": {
                    "type": "number"
                },
                "token": {
                    "type": "string"
                },
                "top_logprobs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.ORTopLogProb"
                    }
                }
            }
        },
        "schema.OROutputTokensDetails": {
            "type": "object",
            "properties": {
                "reasoning_tokens": {
                    "description": "Always include, even if 0",
                    "type": "integer"
                }
            }
        },
        "schema.ORReasoning": {
            "type": "object",
            "properties": {
                "effort": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                }
            }
        },
        "schema.ORReasoningParam": {
            "type": "object",
            "properties": {
                "effort": {
                    "description": "\"none\"|\"low\"|\"medium\"|\"high\"|\"xhigh\"",
                    "type": "string"
                },
                "summary": {
                    "description": "\"auto\"|\"concise\"|\"detailed\"",
                    "type": "string"
                }
            }
        },
        "schema.ORResponseResource": {
            "type": "object",
            "properties": {
                "background": {
                    "type": "boolean"
                },
                "completed_at": {
                    "description": "Required: present as number or null",
                    "type": "integer"
                },
                "created_at": {
                    "type": "integer"
                },
                "error": {
                    "description": "Always present, null if no error",
                    "allOf": [
                        {
                            "$ref": "#/definitions/schema.ORError"
                        }
                    ]
                },
                "frequency_penalty": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                },
                "incomplete_details": {
                    "description": "Always present, null if complete",
                    "allOf": [
                        {
                            "$ref": "#/definitions/schema.ORIncompleteDetails"
                        }
                    ]
                },
                "instructions": {
                    "type": "string"
                },
                "max_output_tokens": {
                    "type": "integer"
                },
                "max_tool_calls": {
                    "description": "nullable",
                    "type": "integer"
                },
                "metadata": {
                    "description": "Metadata and operational flags",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "model": {
                    "type": "string"
                },
                "object": {
                    "description": "always \"response\"",
                    "type": "string"
                },
                "output": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.ORItemField"
                    }
                },
                "parallel_tool_calls": {
                    "type": "boolean"
                },
                "presence_penalty": {
                    "type": "number"
                },
                "previous_response_id": {
                    "type": "string"
                },
                "prompt_cache_key": {
                    "description": "nullable",
                    "type": "string"
                },
                "reasoning": {
                    "description": "nullable",
                    "allOf": [
                        {
                            "$ref": "#/definitions/schema.ORReasoning"
                        }
                    ]
                },
                "safety_identifier": {
                    "description": "Safety and caching",
                    "type": "string"
                },
                "service_tier": {
                    "type": "string"
                },
                "status": {
                    "description": "in_progress|completed|failed|incomplete",
                    "type": "string"
                },
                "store": {
                    "type": "boolean"
                },
                "temperature": {
                    "description": "Sampling parameters (always required)",
                    "type": "number"
                },
                "text": {
                    "description": "Text format configuration",
                    "allOf": [
                        {
                            "$ref": "#/definitions/schema.ORTextConfig"
                        }
                    ]
                },
                "tool_choice": {},
                "tools": {
                    "description": "Tool-related fields",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.ORFunctionTool"
                    }
                },
                "top_logprobs": {
                    "description": "Default to 0",
                    "type": "integer"
                },
                "top_p": {
                    "type": "number"
                },
                "truncation": {
                    "description": "Truncation and reasoning",
                    "type": "string"
                },
                "usage": {
                    "description": "Usage statistics",
                    "allOf": [
                        {
                            "$ref": "#/definitions/schema.ORUsage"
                        }
                    ]
                }
            }
        },
        "schema.ORTextConfig": {
            "type": "object",
            "properties": {
                "format": {
                    "$ref": "#/definitions/schema.ORTextFormat"
                }
            }
        },
        "schema.ORTextFormat": {
            "type": "object",
            "properties": {
                "type": {
                    "description": "\"text\" or \"json_schema\"",
                    "type": "string"
                }
            }
        },
        "schema.ORTopLogProb": {
            "type": "object",
            "properties": {
                "bytes": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "logprob": {
                    "type": "number"
                },
                "token": {
                    "type": "string"
                }
            }
        },
        "schema.ORUsage": {
            "type": "object",
            "properties": {
                "input_tokens": {
                    "type": "integer"
                },
                "input_tokens_details": {
                    "description": "Always present",
                    "allOf": [
                        {
                            "$ref": "#/definitions/schema.ORInputTokensDetails"
                        }
                    ]
                },
                "output_tokens": {
                    "type": "integer"
                },
                "output_tokens_details": {
                    "description": "Always present",
                    "allOf": [
                        {
                            "$ref": "#/definitions/schema.OROutputTokensDetails"
                        }
                    ]
                },
                "total_tokens": {
                    "type": "integer"
                }
            }
        },
        "schema.OpenAIModel": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "object": {
                    "type": "string"
                }
            }
        },
        "schema.OpenAIRequest": {
            "type": "object",
            "required": [
                "file"
            ],
            "properties": {
                "backend": {
                    "type": "string"
                },
                "batch": {
                    "description": "Custom parameters - not present in the OpenAI API",
                    "type": "integer"
                },
                "clip_skip": {
                    "description": "Diffusers",
                    "type": "integer"
                },
                "echo": {
                    "type": "boolean"
                },
                "file": {
                    "description": "whisper",
                    "type": "string"
                },
                "files": {
                    "description": "Multiple input images for img2img or inpainting",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "frequency_penalty": {
                    "type": "number"
                },
                "function_call": {
                    "description": "might be a string or an object"
                },
                "functions": {
                    "description": "A list of available functions to call",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/functions.Function"
                    }
                },
                "grammar": {
                    "description": "A grammar to constrain the LLM output",
                    "type": "string"
                },
                "grammar_json_functions": {
                    "$ref": "#/definitions/functions.JSONFunctionStructure"
                },
                "ignore_eos": {
                    "type": "boolean"
                },
                "input": {},
                "instruction": {
                    "description": "Edit endpoint",
                    "type": "string"
                },
                "language": {
                    "description": "Also part of the OpenAI official spec",
                    "type": "string"
                },
                "logit_bias": {
                    "description": "Map of token IDs to bias values (-100 to 100)",
                    "type": "object",
                    "additionalProperties": {
                        "type": "number",
                        "format": "float64"
                    }
                },
                "logprobs": {
                    "description": "OpenAI API logprobs parameters\nlogprobs: boolean - if true, returns log probabilities of each output token\ntop_logprobs: integer 0-20 - number of most likely tokens to return at each token position",
                    "allOf": [
                        {
                            "$ref": "#/definitions/schema.LogprobsValue"
                        }
                    ]
                },
                "max_tokens": {
                    "type": "integer"
                },
                "messages": {
                    "description": "Messages is read only by chat/completion API calls",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.Message"
                    }
                },
                "metadata": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "model": {
                    "type": "string"
                },
                "model_base_name": {
                    "type": "string"
                },
                "n": {
                    "description": "Also part of the OpenAI official spec. use it for returning multiple results",
                    "type": "integer"
                },
                "n_keep": {
                    "type": "integer"
                },
                "negative_prompt": {
                    "type": "string"
                },
                "negative_prompt_scale": {
                    "type": "number"
                },
                "presence_penalty": {
                    "type": "number"
                },
                "prompt": {
                    "description": "Prompt is read only by completion/image API calls"
                },
                "quality": {
                    "description": "Image (not supported by OpenAI)",
                    "type": "string"
                },
                "reasoning_effort": {
                    "type": "string"
                },
                "ref_images": {
                    "description": "Reference images for models that support them (e.g., Flux Kontext)",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "repeat_last_n": {
                    "type": "integer"
                },
                "repeat_penalty": {
                    "type": "number"
                },
                "response_format": {
                    "description": "whisper/image"
                },
                "rope_freq_base": {
                    "type": "number"
                },
                "rope_freq_scale": {
                    "type": "number"
                },
                "seed": {
                    "type": "integer"
                },
                "size": {
                    "description": "image",
                    "type": "string"
                },
                "step": {
                    "type": "integer"
                },
                "stop": {},
                "stream": {
                    "type": "boolean"
                },
                "temperature": {
                    "type": "number"
                },
                "tfz": {
                    "type": "number"
                },
                "tokenizer": {
                    "description": "RWKV (?)",
                    "type": "string"
                },
                "tool_choice": {},
                "tools": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/functions.Tool"
                    }
                },
                "top_k": {
                    "type": "integer"
                },
                "top_logprobs": {
                    "description": "Number of top logprobs per token (0-20)",
                    "type": "integer"
                },
                "top_p": {
                    "description": "Common options between all the API calls, part of the OpenAI spec",
                    "type": "number"
                },
                "translate": {
                    "description": "Only for audio transcription",
                    "type": "boolean"
                },
                "typical_p": {
                    "type": "number"
                }
            }
        },
        "schema.OpenAIResponse": {
            "type": "object",
            "properties": {
                "choices": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.Choice"
                    }
                },
                "created": {
                    "type": "integer"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.Item"
                    }
                },
                "id": {
                    "type": "string"
                },
                "model": {
                    "type": "string"
                },
                "object": {
                    "type": "string"
                },
                "usage": {
                    "$ref": "#/definitions/schema.OpenAIUsage"
                }
            }
        },
        "schema.OpenAIUsage": {
            "type": "object",
            "properties": {
                "completion_tokens": {
                    "type": "integer"
                },
                "input_tokens": {
                    "description": "Fields for image generation API compatibility",
                    "type": "integer"
                },
                "input_tokens_details": {
                    "$ref": "#/definitions/schema.InputTokensDetails"
                },
                "output_tokens": {
                    "type": "integer"
                },
                "prompt_tokens": {
                    "type": "integer"
                },
                "timing_prompt_processing": {
                    "description": "Extra timing data, disabled by default as is't not a part of OpenAI specification",
                    "type": "number"
                },
                "timing_token_generation": {
                    "type": "number"
                },
                "total_tokens": {
                    "type": "integer"
                }
            }
        },
        "schema.OpenResponsesRequest": {
            "type": "object",
            "properties": {
                "allowed_tools": {
                    "description": "Restrict which tools can be invoked",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "background": {
                    "description": "Run request in background",
                    "type": "boolean"
                },
                "frequency_penalty": {
                    "description": "Frequency penalty (-2.0 to 2.0)",
                    "type": "number"
                },
                "include": {
                    "description": "What to include in response",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "input": {
                    "description": "string or []ORItemParam"
                },
                "instructions": {
                    "type": "string"
                },
                "logit_bias": {
                    "description": "OpenAI-compatible extensions (not in Open Responses spec)",
                    "type": "object",
                    "additionalProperties": {
                        "type": "number",
                        "format": "float64"
                    }
                },
                "max_output_tokens": {
                    "type": "integer"
                },
                "max_tool_calls": {
                    "description": "Maximum number of tool calls",
                    "type": "integer"
                },
                "metadata": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "model": {
                    "type": "string"
                },
                "parallel_tool_calls": {
                    "description": "Allow parallel tool calls",
                    "type": "boolean"
                },
                "presence_penalty": {
                    "description": "Presence penalty (-2.0 to 2.0)",
                    "type": "number"
                },
                "previous_response_id": {
                    "type": "string"
                },
                "reasoning": {
                    "$ref": "#/definitions/schema.ORReasoningParam"
                },
                "service_tier": {
                    "description": "\"auto\"|\"default\"|priority hint",
                    "type": "string"
                },
                "store": {
                    "description": "Whether to store the response",
                    "type": "boolean"
                },
                "stream": {
                    "type": "boolean"
                },
                "temperature": {
                    "type": "number"
                },
                "text_format": {
                    "description": "Additional parameters from spec"
                },
                "tool_choice": {
                    "description": "\"auto\"|\"required\"|\"none\"|{type:\"function\",name:\"...\"}"
                },
                "tools": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.ORFunctionTool"
                    }
                },
                "top_logprobs": {
                    "description": "Number of top logprobs to return",
                    "type": "integer"
                },
                "top_p": {
                    "type": "number"
                },
                "truncation": {
                    "description": "\"auto\"|\"disabled\"",
                    "type": "string"
                }
            }
        },
        "schema.P2PNodesResponse": {
            "type": "object",
            "properties": {
                "federated_nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.NodeData"
                    }
                },
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.NodeData"
                    }
                }
            }
        },
        "schema.SysInfoModel": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                }
            }
        },
        "schema.SystemInformationResponse": {
            "type": "object",
            "properties": {
                "backends": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "loaded_models": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.SysInfoModel"
                    }
                }
            }
        },
        "schema.TTSRequest": {
            "description": "TTS request body",
            "type": "object",
            "properties": {
                "backend": {
                    "type": "string"
                },
                "input": {
                    "description": "text input",
                    "type": "string"
                },
                "language": {
                    "description": "(optional) language to use with TTS model",
                    "type": "string"
                },
                "model": {
                    "type": "string"
                },
                "response_format": {
                    "description": "(optional) output format",
                    "type": "string"
                },
                "stream": {
                    "description": "(optional) enable streaming TTS",
                    "type": "boolean"
                },
                "voice": {
                    "description": "voice audio file or speaker id",
                    "type": "string"
                }
            }
        },
        "schema.Task": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "cron": {
                    "description": "Optional cron expression",
                    "type": "string"
                },
                "cron_parameters": {
                    "description": "Parameters to use when executing cron jobs",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "description": {
                    "description": "Optional description",
                    "type": "string"
                },
                "enabled": {
                    "description": "Can be disabled without deletion",
                    "type": "boolean"
                },
                "id": {
                    "description": "UUID",
                    "type": "string"
                },
                "model": {
                    "description": "Model name (must have MCP config)",
                    "type": "string"
                },
                "multimedia_sources": {
                    "description": "Multimedia sources (for cron jobs)\nURLs to fetch multimedia content from when cron job executes\nEach source can have custom headers for authentication/authorization",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.MultimediaSourceConfig"
                    }
                },
                "name": {
                    "description": "User-friendly name",
                    "type": "string"
                },
                "prompt": {
                    "description": "Template prompt (supports {{.param}} syntax)",
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "webhooks": {
                    "description": "Webhook configuration (for notifications)\nSupport multiple webhook endpoints\nWebhooks can handle both success and failure cases using template variables:\n- {{.Job}} - Job object with all fields\n- {{.Task}} - Task object\n- {{.Result}} - Job result (if successful)\n- {{.Error}} - Error message (if failed, empty string if successful)\n- {{.Status}} - Job status string",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.WebhookConfig"
                    }
                }
            }
        },
        "schema.TokenizeRequest": {
            "type": "object",
            "properties": {
                "content": {
                    "type": "string"
                },
                "model": {
                    "type": "string"
                }
            }
        },
        "schema.TokenizeResponse": {
            "type": "object",
            "properties": {
                "tokens": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "schema.ToolCall": {
            "type": "object",
            "properties": {
                "function": {
                    "$ref": "#/definitions/schema.FunctionCall"
                },
                "id": {
                    "type": "string"
                },
                "index": {
                    "type": "integer"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "schema.VADRequest": {
            "description": "VAD request body",
            "type": "object",
            "properties": {
                "audio": {
                    "description": "model name or full path",
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "model": {
                    "type": "string"
                }
            }
        },
        "schema.VideoRequest": {
            "type": "object",
            "properties": {
                "cfg_scale": {
                    "type": "number"
                },
                "end_image": {
                    "type": "string"
                },
                "fps": {
                    "type": "integer"
                },
                "height": {
                    "type": "integer"
                },
                "input_reference": {
                    "type": "string"
                },
                "model": {
                    "type": "string"
                },
                "negative_prompt": {
                    "type": "string"
                },
                "num_frames": {
                    "type": "integer"
                },
                "prompt": {
                    "type": "string"
                },
                "response_format": {
                    "type": "string"
                },
                "seconds": {
                    "type": "string"
                },
                "seed": {
                    "type": "integer"
                },
                "size": {
                    "type": "string"
                },
                "start_image": {
                    "type": "string"
                },
                "step": {
                    "type": "integer"
                },
                "width": {
                    "type": "integer"
                }
            }
        },
        "schema.WebhookConfig": {
            "type": "object",
            "properties": {
                "headers": {
                    "description": "Custom headers (e.g., Authorization)",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "method": {
                    "description": "HTTP method (POST, PUT, PATCH) - default: POST",
                    "type": "string"
                },
                "payload_template": {
                    "description": "Optional template for payload",
                    "type": "string"
                },
                "url": {
                    "description": "Webhook endpoint URL",
                    "type": "string"
                }
            }
        },
        "services.GalleryOpStatus": {
            "type": "object",
            "properties": {
                "cancellable": {
                    "description": "Cancellable is true if the operation can be cancelled",
                    "type": "boolean"
                },
                "cancelled": {
                    "description": "Cancelled is true if the operation was cancelled",
                    "type": "boolean"
                },
                "deletion": {
                    "description": "Deletion is true if the operation is a deletion",
                    "type": "boolean"
                },
                "downloaded_size": {
                    "type": "string"
                },
                "error": {},
                "file_name": {
                    "type": "string"
                },
                "file_size": {
                    "type": "string"
                },
                "gallery_element_name": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "processed": {
                    "type": "boolean"
                },
                "progress": {
                    "type": "number"
                }
            }
        }
    },
    "securityDefinitions": {
        "BearerAuth": {
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}