| { | |
| "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/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": { | |
| "do_sample": { | |
| "type": "boolean" | |
| }, | |
| "duration_seconds": { | |
| "type": "number" | |
| }, | |
| "model_id": { | |
| "type": "string" | |
| }, | |
| "prompt_influence": { | |
| "type": "number" | |
| }, | |
| "text": { | |
| "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.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.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" | |
| }, | |
| "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" | |
| } | |
| } | |
| } |