Add your description here
Project description
Models API by ComfyDeploy
A collection of optimized ComfyUI-based cloud inference endpoints, built on ComfyDeploy and Modal.
Features
- Optimized model loading and caching
- Cloud-based inference endpoints
- Easy workflow management through CLI
- Extensible workflow system
Installation
pip install comfy-models
Usage
CLI Commands
The package provides several CLI commands to manage workflows:
# List all available workflows
models ls
# Show detailed info about a workflow
models cat <workflow_name>
# Deploy a workflow to Modal
models deploy <workflow_name>
# Run a workflow locally
models run <workflow_name>
# Test a workflow
models test <workflow_name>
Environment Setup
Create a .env
file in your project root:
MODAL_VOLUME_NAME=your_modal_volume_name
HF_TOKEN=your_huggingface_token # Optional, for private model access
Contributing New Workflows
To add a new workflow, follow these steps:
- Create a new directory under
src/comfy_models/workflows/
with your workflow name - Required files:
workflows/
└── your_workflow_name/
├── config.py # Workflow configuration
├── runner.py # Modal app definition
├── workflow.json # ComfyUI workflow definition
└── workflow_api.json # API interface definition
Configuration (config.py)
from comfy_models.base.comfy_utils import Config
config = Config(
name="your_workflow_name",
models_to_cache=[
"path/to/model1.safetensors",
"path/to/model2.safetensors"
],
warmup_workflow=True, # Run workflow once on startup
run_twice=False, # Run workflow twice for testing
nodes_to_preload=[] # Nodes to initialize on startup
)
Runner (runner.py)
import uuid
from comfy_models.base.base_app import _ComfyDeployRunnerModelsDownloadOptimzedImports
import modal
from comfy_models.workflows.shared import get_configs
from comfy_models.workflows.your_workflow_name.config import config
APP_NAME = config.name
app = modal.App(APP_NAME)
@app.cls(
**get_configs(APP_NAME),
enable_memory_snapshot=True,
)
class ComfyDeployRunner(_ComfyDeployRunnerModelsDownloadOptimzedImports):
config = config
@app.local_entrypoint()
def main():
ComfyDeployRunner().run.remote({
"prompt_id": str(uuid.uuid4()),
"inputs": {
"your_input": "your value"
},
})
Workflow Files
workflow.json
: Export your workflow from ComfyUIworkflow_api.json
: Define the API interface for your workflow using ComfyDeploy nodes
Example Workflows
Check out existing workflows in the workflows
directory for reference:
flux_dev
: Flux model with development settingsflux_schnell
: Optimized Flux modelsd3_5_large
: Stable Diffusion 3.5 large model
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
comfy_models-0.1.0.tar.gz
(58.5 kB
view details)
Built Distribution
File details
Details for the file comfy_models-0.1.0.tar.gz
.
File metadata
- Download URL: comfy_models-0.1.0.tar.gz
- Upload date:
- Size: 58.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.29
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11b4af5d11481a0b530762d20b01abb3428e718c9b26346cea840a4f01c320bf |
|
MD5 | b440ff0d6f25e1c9199dc8a7421f0293 |
|
BLAKE2b-256 | f25cdf965a55a62d2d0f3d0ff3e7ef02bf5210d4f9dc2de2638fd15f60896468 |
File details
Details for the file comfy_models-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: comfy_models-0.1.0-py3-none-any.whl
- Upload date:
- Size: 37.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.29
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0878d7cd1d5579a1652e078b9f7a483517eec1b88778f0db6c12209262993fe0 |
|
MD5 | 68004a3ccb6df4d7b517cdbf5bf7249f |
|
BLAKE2b-256 | b65c7def973cdc420984062615d81e26e1644a15d0d66cb2c27caccb1b93b1ae |