| openapi: 3.1.0 |
| info: |
| title: ComfyUI-Manager API |
| description: | |
| API for ComfyUI-Manager, a comprehensive management tool for ComfyUI custom nodes, models, and components. |
| This API enables programmatic access to node management, model downloading, snapshot operations, |
| and overall system configuration. |
| version: "3.32.3" |
| contact: |
| name: ComfyUI-Manager Maintainers |
| servers: |
| - url: '/' |
| description: Default ComfyUI server |
|
|
| |
| components: |
| schemas: |
| Error: |
| type: object |
| properties: |
| error: |
| type: string |
| description: Error message |
| |
| NodePackageMetadata: |
| type: object |
| properties: |
| title: |
| type: string |
| description: Display name of the node package |
| name: |
| type: string |
| description: Repository/package name |
| files: |
| type: array |
| items: |
| type: string |
| description: Source URLs for the package |
| description: |
| type: string |
| description: Description of the node package functionality |
| install_type: |
| type: string |
| enum: [git, copy, pip] |
| description: Installation method |
| version: |
| type: string |
| description: Version identifier |
| id: |
| type: string |
| description: Unique identifier for the node package |
| ui_id: |
| type: string |
| description: ID for UI reference |
| channel: |
| type: string |
| description: Source channel |
| mode: |
| type: string |
| description: Source mode |
| |
| ModelMetadata: |
| type: object |
| properties: |
| name: |
| type: string |
| description: Name of the model |
| type: |
| type: string |
| description: Type of model |
| base: |
| type: string |
| description: Base model type |
| save_path: |
| type: string |
| description: Path for saving the model |
| url: |
| type: string |
| description: Download URL |
| filename: |
| type: string |
| description: Target filename |
| ui_id: |
| type: string |
| description: ID for UI reference |
| |
| SnapshotItem: |
| type: string |
| description: Name of the snapshot |
|
|
| QueueStatus: |
| type: object |
| properties: |
| total_count: |
| type: integer |
| description: Total number of tasks |
| done_count: |
| type: integer |
| description: Number of completed tasks |
| in_progress_count: |
| type: integer |
| description: Number of tasks in progress |
| is_processing: |
| type: boolean |
| description: Whether the queue is currently processing |
|
|
| ImportFailInfoBulkRequest: |
| type: object |
| properties: |
| cnr_ids: |
| type: array |
| items: |
| type: string |
| description: A list of CNR IDs to check. |
| urls: |
| type: array |
| items: |
| type: string |
| description: A list of repository URLs to check. |
|
|
| ImportFailInfoBulkResponse: |
| type: object |
| additionalProperties: |
| $ref: '#/components/schemas/ImportFailInfoItem' |
| description: >- |
| A dictionary where each key is a cnr_id or url from the request, |
| and the value is the corresponding error info. |
| |
| ImportFailInfoItem: |
| oneOf: |
| - type: object |
| properties: |
| error: |
| type: string |
| traceback: |
| type: string |
| - type: "null" |
|
|
| securitySchemes: |
| securityLevel: |
| type: apiKey |
| in: header |
| name: Security-Level |
| description: Security level for sensitive operations |
|
|
| parameters: |
| modeParam: |
| name: mode |
| in: query |
| description: Source mode (e.g., "local", "remote") |
| schema: |
| type: string |
| enum: [local, remote, default] |
| |
| targetParam: |
| name: target |
| in: query |
| description: Target identifier |
| required: true |
| schema: |
| type: string |
| |
| valueParam: |
| name: value |
| in: query |
| description: New value to set |
| required: true |
| schema: |
| type: string |
|
|
| |
| paths: |
| |
| /customnode/getmappings: |
| get: |
| summary: Get node-to-package mappings |
| description: Provides unified mapping between nodes and node packages |
| parameters: |
| - $ref: '#/components/parameters/modeParam' |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| type: object |
| additionalProperties: |
| type: array |
| items: |
| type: array |
| description: Mapping of node packages to node classes |
|
|
| /customnode/fetch_updates: |
| get: |
| summary: Check for updates |
| description: Fetches updates for custom nodes |
| parameters: |
| - $ref: '#/components/parameters/modeParam' |
| responses: |
| '200': |
| description: No updates available |
| '201': |
| description: Updates found |
| '400': |
| description: Error occurred |
| |
| /customnode/installed: |
| get: |
| summary: Get installed custom nodes |
| description: Returns a list of installed node packages |
| parameters: |
| - name: mode |
| in: query |
| description: Lists mode, default or imported |
| schema: |
| type: string |
| enum: [default, imported] |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| type: object |
| additionalProperties: |
| $ref: '#/components/schemas/NodePackageMetadata' |
| |
| /customnode/getlist: |
| get: |
| summary: Get custom node list |
| description: Provides a list of available custom nodes |
| parameters: |
| - $ref: '#/components/parameters/modeParam' |
| - name: skip_update |
| in: query |
| description: Skip update check |
| schema: |
| type: boolean |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| type: object |
| properties: |
| channel: |
| type: string |
| node_packs: |
| type: object |
| additionalProperties: |
| $ref: '#/components/schemas/NodePackageMetadata' |
| |
| /customnode/alternatives: |
| get: |
| summary: Get alternative node options |
| description: Provides alternatives for nodes |
| parameters: |
| - $ref: '#/components/parameters/modeParam' |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| type: object |
| additionalProperties: |
| type: object |
| |
| /customnode/versions/{node_name}: |
| get: |
| summary: Get available versions for a node |
| description: Lists all available versions for a specific node |
| parameters: |
| - name: node_name |
| in: path |
| required: true |
| schema: |
| type: string |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| type: array |
| items: |
| type: object |
| properties: |
| version: |
| type: string |
| '400': |
| description: Node not found |
| |
| /customnode/disabled_versions/{node_name}: |
| get: |
| summary: Get disabled versions for a node |
| description: Lists all disabled versions for a specific node |
| parameters: |
| - name: node_name |
| in: path |
| required: true |
| schema: |
| type: string |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| type: array |
| items: |
| type: object |
| properties: |
| version: |
| type: string |
| '400': |
| description: Node not found |
| |
| /customnode/import_fail_info: |
| post: |
| summary: Get import failure information |
| description: Returns information about why a node failed to import |
| requestBody: |
| required: true |
| content: |
| application/json: |
| schema: |
| type: object |
| properties: |
| cnr_id: |
| type: string |
| url: |
| type: string |
| responses: |
| '200': |
| description: Successful operation |
| '400': |
| description: No information available |
| |
| /v2/customnode/import_fail_info_bulk: |
| post: |
| summary: Get import failure info for multiple nodes |
| description: Retrieves recorded import failure information for a list of custom nodes. |
| tags: |
| - customnode |
| requestBody: |
| description: A list of CNR IDs or repository URLs to check. |
| required: true |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ImportFailInfoBulkRequest' |
| responses: |
| '200': |
| description: A dictionary containing the import failure information. |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ImportFailInfoBulkResponse' |
| '400': |
| description: Bad Request. The request body is invalid. |
| '500': |
| description: Internal Server Error. |
| |
| /customnode/install/git_url: |
| post: |
| summary: Install custom node via Git URL |
| description: Installs a custom node from a Git repository URL |
| security: |
| - securityLevel: [] |
| requestBody: |
| required: true |
| content: |
| text/plain: |
| schema: |
| type: string |
| responses: |
| '200': |
| description: Installation successful or already installed |
| '400': |
| description: Installation failed |
| '403': |
| description: Security policy violation |
| |
| /customnode/install/pip: |
| post: |
| summary: Install custom node dependencies via pip |
| description: Installs Python package dependencies for custom nodes |
| security: |
| - securityLevel: [] |
| requestBody: |
| required: true |
| content: |
| text/plain: |
| schema: |
| type: string |
| responses: |
| '200': |
| description: Installation successful |
| '403': |
| description: Security policy violation |
| |
| |
| /externalmodel/getlist: |
| get: |
| summary: Get external model list |
| description: Provides a list of available external models |
| parameters: |
| - $ref: '#/components/parameters/modeParam' |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| type: object |
| properties: |
| models: |
| type: array |
| items: |
| $ref: '#/components/schemas/ModelMetadata' |
| |
| |
| /manager/queue/update_all: |
| get: |
| summary: Update all custom nodes |
| description: Queues update operations for all installed custom nodes |
| security: |
| - securityLevel: [] |
| parameters: |
| - $ref: '#/components/parameters/modeParam' |
| responses: |
| '200': |
| description: Update queued successfully |
| '401': |
| description: Processing already in progress |
| '403': |
| description: Security policy violation |
| |
| /manager/queue/reset: |
| get: |
| summary: Reset queue |
| description: Resets the operation queue |
| responses: |
| '200': |
| description: Queue reset successfully |
| |
| /manager/queue/status: |
| get: |
| summary: Get queue status |
| description: Returns the current status of the operation queue |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/QueueStatus' |
| |
| /manager/queue/install: |
| post: |
| summary: Install custom node |
| description: Queues installation of a custom node |
| security: |
| - securityLevel: [] |
| requestBody: |
| required: true |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/NodePackageMetadata' |
| responses: |
| '200': |
| description: Installation queued successfully |
| '403': |
| description: Security policy violation |
| '404': |
| description: Target node not found or security issue |
| |
| /manager/queue/start: |
| get: |
| summary: Start queue processing |
| description: Starts processing the operation queue |
| responses: |
| '200': |
| description: Processing started |
| '201': |
| description: Processing already in progress |
| |
| /manager/queue/fix: |
| post: |
| summary: Fix custom node |
| description: Attempts to fix a broken custom node installation |
| security: |
| - securityLevel: [] |
| requestBody: |
| required: true |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/NodePackageMetadata' |
| responses: |
| '200': |
| description: Fix operation queued successfully |
| '403': |
| description: Security policy violation |
| |
| /manager/queue/reinstall: |
| post: |
| summary: Reinstall custom node |
| description: Uninstalls and then reinstalls a custom node |
| security: |
| - securityLevel: [] |
| requestBody: |
| required: true |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/NodePackageMetadata' |
| responses: |
| '200': |
| description: Reinstall operation queued successfully |
| '403': |
| description: Security policy violation |
| |
| /manager/queue/uninstall: |
| post: |
| summary: Uninstall custom node |
| description: Queues uninstallation of a custom node |
| security: |
| - securityLevel: [] |
| requestBody: |
| required: true |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/NodePackageMetadata' |
| responses: |
| '200': |
| description: Uninstallation queued successfully |
| '403': |
| description: Security policy violation |
| |
| /manager/queue/update: |
| post: |
| summary: Update custom node |
| description: Queues update of a custom node |
| security: |
| - securityLevel: [] |
| requestBody: |
| required: true |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/NodePackageMetadata' |
| responses: |
| '200': |
| description: Update queued successfully |
| '403': |
| description: Security policy violation |
| |
| /manager/queue/disable: |
| post: |
| summary: Disable custom node |
| description: Disables a custom node without uninstalling it |
| requestBody: |
| required: true |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/NodePackageMetadata' |
| responses: |
| '200': |
| description: Disable operation queued successfully |
| |
| /manager/queue/update_comfyui: |
| get: |
| summary: Update ComfyUI |
| description: Queues an update operation for ComfyUI itself |
| responses: |
| '200': |
| description: Update queued successfully |
| |
| /manager/queue/install_model: |
| post: |
| summary: Install model |
| description: Queues installation of a model |
| security: |
| - securityLevel: [] |
| requestBody: |
| required: true |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ModelMetadata' |
| responses: |
| '200': |
| description: Installation queued successfully |
| '400': |
| description: Invalid model request |
| '403': |
| description: Security policy violation |
| |
| |
| /snapshot/getlist: |
| get: |
| summary: Get snapshot list |
| description: Returns a list of available snapshots |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| type: object |
| properties: |
| items: |
| type: array |
| items: |
| $ref: '#/components/schemas/SnapshotItem' |
| |
| /snapshot/remove: |
| get: |
| summary: Remove snapshot |
| description: Removes a specified snapshot |
| security: |
| - securityLevel: [] |
| parameters: |
| - $ref: '#/components/parameters/targetParam' |
| responses: |
| '200': |
| description: Snapshot removed successfully |
| '400': |
| description: Error removing snapshot |
| '403': |
| description: Security policy violation |
| |
| /snapshot/restore: |
| get: |
| summary: Restore snapshot |
| description: Restores a specified snapshot |
| security: |
| - securityLevel: [] |
| parameters: |
| - $ref: '#/components/parameters/targetParam' |
| responses: |
| '200': |
| description: Snapshot restoration scheduled |
| '400': |
| description: Error restoring snapshot |
| '403': |
| description: Security policy violation |
| |
| /snapshot/get_current: |
| get: |
| summary: Get current snapshot |
| description: Returns the current system state as a snapshot |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| type: object |
| '400': |
| description: Error creating snapshot |
| |
| /snapshot/save: |
| get: |
| summary: Save snapshot |
| description: Saves the current system state as a new snapshot |
| responses: |
| '200': |
| description: Snapshot saved successfully |
| '400': |
| description: Error saving snapshot |
| |
| |
| /comfyui_manager/comfyui_versions: |
| get: |
| summary: Get ComfyUI versions |
| description: Returns available and current ComfyUI versions |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| type: object |
| properties: |
| versions: |
| type: array |
| items: |
| type: string |
| current: |
| type: string |
| '400': |
| description: Error retrieving versions |
| |
| /comfyui_manager/comfyui_switch_version: |
| get: |
| summary: Switch ComfyUI version |
| description: Switches to a specified ComfyUI version |
| parameters: |
| - name: ver |
| in: query |
| description: Target version |
| schema: |
| type: string |
| responses: |
| '200': |
| description: Version switch successful |
| '400': |
| description: Error switching version |
| |
| /manager/reboot: |
| get: |
| summary: Reboot ComfyUI |
| description: Restarts the ComfyUI server |
| security: |
| - securityLevel: [] |
| responses: |
| '200': |
| description: Reboot initiated |
| '403': |
| description: Security policy violation |
| |
| |
| /manager/preview_method: |
| get: |
| summary: Get or set preview method |
| description: Gets or sets the latent preview method |
| parameters: |
| - name: value |
| in: query |
| required: false |
| description: New preview method |
| schema: |
| type: string |
| enum: [auto, latent2rgb, taesd, none] |
| responses: |
| '200': |
| description: Setting updated or current value returned |
| content: |
| text/plain: |
| schema: |
| type: string |
| |
| /manager/db_mode: |
| get: |
| summary: Get or set database mode |
| description: Gets or sets the database mode |
| parameters: |
| - name: value |
| in: query |
| required: false |
| description: New database mode |
| schema: |
| type: string |
| enum: [channel, local, remote] |
| responses: |
| '200': |
| description: Setting updated or current value returned |
| content: |
| text/plain: |
| schema: |
| type: string |
| |
| /manager/policy/component: |
| get: |
| summary: Get or set component policy |
| description: Gets or sets the component policy |
| parameters: |
| - name: value |
| in: query |
| required: false |
| description: New component policy |
| schema: |
| type: string |
| responses: |
| '200': |
| description: Setting updated or current value returned |
| content: |
| text/plain: |
| schema: |
| type: string |
| |
| /manager/policy/update: |
| get: |
| summary: Get or set update policy |
| description: Gets or sets the update policy |
| parameters: |
| - name: value |
| in: query |
| required: false |
| description: New update policy |
| schema: |
| type: string |
| enum: [stable, nightly, nightly-comfyui] |
| responses: |
| '200': |
| description: Setting updated or current value returned |
| content: |
| text/plain: |
| schema: |
| type: string |
| |
| /manager/channel_url_list: |
| get: |
| summary: Get or set channel URL |
| description: Gets or sets the channel URL for custom node sources |
| parameters: |
| - name: value |
| in: query |
| required: false |
| description: New channel name |
| schema: |
| type: string |
| responses: |
| '200': |
| description: Setting updated or channel list returned |
| content: |
| application/json: |
| schema: |
| type: object |
| properties: |
| selected: |
| type: string |
| list: |
| type: array |
| items: |
| type: object |
| properties: |
| name: |
| type: string |
| url: |
| type: string |
| |
| |
| /manager/component/save: |
| post: |
| summary: Save component |
| description: Saves a reusable workflow component |
| requestBody: |
| required: true |
| content: |
| application/json: |
| schema: |
| type: object |
| properties: |
| name: |
| type: string |
| workflow: |
| type: object |
| responses: |
| '200': |
| description: Component saved successfully |
| content: |
| text/plain: |
| schema: |
| type: string |
| '400': |
| description: Error saving component |
| |
| /manager/component/loads: |
| post: |
| summary: Load components |
| description: Loads all available workflow components |
| responses: |
| '200': |
| description: Components loaded successfully |
| content: |
| application/json: |
| schema: |
| type: object |
| '400': |
| description: Error loading components |
| |
| |
| /manager/version: |
| get: |
| summary: Get manager version |
| description: Returns the current version of ComfyUI-Manager |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| text/plain: |
| schema: |
| type: string |
| |
| /manager/notice: |
| get: |
| summary: Get manager notice |
| description: Returns HTML content with notices and version information |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| text/html: |
| schema: |
| type: string |