2024-12-18 14:52:28 +08:00
2024-12-18 14:52:28 +08:00
2024-12-18 13:17:30 +08:00
2024-12-18 14:51:17 +08:00
2024-12-17 19:00:13 +08:00
2024-11-21 11:12:15 +08:00
2024-11-13 18:18:47 +08:00
2024-11-05 17:56:00 +08:00
2024-12-18 11:22:21 +08:00
2024-12-18 14:51:17 +08:00
2024-11-21 11:12:15 +08:00

Comfy-Pack

A comprehensive toolkit for standardizing, packaging and deploying ComfyUI workflows as reproducible environments and production-ready REST services.

Features

  • Package Everything: Create reproducible .cpack.zip files containing your workflow, custom nodes, model versions, and all dependencies
  • Standardize Parameters: Define and validate workflow inputs through UI nodes for images, text, numbers and more
  • CLI Support: Restore environment and run inference from command line
  • REST API Generation: Auto-convert any workflow into REST service with OpenAPI docs

Quick Start

Installation

Search `comfy-pack` in ComfyUI Manager (Recommended)

install_node

or

git clone https://github.com/bentoml/comfy-pack.git

Package ComfyUI workspace

  1. Click "Package" button to create .cpack.zip
  2. (Optional) select the models that you want to include (only model hash will be recorded)

Unpack ComfyUI project

# Restore a ComfyUI project from cpack files.
comfy-pack unpack workflow.cpack.zip --dir ./

Develop REST service

1. annotate input & output

input

output

2. serve and test locally

serve

3. (Optional) pack & run anywhere
# Get the workflow input spec
comfy-pack run workflow.cpack.zip --help

# Run
comfy-pack run workflow.cpack.zip --src-image image.png --video video.mp4
4. (Optional) deploy to cloud *

image

Parameter Nodes

ComfyPack provides custom nodes for standardizing inputs:

  • ImageInput: provides image type input, similar to official LoadImage node
  • StringInput: provides string type input, nice for prompts
  • IntInput: provides int type input, suitable for size or seeds
  • AnyInput: provides combo type and more input, suitable for custom nodes
  • ImageOutput: takes image type inputs, similar to official SaveImage node, take an image of a bunch of images
  • FileOutput: takes file path as string type, save and output the file under that path
  • ...

These nodes help define clear interfaces for your workflow.

Docker Support

Under development

Examples

Check our examples folder for:

  • Basic workflow packaging
  • Parameter configuration
  • API integration
  • Docker deployment

License

MIT License

Community

  • Issues & Feature Requests: GitHub Issues
  • Questions & Discussion: Discord Server

Detailed documentation: under development

S
Description
No description provided
Readme Apache-2.0
757 KiB
Languages
Python 69.7%
JavaScript 30%
Shell 0.3%