Skip to main content

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:

  1. Create a new directory under src/comfy_models/workflows/ with your workflow name
  2. 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 ComfyUI
  • workflow_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 settings
  • flux_schnell: Optimized Flux model
  • sd3_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.4.tar.gz (69.1 kB view details)

Uploaded Source

Built Distribution

comfy_models-0.1.4-py3-none-any.whl (48.7 kB view details)

Uploaded Python 3

File details

Details for the file comfy_models-0.1.4.tar.gz.

File metadata

  • Download URL: comfy_models-0.1.4.tar.gz
  • Upload date:
  • Size: 69.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.29

File hashes

Hashes for comfy_models-0.1.4.tar.gz
Algorithm Hash digest
SHA256 16a27efd7ac2bc647fd2422d40adb269101432669c91dbd60a0c0efdf77bfcc9
MD5 d71f2d71eddb13bd967efee2600f28c4
BLAKE2b-256 82454979c9f756770c22ceaa6c6b5816b9f24af9888b4ebd882370ddcfdf4eba

See more details on using hashes here.

File details

Details for the file comfy_models-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for comfy_models-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9a240a9ae6a31441a1cde9fce8c30e3c1623cee28a9b5043a848c3a627e5319a
MD5 d8c0a0fd3cde049e9eda0f54ae29e1ba
BLAKE2b-256 26efa6c7a249853066b36f928656a051706352478d77b08cd8ae6bd0bfa40243

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page