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
uv add comfy-models
Usage
CLI Commands
uv tool install comfy-models
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file comfy_models-0.1.5.tar.gz.
File metadata
- Download URL: comfy_models-0.1.5.tar.gz
- Upload date:
- Size: 69.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.29
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f14216bf8c6e6563343d159a5d0556166f390014e12225a68e8031d104927e2
|
|
| MD5 |
2b4a9da15804428d4651625051cddf6d
|
|
| BLAKE2b-256 |
f9541d037551ca04c5477376015a46a3c7cf9d9d54f2e3814ddbb8d81fc29246
|
File details
Details for the file comfy_models-0.1.5-py3-none-any.whl.
File metadata
- Download URL: comfy_models-0.1.5-py3-none-any.whl
- Upload date:
- Size: 48.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.29
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecf8dc27473ca89684c7d6c0fb6bf78008e21e2b006ef80e784f921b42ad5e2e
|
|
| MD5 |
1aef9f9190eae8ed50c82b052b96e3e8
|
|
| BLAKE2b-256 |
3bad12ef621586c0d5951dec306215b113b6ca24696fc71c85951632e05bca19
|