2025-02-11 22:54:40 +01:00
// Package swagger Code generated by swaggo/swag. DO NOT EDIT
2024-03-29 22:29:33 +01:00
package swagger
import "github.com/swaggo/swag"
const docTemplate = ` {
"schemes": {{ marshal .Schemes }} ,
"swagger": "2.0",
"info": {
"description": " {{ escape .Description }} ",
"title": " {{ .Title }} ",
"contact": {
2024-03-29 22:48:58 +01:00
"name": "LocalAI",
"url": "https://localai.io"
2024-03-29 22:29:33 +01:00
},
"license": {
"name": "MIT",
2024-03-29 22:48:58 +01:00
"url": "https://raw.githubusercontent.com/mudler/LocalAI/master/LICENSE"
2024-03-29 22:29:33 +01:00
},
"version": " {{ .Version }} "
},
"host": " {{ .Host }} ",
"basePath": " {{ .BasePath }} ",
"paths": {
2024-07-16 01:39:48 +02:00
"/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"
}
}
}
}
},
2024-07-18 13:42:45 +02:00
"/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": { }
}
},
2025-07-31 16:22:27 +02:00
"/backends": {
2024-07-18 13:42:45 +02:00
"get": {
2025-07-31 16:22:27 +02:00
"summary": "List all Backends",
"responses": {
"200": {
"description": "Response",
2024-07-18 13:42:45 +02:00
"schema": {
2025-07-31 16:22:27 +02:00
"type": "array",
"items": {
"$ref": "#/definitions/gallery.GalleryBackend"
}
2024-07-18 13:42:45 +02:00
}
}
2025-07-31 16:22:27 +02:00
}
2024-07-18 13:42:45 +02:00
}
},
2025-07-31 16:22:27 +02:00
"/backends/apply": {
2024-07-14 23:44:18 +02:00
"post": {
2025-07-31 16:22:27 +02:00
"summary": "Install backends to LocalAI.",
2024-07-14 23:44:18 +02:00
"parameters": [
{
"description": "query params",
"name": "request",
"in": "body",
"required": true,
"schema": {
2025-07-31 16:22:27 +02:00
"$ref": "#/definitions/localai.GalleryBackend"
2024-07-14 23:44:18 +02:00
}
}
],
"responses": {
"200": {
"description": "Response",
"schema": {
2025-07-31 16:22:27 +02:00
"$ref": "#/definitions/schema.BackendResponse"
2024-07-14 23:44:18 +02:00
}
}
}
}
},
2025-07-31 16:22:27 +02:00
"/backends/available": {
2024-07-14 23:44:18 +02:00
"get": {
2025-07-31 16:22:27 +02:00
"summary": "List all available Backends",
2024-07-14 23:44:18 +02:00
"responses": {
"200": {
"description": "Response",
"schema": {
"type": "array",
"items": {
2025-07-31 16:22:27 +02:00
"$ref": "#/definitions/gallery.GalleryBackend"
2024-07-14 23:44:18 +02:00
}
}
}
}
}
},
2025-07-31 16:22:27 +02:00
"/backends/delete/ { name}": {
2024-07-14 23:44:18 +02:00
"post": {
2025-07-31 16:22:27 +02:00
"summary": "delete backends from LocalAI.",
2024-07-14 23:44:18 +02:00
"parameters": [
{
"type": "string",
2025-07-31 16:22:27 +02:00
"description": "Backend name",
2024-07-14 23:44:18 +02:00
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Response",
"schema": {
2025-07-31 16:22:27 +02:00
"$ref": "#/definitions/schema.BackendResponse"
2024-07-14 23:44:18 +02:00
}
}
}
}
},
2025-07-31 16:22:27 +02:00
"/backends/galleries": {
2024-07-14 23:44:18 +02:00
"get": {
"summary": "List all Galleries",
"responses": {
"200": {
"description": "Response",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/config.Gallery"
}
}
}
}
2025-07-31 16:22:27 +02:00
}
},
"/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",
2024-07-14 23:44:18 +02:00
"parameters": [
{
"description": "Gallery details",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/config.Gallery"
}
}
],
2025-07-31 16:22:27 +02:00
"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.",
2024-07-14 23:44:18 +02:00
"responses": {
"200": {
"description": "Response",
"schema": {
"type": "array",
"items": {
2025-07-31 16:22:27 +02:00
"$ref": "#/definitions/gallery.GalleryModel"
2024-07-14 23:44:18 +02:00
}
}
}
}
2025-07-31 16:22:27 +02:00
}
},
"/models/delete/ { name}": {
"post": {
"summary": "delete models to LocalAI.",
2024-07-14 23:44:18 +02:00
"parameters": [
{
2025-07-31 16:22:27 +02:00
"type": "string",
"description": "Model name",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Response",
2024-07-14 23:44:18 +02:00
"schema": {
2025-07-31 16:22:27 +02:00
"$ref": "#/definitions/schema.GalleryResponse"
2024-07-14 23:44:18 +02:00
}
}
2025-07-31 16:22:27 +02:00
}
}
},
"/models/galleries": {
"get": {
"summary": "List all Galleries",
2024-07-14 23:44:18 +02:00
"responses": {
"200": {
"description": "Response",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/config.Gallery"
}
}
}
}
}
},
2024-07-18 13:42:45 +02:00
"/models/jobs": {
"get": {
"summary": "Returns all the jobs status progress",
"responses": {
"200": {
"description": "Response",
"schema": {
"type": "object",
"additionalProperties": {
2025-06-15 14:56:52 +02:00
"$ref": "#/definitions/services.GalleryOpStatus"
2024-07-18 13:42:45 +02:00
}
}
}
}
}
},
"/models/jobs/ { uuid}": {
"get": {
"summary": "Returns the job status",
"responses": {
"200": {
"description": "Response",
"schema": {
2025-06-15 14:56:52 +02:00
"$ref": "#/definitions/services.GalleryOpStatus"
2024-07-18 13:42:45 +02:00
}
}
}
}
},
2024-09-06 00:21:24 +02:00
"/system": {
"get": {
"summary": "Show the LocalAI instance information",
"responses": {
"200": {
"description": "Response",
"schema": {
"$ref": "#/definitions/schema.SystemInformationResponse"
}
}
}
}
},
2024-11-14 22:36:53 +01:00
"/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"
}
}
}
}
},
2024-06-02 00:04:01 +02:00
"/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"
}
}
}
}
},
2024-03-29 22:29:33 +01:00
"/v1/audio/speech": {
"post": {
2024-06-02 00:04:01 +02:00
"consumes": [
"application/json"
],
"produces": [
"audio/x-wav"
],
2024-03-29 22:29:33 +01:00
"summary": "Generates audio from the input text.",
"parameters": [
{
"description": "query params",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/schema.TTSRequest"
}
}
],
"responses": {
"200": {
2024-06-02 00:04:01 +02:00
"description": "generated audio/wav file",
2024-03-29 22:29:33 +01:00
"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"
}
}
}
}
},
2025-07-31 16:22:27 +02:00
"/v1/detection": {
2024-07-18 13:42:45 +02:00
"post": {
2025-07-31 16:22:27 +02:00
"summary": "Detects objects in the input image.",
2024-07-18 13:42:45 +02:00
"parameters": [
{
"description": "query params",
"name": "request",
"in": "body",
"required": true,
"schema": {
2025-07-31 16:22:27 +02:00
"$ref": "#/definitions/schema.DetectionRequest"
2024-07-18 13:42:45 +02:00
}
}
],
"responses": {
"200": {
"description": "Response",
"schema": {
2025-07-31 16:22:27 +02:00
"$ref": "#/definitions/schema.DetectionResponse"
2024-07-18 13:42:45 +02:00
}
}
}
}
},
2025-07-31 16:22:27 +02:00
"/v1/edits": {
2024-03-29 22:29:33 +01:00
"post": {
2025-07-31 16:22:27 +02:00
"summary": "OpenAI edit endpoint",
2024-03-29 22:29:33 +01:00
"parameters": [
{
"description": "query params",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/schema.OpenAIRequest"
}
}
],
"responses": {
"200": {
"description": "Response",
"schema": {
"$ref": "#/definitions/schema.OpenAIResponse"
}
}
}
}
},
2025-07-31 16:22:27 +02:00
"/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,
2024-07-11 10:56:55 +02:00
"schema": {
2025-07-31 16:22:27 +02:00
"$ref": "#/definitions/schema.OpenAIRequest"
2024-07-11 10:56:55 +02:00
}
}
2025-07-31 16:22:27 +02:00
],
2024-07-11 10:56:55 +02:00
"responses": {
"200": {
"description": "Response",
"schema": {
2025-07-31 16:22:27 +02:00
"$ref": "#/definitions/schema.OpenAIResponse"
2024-07-11 10:56:55 +02:00
}
}
}
}
},
2024-03-29 22:29:33 +01:00
"/v1/images/generations": {
"post": {
"summary": "Creates an image given a prompt.",
"parameters": [
{
"description": "query params",
"name": "request",
"in": "body",
"required": true,
2025-11-15 21:50:30 +01:00
"schema": {
"$ref": "#/definitions/schema.OpenAIRequest"
}
}
],
"responses": {
"200": {
"description": "Response",
"schema": {
"$ref": "#/definitions/schema.OpenAIResponse"
}
}
}
}
},
2025-11-25 22:19:53 +01:00
"/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"
}
}
}
}
}
},
2025-11-15 21:50:30 +01:00
"/v1/mcp/chat/completions": {
"post": {
2026-03-11 22:01:55 +01:00
"summary": "MCP chat completions with automatic tool execution",
2025-11-15 21:50:30 +01:00
"parameters": [
{
"description": "query params",
"name": "request",
"in": "body",
"required": true,
2024-03-29 22:29:33 +01:00
"schema": {
"$ref": "#/definitions/schema.OpenAIRequest"
}
}
],
"responses": {
"200": {
"description": "Response",
"schema": {
"$ref": "#/definitions/schema.OpenAIResponse"
}
}
}
}
},
2026-01-10 21:46:23 +01:00
"/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"
}
}
}
}
},
2024-07-11 10:56:55 +02:00
"/v1/models": {
"get": {
"summary": "List and describe the various models available in the API.",
"responses": {
"200": {
"description": "Response",
"schema": {
"$ref": "#/definitions/schema.ModelsDataResponse"
}
}
}
}
},
2024-07-14 23:44:18 +02:00
"/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"
}
}
}
}
},
2026-01-18 22:10:06 +01:00
"/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
}
}
}
}
},
2024-08-24 23:53:18 +02:00
"/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"
}
}
}
}
},
2024-03-29 22:29:33 +01:00
"/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"
}
}
}
}
2024-11-14 22:36:53 +01:00
},
"/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.",
2025-02-03 10:16:42 +01:00
"parameters": [
{
"description": "Request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/schema.TokenizeRequest"
}
}
],
2024-11-14 22:36:53 +01:00
"responses": {
"200": {
"description": "Response",
"schema": {
"$ref": "#/definitions/schema.TokenizeResponse"
}
}
}
}
2024-11-20 23:10:51 +01:00
},
"/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"
}
}
}
}
2025-04-27 00:40:35 +02:00
},
"/video": {
"post": {
"summary": "Creates a video given a prompt.",
"parameters": [
{
"description": "query params",
"name": "request",
"in": "body",
"required": true,
"schema": {
2025-08-29 08:11:34 +02:00
"$ref": "#/definitions/schema.VideoRequest"
2025-04-27 00:40:35 +02:00
}
}
],
"responses": {
"200": {
"description": "Response",
"schema": {
"$ref": "#/definitions/schema.OpenAIResponse"
}
}
}
}
2024-03-29 22:29:33 +01:00
}
},
"definitions": {
2024-07-14 23:44:18 +02:00
"config.Gallery": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
2024-04-25 16:10:08 +02:00
"functions.Function": {
2024-03-29 22:29:33 +01:00
"type": "object",
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"parameters": {
"type": "object",
"additionalProperties": true
2024-08-07 23:54:27 +02:00
},
"strict": {
"type": "boolean"
2024-03-29 22:29:33 +01:00
}
}
},
2024-07-18 23:20:52 +02:00
"functions.Item": {
2024-03-29 22:29:33 +01:00
"type": "object",
"properties": {
"properties": {
2024-05-12 23:00:18 +02:00
"type": "object",
"additionalProperties": true
},
2024-07-18 23:20:52 +02:00
"type": {
"type": "string"
2024-05-12 23:00:18 +02:00
}
}
},
2024-07-18 23:20:52 +02:00
"functions.JSONFunctionStructure": {
2024-03-29 22:29:33 +01:00
"type": "object",
"properties": {
"$defs": {
"type": "object",
"additionalProperties": true
},
"anyOf": {
"type": "array",
"items": {
2024-07-18 23:20:52 +02:00
"$ref": "#/definitions/functions.Item"
2024-03-29 22:29:33 +01:00
}
},
"oneOf": {
"type": "array",
"items": {
2024-07-18 23:20:52 +02:00
"$ref": "#/definitions/functions.Item"
2024-03-29 22:29:33 +01:00
}
}
}
},
2024-04-25 16:10:08 +02:00
"functions.Tool": {
2024-03-29 22:29:33 +01:00
"type": "object",
"properties": {
"function": {
2024-04-25 16:10:08 +02:00
"$ref": "#/definitions/functions.Function"
2024-03-29 22:29:33 +01:00
},
"type": {
"type": "string"
}
}
},
2024-07-14 23:44:18 +02:00
"gallery.File": {
"type": "object",
"properties": {
"filename": {
"type": "string"
},
"sha256": {
"type": "string"
},
"uri": {
"type": "string"
}
}
},
2025-07-31 16:22:27 +02:00
"gallery.GalleryBackend": {
2024-07-14 23:44:18 +02:00
"type": "object",
"properties": {
2025-07-31 16:22:27 +02:00
"alias": {
"type": "string"
},
2026-03-19 21:49:40 +01:00
"backend": {
"description": "Backend is the resolved backend engine for this model (e.g. \"llama-cpp\").\nPopulated at load time from overrides, inline config, or the URL-referenced config file.",
"type": "string"
},
2025-07-31 16:22:27 +02:00
"capabilities": {
2024-07-14 23:44:18 +02:00
"type": "object",
2025-07-31 16:22:27 +02:00
"additionalProperties": {
"type": "string"
}
2024-07-14 23:44:18 +02:00
},
"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"
},
2025-07-31 16:22:27 +02:00
"mirrors": {
"type": "array",
"items": {
"type": "string"
}
},
2024-07-14 23:44:18 +02:00
"name": {
"type": "string"
},
2026-03-09 22:14:17 +01:00
"size": {
"description": "Size is an optional hardcoded model size string (e.g. \"500MB\", \"14.5GB\").\nUsed when the size cannot be estimated automatically.",
"type": "string"
},
2024-07-14 23:44:18 +02:00
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
2025-07-31 16:22:27 +02:00
"uri": {
"type": "string"
},
2024-07-14 23:44:18 +02:00
"url": {
"type": "string"
},
"urls": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
2025-07-31 16:22:27 +02:00
"gallery.GalleryModel": {
2024-07-14 23:44:18 +02:00
"type": "object",
"properties": {
2026-03-19 21:49:40 +01:00
"backend": {
"description": "Backend is the resolved backend engine for this model (e.g. \"llama-cpp\").\nPopulated at load time from overrides, inline config, or the URL-referenced config file.",
"type": "string"
},
2024-07-14 23:44:18 +02:00
"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
},
2026-03-09 22:14:17 +01:00
"size": {
"description": "Size is an optional hardcoded model size string (e.g. \"500MB\", \"14.5GB\").\nUsed when the size cannot be estimated automatically.",
"type": "string"
},
2024-07-14 23:44:18 +02:00
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"url": {
"type": "string"
},
"urls": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
2025-07-31 16:22:27 +02:00
"localai.GalleryBackend": {
2024-03-29 22:29:33 +01:00
"type": "object",
"properties": {
2025-07-31 16:22:27 +02:00
"id": {
"type": "string"
}
}
},
"localai.GalleryModel": {
"type": "object",
"properties": {
2026-03-19 21:49:40 +01:00
"backend": {
"description": "Backend is the resolved backend engine for this model (e.g. \"llama-cpp\").\nPopulated at load time from overrides, inline config, or the URL-referenced config file.",
"type": "string"
},
2025-07-31 16:22:27 +02:00
"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
2024-03-29 22:29:33 +01:00
},
"description": {
"type": "string"
},
2025-07-31 16:22:27 +02:00
"files": {
"description": "AdditionalFiles are used to add additional files to the model",
2024-03-29 22:29:33 +01:00
"type": "array",
"items": {
2025-07-31 16:22:27 +02:00
"$ref": "#/definitions/gallery.File"
2024-03-29 22:29:33 +01:00
}
},
2025-07-31 16:22:27 +02:00
"gallery": {
"description": "Gallery is a reference to the gallery which contains the model",
"allOf": [
{
"$ref": "#/definitions/config.Gallery"
}
]
},
"icon": {
2024-03-29 22:29:33 +01:00
"type": "string"
},
2025-07-31 16:22:27 +02:00
"id": {
2024-03-29 22:29:33 +01:00
"type": "string"
},
2025-07-31 16:22:27 +02:00
"installed": {
"description": "Installed is used to indicate if the model is installed or not",
"type": "boolean"
2024-03-29 22:29:33 +01:00
},
2025-07-31 16:22:27 +02:00
"license": {
2024-03-29 22:29:33 +01:00
"type": "string"
},
"name": {
"type": "string"
},
2025-07-31 16:22:27 +02:00
"overrides": {
"description": "Overrides are used to override the configuration of the model located at URL",
"type": "object",
"additionalProperties": true
2024-03-29 22:29:33 +01:00
},
2026-03-09 22:14:17 +01:00
"size": {
"description": "Size is an optional hardcoded model size string (e.g. \"500MB\", \"14.5GB\").\nUsed when the size cannot be estimated automatically.",
"type": "string"
},
2025-07-31 16:22:27 +02:00
"tags": {
2024-03-29 22:29:33 +01:00
"type": "array",
"items": {
"type": "string"
}
},
2025-07-31 16:22:27 +02:00
"url": {
2024-03-29 22:29:33 +01:00
"type": "string"
},
2025-07-31 16:22:27 +02:00
"urls": {
2024-03-29 22:29:33 +01:00
"type": "array",
"items": {
2025-07-31 16:22:27 +02:00
"type": "string"
2024-03-29 22:29:33 +01:00
}
}
}
},
2024-07-18 13:42:45 +02:00
"proto.MemoryUsageData": {
"type": "object",
"properties": {
"breakdown": {
"type": "object",
"additionalProperties": {
2025-07-31 23:04:23 +02:00
"type": "integer",
"format": "int64"
2024-07-18 13:42:45 +02:00
}
},
"total": {
"type": "integer"
}
}
},
"proto.StatusResponse": {
"type": "object",
"properties": {
"memory": {
"$ref": "#/definitions/proto.MemoryUsageData"
},
"state": {
"$ref": "#/definitions/proto.StatusResponse_State"
}
}
},
"proto.StatusResponse_State": {
"type": "integer",
2025-07-31 23:04:23 +02:00
"format": "int32",
2024-07-18 13:42:45 +02:00
"enum": [
0,
1,
2,
-1
],
"x-enum-varnames": [
"StatusResponse_UNINITIALIZED",
"StatusResponse_BUSY",
"StatusResponse_READY",
"StatusResponse_ERROR"
]
},
2024-11-20 23:10:51 +01:00
"proto.VADResponse": {
"type": "object",
"properties": {
"segments": {
"type": "array",
"items": {
"$ref": "#/definitions/proto.VADSegment"
}
}
}
},
"proto.VADSegment": {
"type": "object",
"properties": {
"end": {
"type": "number"
},
"start": {
"type": "number"
}
}
},
2026-01-10 21:46:23 +01:00
"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"
}
}
},
2024-07-18 13:42:45 +02:00
"schema.BackendMonitorRequest": {
"type": "object",
"properties": {
"model": {
"type": "string"
}
}
},
2025-07-31 16:22:27 +02:00
"schema.BackendResponse": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status_url": {
"type": "string"
}
}
},
2024-03-29 22:29:33 +01:00
"schema.Choice": {
"type": "object",
"properties": {
"delta": {
"$ref": "#/definitions/schema.Message"
},
"finish_reason": {
"type": "string"
},
"index": {
"type": "integer"
},
2025-11-17 07:49:06 +01:00
"logprobs": {
"$ref": "#/definitions/schema.Logprobs"
},
2024-03-29 22:29:33 +01:00
"message": {
"$ref": "#/definitions/schema.Message"
},
"text": {
"type": "string"
}
}
},
2025-07-31 16:22:27 +02:00
"schema.Detection": {
2024-07-18 13:42:45 +02:00
"type": "object",
"properties": {
2025-07-31 16:22:27 +02:00
"class_name": {
"type": "string"
2024-07-18 13:42:45 +02:00
},
2025-07-31 16:22:27 +02:00
"height": {
"type": "number"
},
"width": {
"type": "number"
},
"x": {
"type": "number"
},
"y": {
"type": "number"
}
}
},
"schema.DetectionRequest": {
"type": "object",
"properties": {
"image": {
2024-07-18 13:42:45 +02:00
"type": "string"
},
2025-07-31 16:22:27 +02:00
"model": {
2024-07-18 13:42:45 +02:00
"type": "string"
}
}
},
2025-07-31 16:22:27 +02:00
"schema.DetectionResponse": {
"type": "object",
"properties": {
"detections": {
"type": "array",
"items": {
"$ref": "#/definitions/schema.Detection"
}
}
}
},
2024-08-24 23:53:18 +02:00
"schema.ElevenLabsSoundGenerationRequest": {
"type": "object",
"properties": {
2026-02-05 12:04:53 +01:00
"bpm": {
"type": "integer"
},
"caption": {
"type": "string"
},
2024-08-24 23:53:18 +02:00
"do_sample": {
"type": "boolean"
},
"duration_seconds": {
"type": "number"
},
2026-02-05 12:04:53 +01:00
"instrumental": {
2026-02-05 21:33:44 +01:00
"description": "Simple mode: use text as description; optional instrumental / vocal_language",
2026-02-05 12:04:53 +01:00
"type": "boolean"
},
"keyscale": {
"type": "string"
},
"language": {
"type": "string"
},
"lyrics": {
"type": "string"
},
2024-08-24 23:53:18 +02:00
"model_id": {
"type": "string"
},
"prompt_influence": {
"type": "number"
},
"text": {
"type": "string"
2026-02-05 12:04:53 +01:00
},
"think": {
2026-02-05 21:33:44 +01:00
"description": "Advanced mode",
2026-02-05 12:04:53 +01:00
"type": "boolean"
},
"timesignature": {
"type": "string"
},
"vocal_language": {
"type": "string"
2024-08-24 23:53:18 +02:00
}
}
},
2024-03-29 22:29:33 +01:00
"schema.FunctionCall": {
"type": "object",
"properties": {
"arguments": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
2024-07-14 23:44:18 +02:00
"schema.GalleryResponse": {
"type": "object",
"properties": {
2026-03-01 21:33:19 +01:00
"estimated_size_bytes": {
"type": "integer"
},
"estimated_size_display": {
"type": "string"
},
"estimated_vram_bytes": {
"type": "integer"
},
"estimated_vram_display": {
"type": "string"
},
2024-07-14 23:44:18 +02:00
"status": {
"type": "string"
},
"uuid": {
"type": "string"
}
}
},
2025-12-30 22:05:01 +01:00
"schema.InputTokensDetails": {
"type": "object",
"properties": {
"image_tokens": {
"type": "integer"
},
"text_tokens": {
"type": "integer"
}
}
},
2024-03-29 22:29:33 +01:00
"schema.Item": {
"type": "object",
"properties": {
"b64_json": {
"type": "string"
},
"index": {
"type": "integer"
},
"object": {
"type": "string"
},
"url": {
"description": "Images",
"type": "string"
}
}
},
2024-07-14 23:44:18 +02:00
"schema.JINADocumentResult": {
"type": "object",
"properties": {
"document": {
"$ref": "#/definitions/schema.JINAText"
},
"index": {
"type": "integer"
},
"relevance_score": {
"type": "number"
}
}
},
"schema.JINARerankRequest": {
"type": "object",
"properties": {
2025-02-11 09:51:01 +01:00
"backend": {
"type": "string"
},
2024-07-14 23:44:18 +02:00
"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"
}
}
},
2025-11-17 07:49:06 +01:00
"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"
}
}
},
2024-03-29 22:29:33 +01:00
"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"
},
2026-01-10 21:46:23 +01:00
"reasoning": {
"description": "Reasoning content extracted from \u003cthinking\u003e...\u003c/thinking\u003e tags",
"type": "string"
},
2024-03-29 22:29:33 +01:00
"role": {
"description": "The message role",
"type": "string"
},
2024-09-20 10:49:32 +02:00
"string_audios": {
"type": "array",
"items": {
"type": "string"
}
},
2024-03-29 22:29:33 +01:00
"string_content": {
"type": "string"
},
"string_images": {
"type": "array",
"items": {
"type": "string"
}
},
2024-09-20 10:49:32 +02:00
"string_videos": {
"type": "array",
"items": {
"type": "string"
}
},
2026-03-11 22:01:55 +01:00
"tool_call_id": {
"type": "string"
},
2024-03-29 22:29:33 +01:00
"tool_calls": {
"type": "array",
"items": {
"$ref": "#/definitions/schema.ToolCall"
}
}
}
},
2024-07-11 10:56:55 +02:00
"schema.ModelsDataResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/schema.OpenAIModel"
}
},
"object": {
"type": "string"
}
}
},
2025-08-19 22:56:00 +02:00
"schema.NodeData": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"lastSeen": {
"type": "string"
},
"name": {
"type": "string"
},
"serviceID": {
"type": "string"
},
"tunnelAddress": {
"type": "string"
}
}
},
2026-01-21 21:44:44 +01:00
"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"
}
}
},
2026-01-18 22:10:06 +01:00
"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"
},
2026-01-21 21:44:44 +01:00
"encrypted_content": {
"description": "Provider-specific encrypted content",
"type": "string"
},
2026-01-18 22:10:06 +01:00
"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"
},
2026-01-21 21:44:44 +01:00
"summary": {
"description": "Reasoning fields (for type == \"reasoning\")",
"type": "array",
"items": {
"$ref": "#/definitions/schema.ORContentPart"
}
},
2026-01-18 22:10:06 +01:00
"type": {
"description": "message|function_call|function_call_output|reasoning|item_reference",
"type": "string"
}
}
},
2026-01-21 21:44:44 +01:00
"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"
}
}
}
},
2026-01-18 22:10:06 +01:00
"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"
}
}
},
2026-01-21 21:44:44 +01:00
"schema.ORTopLogProb": {
"type": "object",
"properties": {
"bytes": {
"type": "array",
"items": {
"type": "integer"
}
},
"logprob": {
"type": "number"
},
"token": {
"type": "string"
}
}
},
2026-01-18 22:10:06 +01:00
"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"
}
}
},
2024-07-11 10:56:55 +02:00
"schema.OpenAIModel": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"object": {
"type": "string"
}
}
},
2024-03-29 22:29:33 +01:00
"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"
},
2026-03-26 07:58:11 +01:00
"encoding_format": {
"description": "Embedding encoding format: \"float\" (default) or \"base64\" (OpenAI Node.js SDK default)",
"type": "string"
},
2024-03-29 22:29:33 +01:00
"file": {
"description": "whisper",
"type": "string"
},
2025-07-31 16:22:27 +02:00
"files": {
"description": "Multiple input images for img2img or inpainting",
"type": "array",
"items": {
"type": "string"
}
},
2024-03-29 22:29:33 +01:00
"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": {
2024-04-25 16:10:08 +02:00
"$ref": "#/definitions/functions.Function"
2024-03-29 22:29:33 +01:00
}
},
"grammar": {
"description": "A grammar to constrain the LLM output",
"type": "string"
},
"grammar_json_functions": {
2024-07-18 23:20:52 +02:00
"$ref": "#/definitions/functions.JSONFunctionStructure"
2024-03-29 22:29:33 +01:00
},
"ignore_eos": {
"type": "boolean"
},
"input": { },
"instruction": {
"description": "Edit endpoint",
"type": "string"
},
"language": {
"description": "Also part of the OpenAI official spec",
"type": "string"
},
2025-11-17 07:49:06 +01:00
"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"
}
]
},
2024-03-29 22:29:33 +01:00
"max_tokens": {
"type": "integer"
},
"messages": {
"description": "Messages is read only by chat/completion API calls",
"type": "array",
"items": {
"$ref": "#/definitions/schema.Message"
}
},
2025-08-07 00:32:11 +02:00
"metadata": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
2026-03-22 21:28:20 +01:00
"min_p": {
"type": "number"
},
2024-03-29 22:29:33 +01:00
"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"
},
2025-01-22 21:51:38 +01:00
"quality": {
2026-01-01 21:16:38 +01:00
"description": "Image (not supported by OpenAI)",
2025-01-22 21:51:38 +01:00
"type": "string"
},
2025-08-07 00:32:11 +02:00
"reasoning_effort": {
"type": "string"
},
2025-07-31 16:22:27 +02:00
"ref_images": {
"description": "Reference images for models that support them (e.g., Flux Kontext)",
"type": "array",
"items": {
"type": "string"
}
},
2024-06-27 01:12:53 +02:00
"repeat_last_n": {
"type": "integer"
},
2024-03-29 22:29:33 +01:00
"repeat_penalty": {
"type": "number"
},
"response_format": {
2024-05-30 10:11:05 +02:00
"description": "whisper/image"
2024-03-29 22:29:33 +01:00
},
"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": {
2024-04-25 16:10:08 +02:00
"$ref": "#/definitions/functions.Tool"
2024-03-29 22:29:33 +01:00
}
},
"top_k": {
"type": "integer"
},
2025-11-17 07:49:06 +01:00
"top_logprobs": {
"description": "Number of top logprobs per token (0-20)",
"type": "integer"
},
2024-03-29 22:29:33 +01:00
"top_p": {
"description": "Common options between all the API calls, part of the OpenAI spec",
"type": "number"
},
2024-06-25 10:50:52 +02:00
"translate": {
"description": "Only for audio transcription",
"type": "boolean"
},
2024-03-29 22:29:33 +01:00
"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": {
2025-12-30 22:05:01 +01:00
"type": "integer"
},
"input_tokens": {
"description": "Fields for image generation API compatibility",
"type": "integer"
},
"input_tokens_details": {
"$ref": "#/definitions/schema.InputTokensDetails"
},
"output_tokens": {
2024-03-29 22:29:33 +01:00
"type": "integer"
},
"prompt_tokens": {
"type": "integer"
},
2025-01-18 08:57:49 +01:00
"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"
},
2024-03-29 22:29:33 +01:00
"total_tokens": {
"type": "integer"
}
}
},
2026-01-18 22:10:06 +01:00
"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"
}
}
},
2024-07-16 01:39:48 +02:00
"schema.P2PNodesResponse": {
"type": "object",
"properties": {
"federated_nodes": {
"type": "array",
"items": {
2025-08-19 22:56:00 +02:00
"$ref": "#/definitions/schema.NodeData"
2024-07-16 01:39:48 +02:00
}
},
2026-03-09 22:14:17 +01:00
"llama_cpp_nodes": {
"type": "array",
"items": {
"$ref": "#/definitions/schema.NodeData"
}
},
"mlx_nodes": {
2024-07-16 01:39:48 +02:00
"type": "array",
"items": {
2025-08-19 22:56:00 +02:00
"$ref": "#/definitions/schema.NodeData"
2024-07-16 01:39:48 +02:00
}
}
}
},
2024-11-14 22:36:53 +01:00
"schema.SysInfoModel": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
},
2024-09-06 00:21:24 +02:00
"schema.SystemInformationResponse": {
"type": "object",
"properties": {
"backends": {
"type": "array",
"items": {
"type": "string"
}
2024-09-26 10:57:40 +02:00
},
"loaded_models": {
"type": "array",
"items": {
2024-11-14 22:36:53 +01:00
"$ref": "#/definitions/schema.SysInfoModel"
2024-09-26 10:57:40 +02:00
}
2024-09-06 00:21:24 +02:00
}
}
},
2024-03-29 22:29:33 +01:00
"schema.TTSRequest": {
2024-06-02 00:04:01 +02:00
"description": "TTS request body",
2024-03-29 22:29:33 +01:00
"type": "object",
"properties": {
"backend": {
"type": "string"
},
"input": {
2024-06-02 00:04:01 +02:00
"description": "text input",
"type": "string"
},
"language": {
"description": "(optional) language to use with TTS model",
2024-03-29 22:29:33 +01:00
"type": "string"
},
"model": {
"type": "string"
},
2024-11-14 22:36:53 +01:00
"response_format": {
"description": "(optional) output format",
2024-03-29 22:29:33 +01:00
"type": "string"
2024-11-02 20:13:35 +01:00
},
2026-02-25 21:52:35 +01:00
"sample_rate": {
"description": "(optional) desired output sample rate",
"type": "integer"
},
2026-01-30 21:27:10 +01:00
"stream": {
"description": "(optional) enable streaming TTS",
"type": "boolean"
},
2024-11-14 22:36:53 +01:00
"voice": {
"description": "voice audio file or speaker id",
2024-11-02 20:13:35 +01:00
"type": "string"
2024-11-14 22:36:53 +01:00
}
}
},
2025-02-03 10:16:42 +01:00
"schema.TokenizeRequest": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"model": {
"type": "string"
}
}
},
2024-11-14 22:36:53 +01:00
"schema.TokenizeResponse": {
"type": "object",
"properties": {
"tokens": {
"type": "array",
"items": {
"type": "integer"
}
}
2024-03-29 22:29:33 +01:00
}
},
"schema.ToolCall": {
"type": "object",
"properties": {
"function": {
"$ref": "#/definitions/schema.FunctionCall"
},
"id": {
"type": "string"
},
"index": {
"type": "integer"
},
"type": {
"type": "string"
}
}
2024-11-20 23:10:51 +01:00
},
"schema.VADRequest": {
"description": "VAD request body",
"type": "object",
"properties": {
"audio": {
"description": "model name or full path",
"type": "array",
"items": {
"type": "number"
}
},
"model": {
"type": "string"
}
}
2025-07-31 16:22:27 +02:00
},
2025-08-29 08:11:34 +02:00
"schema.VideoRequest": {
"type": "object",
"properties": {
"cfg_scale": {
"type": "number"
},
"end_image": {
"type": "string"
},
"fps": {
"type": "integer"
},
"height": {
"type": "integer"
},
2025-10-27 21:24:28 +01:00
"input_reference": {
"type": "string"
},
2025-08-29 08:11:34 +02:00
"model": {
"type": "string"
},
"negative_prompt": {
"type": "string"
},
"num_frames": {
"type": "integer"
},
"prompt": {
"type": "string"
},
"response_format": {
"type": "string"
},
2025-10-27 21:24:28 +01:00
"seconds": {
"type": "string"
},
2025-08-29 08:11:34 +02:00
"seed": {
"type": "integer"
},
2025-10-27 21:24:28 +01:00
"size": {
"type": "string"
},
2025-08-29 08:11:34 +02:00
"start_image": {
"type": "string"
},
"step": {
"type": "integer"
},
"width": {
"type": "integer"
}
}
},
2025-07-31 16:22:27 +02:00
"services.GalleryOpStatus": {
"type": "object",
"properties": {
2025-11-13 22:28:10 +01:00
"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"
},
2025-07-31 16:22:27 +02:00
"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"
}
}
2024-03-29 22:29:33 +01:00
}
},
"securityDefinitions": {
"BearerAuth": {
"type": "apiKey",
"name": "Authorization",
"in": "header"
}
}
} `
// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = & swag . Spec {
Version : "2.0.0" ,
2024-03-30 12:04:41 +01:00
Host : "" ,
2024-03-29 22:29:33 +01:00
BasePath : "/" ,
Schemes : [ ] string { } ,
Title : "LocalAI API" ,
2024-03-29 22:48:58 +01:00
Description : "The LocalAI Rest API." ,
2024-03-29 22:29:33 +01:00
InfoInstanceName : "swagger" ,
SwaggerTemplate : docTemplate ,
LeftDelim : "{{" ,
RightDelim : "}}" ,
}
func init ( ) {
swag . Register ( SwaggerInfo . InstanceName ( ) , SwaggerInfo )
}