Skip to main content

comfy-runtime

Run any ComfyUI node as a Python function. No server, no UI, no workflow graph.

Install

pip install comfy-runtime

Usage

1. Configure & run built-in nodes

import comfy_runtime

comfy_runtime.configure(models_dir="/path/to/models", output_dir="./output")

# Text-to-image with SD 1.5
model, clip, vae = comfy_runtime.execute_node("CheckpointLoaderSimple", ckpt_name="v1-5-pruned-emaonly.safetensors")
positive = comfy_runtime.execute_node("CLIPTextEncode", clip=clip, text="a castle on a hill, fantasy art")[0]
negative = comfy_runtime.execute_node("CLIPTextEncode", clip=clip, text="blurry, low quality")[0]
latent = comfy_runtime.execute_node("EmptyLatentImage", width=512, height=512, batch_size=1)[0]
sampled = comfy_runtime.execute_node("KSampler", model=model, positive=positive, negative=negative, latent_image=latent, seed=42, steps=20, cfg=8.0, sampler_name="euler", scheduler="normal", denoise=1.0)[0]
images = comfy_runtime.execute_node("VAEDecode", samples=sampled, vae=vae)[0]
comfy_runtime.execute_node("SaveImage", images=images, filename_prefix="output")

2. Load any custom node

# Single file
comfy_runtime.load_nodes_from_path("/path/to/my_node.py")

# Directory (with or without __init__.py)
comfy_runtime.load_nodes_from_path("/path/to/ComfyUI-AnimateDiff-Evolved")

# Then use it
result = comfy_runtime.execute_node("ADE_AnimateDiffLoRALoader", ...)

Both V1 (NODE_CLASS_MAPPINGS) and V3 (comfy_entrypoint) node formats are supported.

3. Discover nodes

comfy_runtime.list_nodes()          # All registered node names
comfy_runtime.get_node_info("KSampler")  # Input/output types, category

API

Function Description
configure(models_dir, output_dir, ...) Set model paths and device config. Call before loading models.
execute_node(class_type, **kwargs) Run a node and return its output tuple.
load_nodes_from_path(path) Load nodes from a .py file or directory. Returns list of registered names.
list_nodes() All registered node names.
get_node_info(class_type) Node metadata (inputs, outputs, category).
register_node(class_type, cls) Register a node class manually.
unregister_node(class_type) Remove a node.
get_config() Current runtime config.

Custom node compatibility

Tested with popular third-party nodes:

Node Pack Nodes Status
WAS-Node-Suite (220 nodes) Image/text utilities Works
IPAdapter-Plus (37 nodes) Style transfer Works
KJNodes (232 nodes) Utility pack Works
Advanced-ControlNet (43 nodes) ControlNet Works
AnimateDiff-Evolved (145 nodes) Video animation Works

Custom nodes that import from comfy.*, comfy_api.*, comfy_extras.*, folder_paths, or nodes all resolve correctly.

Examples

See workflows/ for complete runnable examples:

  • sd15_text_to_image — basic text-to-image
  • flux2_klein_text_to_image — Flux.2 with custom sampler
  • img2img — image-to-image style transfer
  • inpainting — masked region replacement
  • hires_fix — 2-pass high-resolution generation
  • area_composition — spatial prompt composition
  • esrgan_upscale — 4x super-resolution

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

comfy_runtime-0.3.1.tar.gz (96.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

comfy_runtime-0.3.1-py3-none-any.whl (121.7 kB view details)

Uploaded Python 3

File details

Details for the file comfy_runtime-0.3.1.tar.gz.

File metadata

  • Download URL: comfy_runtime-0.3.1.tar.gz
  • Upload date:
  • Size: 96.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for comfy_runtime-0.3.1.tar.gz
Algorithm Hash digest
SHA256 0482b73d3ef80a2313a17c602f65a34bd94c80905db9025bf8492a0a7493980b
MD5 3c62c9f1bc81e5ce98bf818dc955c6ea
BLAKE2b-256 fc7dabd5b314b0b0ad2e66f4bbff9da337943510aa21938ba2cdccabdd765542

See more details on using hashes here.

Provenance

The following attestation bundles were made for comfy_runtime-0.3.1.tar.gz:

Publisher: publish.yml on anyin233/comfy-runtime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file comfy_runtime-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: comfy_runtime-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 121.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for comfy_runtime-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f76b6a15219ebdc50272977daf04f79e7a6e93908f1399f83a956ee166b01d04
MD5 6fa5851a44ccf57f3d93096bfc05635e
BLAKE2b-256 d4be82ee2e090c09a3d52fd5b1ebf5f0c75f14ae281c346b6436267b7f70b082

See more details on using hashes here.

Provenance

The following attestation bundles were made for comfy_runtime-0.3.1-py3-none-any.whl:

Publisher: publish.yml on anyin233/comfy-runtime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page