{ "openapi": "3.1.0", "info": { "title": "ComfyUI Workflow Service & Management API", "version": "0.1.0" }, "paths": { "/api/service/metrics": { "get": { "tags": [ "Status" ], "summary": "Get Metrics", "description": "获取队列状态概览。", "operationId": "get_metrics_api_service_metrics_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } }, "/api/service/servers_status": { "get": { "tags": [ "Status" ], "summary": "Get Servers Status", "description": "获取所有已配置的ComfyUI服务器的配置信息和实时状态。", "operationId": "get_servers_status_api_service_servers_status_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/ServerStatus" }, "type": "array", "title": "Response Get Servers Status Api Service Servers Status Get" } } } } } } }, "/api/service/servers/{server_index}/files": { "get": { "tags": [ "Status" ], "summary": "List Server Files", "description": "获取指定ComfyUI服务器的输入和输出文件夹中的文件列表。\n注意:由于节点管理不再维护目录,此接口返回空列表。", "operationId": "list_server_files_api_service_servers__server_index__files_get", "parameters": [ { "name": "server_index", "in": "path", "required": true, "schema": { "type": "integer", "minimum": 0, "description": "服务器在配置列表中的索引", "title": "Server Index" }, "description": "服务器在配置列表中的索引" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerFiles" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow": { "get": { "tags": [ "Workflow" ], "summary": "Get All Workflows Endpoint", "description": "获取所有工作流", "operationId": "get_all_workflows_endpoint_api_workflow_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Response Get All Workflows Endpoint Api Workflow Get" } } } } } }, "post": { "tags": [ "Workflow" ], "summary": "Publish Workflow Endpoint", "description": "发布工作流", "operationId": "publish_workflow_endpoint_api_workflow_post", "requestBody": { "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Data" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{workflow_name}": { "delete": { "tags": [ "Workflow" ], "summary": "Delete Workflow Endpoint", "description": "删除工作流", "operationId": "delete_workflow_endpoint_api_workflow__workflow_name__delete", "parameters": [ { "name": "workflow_name", "in": "path", "required": true, "schema": { "type": "string", "description": "The full, unique name of the workflow to delete, e.g., 'my_workflow [20250101120000]'", "title": "Workflow Name" }, "description": "The full, unique name of the workflow to delete, e.g., 'my_workflow [20250101120000]'" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{base_name}": { "get": { "tags": [ "Workflow" ], "summary": "Get One Workflow Endpoint", "description": "获取工作流规范", "operationId": "get_one_workflow_endpoint_api_workflow__base_name__get", "parameters": [ { "name": "base_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Base Name" } }, { "name": "version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Version" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/run": { "post": { "tags": [ "Run" ], "summary": "Run Workflow", "description": "异步执行工作流。\n立即返回任务ID,调用者可以通过任务ID查询执行状态。", "operationId": "run_workflow_api_run_post", "parameters": [ { "name": "workflow_name", "in": "query", "required": true, "schema": { "type": "string", "title": "Workflow Name" } }, { "name": "workflow_version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Workflow Version" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Data" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/run/{workflow_run_id}": { "get": { "tags": [ "Run" ], "summary": "Get Run Status", "description": "获取工作流执行状态。", "operationId": "get_run_status_api_run__workflow_run_id__get", "parameters": [ { "name": "workflow_run_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Workflow Run Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/runx/model_with_multi_dress": { "post": { "tags": [ "RunX" ], "summary": "Model With Multi Dress", "description": "一个模特,穿多件不同的衣服", "operationId": "model_with_multi_dress_api_runx_model_with_multi_dress_post", "parameters": [ { "name": "workflow_version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Workflow Version" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Data" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/runx/model_with_multi_dress/json_schema": { "get": { "tags": [ "RunX" ], "summary": "Model With Multi Dress Json Schema", "description": "获取工作流定义", "operationId": "model_with_multi_dress_json_schema_api_runx_model_with_multi_dress_json_schema_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } }, "/monitor/": { "get": { "tags": [ "监控" ], "summary": "Monitor Dashboard", "description": "监控仪表板页面", "operationId": "monitor_dashboard_monitor__get", "responses": { "200": { "description": "Successful Response", "content": { "text/html": { "schema": { "type": "string" } } } } } } }, "/monitor/system-stats": { "get": { "tags": [ "监控" ], "summary": "Get System Stats", "description": "获取系统统计信息", "operationId": "get_system_stats_monitor_system_stats_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Get System Stats Monitor System Stats Get" } } } } } } }, "/monitor/task-stats": { "get": { "tags": [ "监控" ], "summary": "Get Task Stats", "description": "获取任务统计信息", "operationId": "get_task_stats_monitor_task_stats_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Get Task Stats Monitor Task Stats Get" } } } } } } }, "/monitor/server-status": { "get": { "tags": [ "监控" ], "summary": "Get Server Status", "description": "获取服务器状态信息", "operationId": "get_server_status_monitor_server_status_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Response Get Server Status Monitor Server Status Get" } } } } } } }, "/monitor/recent-tasks": { "get": { "tags": [ "监控" ], "summary": "Get Recent Tasks", "description": "获取最近的任务列表", "operationId": "get_recent_tasks_monitor_recent_tasks_get", "parameters": [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 10, "title": "Limit" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "additionalProperties": true }, "title": "Response Get Recent Tasks Monitor Recent Tasks Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/monitor/health": { "get": { "tags": [ "监控" ], "summary": "Health Check", "description": "健康检查端点", "operationId": "health_check_monitor_health_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Health Check Monitor Health Get" } } } } } } }, "/api/comfy/register": { "post": { "tags": [ "ComfyUI Server Management" ], "summary": "Register Server", "description": "注册ComfyUI服务器", "operationId": "register_server_api_comfy_register_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerRegistrationRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Response Register Server Api Comfy Register Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/comfy/heartbeat": { "post": { "tags": [ "ComfyUI Server Management" ], "summary": "Update Heartbeat", "description": "更新服务器心跳", "operationId": "update_heartbeat_api_comfy_heartbeat_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerHeartbeatRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Response Update Heartbeat Api Comfy Heartbeat Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/comfy/unregister": { "post": { "tags": [ "ComfyUI Server Management" ], "summary": "Unregister Server", "description": "注销ComfyUI服务器", "operationId": "unregister_server_api_comfy_unregister_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerUnregisterRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Response Unregister Server Api Comfy Unregister Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/comfy/status/{server_name}": { "get": { "tags": [ "ComfyUI Server Management" ], "summary": "Get Server Status", "description": "获取指定服务器状态", "operationId": "get_server_status_api_comfy_status__server_name__get", "parameters": [ { "name": "server_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Server Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerStatusResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/comfy/list": { "get": { "tags": [ "ComfyUI Server Management" ], "summary": "List All Servers", "description": "获取所有服务器列表", "operationId": "list_all_servers_api_comfy_list_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/ServerStatusResponse" }, "type": "array", "title": "Response List All Servers Api Comfy List Get" } } } } } } }, "/api/comfy/health": { "get": { "tags": [ "ComfyUI Server Management" ], "summary": "Get System Health", "description": "获取系统整体健康状态", "operationId": "get_system_health_api_comfy_health_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Get System Health Api Comfy Health Get" } } } } } } }, "/api/comfy/force_health_check": { "post": { "tags": [ "ComfyUI Server Management" ], "summary": "Force Health Check", "description": "强制执行健康检查", "operationId": "force_health_check_api_comfy_force_health_check_post", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Response Force Health Check Api Comfy Force Health Check Post" } } } } } } } }, "components": { "schemas": { "FileDetails": { "properties": { "name": { "type": "string", "title": "Name" }, "size_kb": { "type": "number", "title": "Size Kb" }, "modified_at": { "type": "string", "format": "date-time", "title": "Modified At" } }, "type": "object", "required": [ "name", "size_kb", "modified_at" ], "title": "FileDetails" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "ServerFiles": { "properties": { "server_index": { "type": "integer", "title": "Server Index" }, "http_url": { "type": "string", "title": "Http Url" }, "input_files": { "items": { "$ref": "#/components/schemas/FileDetails" }, "type": "array", "title": "Input Files" }, "output_files": { "items": { "$ref": "#/components/schemas/FileDetails" }, "type": "array", "title": "Output Files" } }, "type": "object", "required": [ "server_index", "http_url", "input_files", "output_files" ], "title": "ServerFiles" }, "ServerHeartbeatRequest": { "properties": { "name": { "type": "string", "title": "Name" } }, "type": "object", "required": [ "name" ], "title": "ServerHeartbeatRequest", "description": "服务器心跳请求模型" }, "ServerQueueDetails": { "properties": { "running_count": { "type": "integer", "title": "Running Count" }, "pending_count": { "type": "integer", "title": "Pending Count" } }, "type": "object", "required": [ "running_count", "pending_count" ], "title": "ServerQueueDetails" }, "ServerRegistrationRequest": { "properties": { "name": { "type": "string", "title": "Name" }, "http_url": { "type": "string", "title": "Http Url" }, "ws_url": { "type": "string", "title": "Ws Url" } }, "type": "object", "required": [ "name", "http_url", "ws_url" ], "title": "ServerRegistrationRequest", "description": "服务器注册请求模型" }, "ServerStatus": { "properties": { "server_index": { "type": "integer", "title": "Server Index" }, "http_url": { "type": "string", "title": "Http Url" }, "ws_url": { "type": "string", "title": "Ws Url" }, "is_reachable": { "type": "boolean", "title": "Is Reachable" }, "is_free": { "type": "boolean", "title": "Is Free" }, "queue_details": { "$ref": "#/components/schemas/ServerQueueDetails" } }, "type": "object", "required": [ "server_index", "http_url", "ws_url", "is_reachable", "is_free", "queue_details" ], "title": "ServerStatus" }, "ServerStatusResponse": { "properties": { "name": { "type": "string", "title": "Name" }, "http_url": { "type": "string", "title": "Http Url" }, "ws_url": { "type": "string", "title": "Ws Url" }, "status": { "type": "string", "title": "Status" }, "last_heartbeat": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Heartbeat" }, "last_health_check": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Health Check" }, "current_tasks": { "type": "integer", "title": "Current Tasks" }, "max_concurrent_tasks": { "type": "integer", "title": "Max Concurrent Tasks" }, "capabilities": { "additionalProperties": true, "type": "object", "title": "Capabilities" }, "metadata": { "additionalProperties": true, "type": "object", "title": "Metadata" } }, "type": "object", "required": [ "name", "http_url", "ws_url", "status", "current_tasks", "max_concurrent_tasks", "capabilities", "metadata" ], "title": "ServerStatusResponse", "description": "服务器状态响应模型" }, "ServerUnregisterRequest": { "properties": { "name": { "type": "string", "title": "Name" } }, "type": "object", "required": [ "name" ], "title": "ServerUnregisterRequest", "description": "服务器注销请求模型" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" } } } }