Kumiho ComfyUI custom nodes - Connect ComfyUI workflows with Kumiho Cloud asset management system
Project description
Kumiho ComfyUI Custom Nodes ๐ฆ
The Revolution Begins - Connect your ComfyUI workflows with Kumiho Cloud asset management system.
Overview
Kumiho ComfyUI Nodes seamlessly integrate ComfyUI with the Kumiho Cloud asset management platform. This enables:
- Asset Versioning: Automatically version your generated images, videos, and workflows
- Dependency Tracking: Track lineage and relationships between assets
- Team Collaboration: Share assets across your team with proper version control
- Impact Analysis: Understand downstream dependencies before making changes
- BYO Storage: Your files stay on your storage - only references are tracked
Installation
Via ComfyUI Manager (Recommended)
- Open ComfyUI
- Go to Manager > Install Custom Nodes
- Search for "Kumiho"
- Click Install
Manual Installation
cd ComfyUI/custom_nodes
git clone https://github.com/kumihoclouds/kumiho-comfyui.git
pip install -r kumiho-comfyui/requirements.txt
Via pip
pip install kumiho-comfyui
Authentication Setup (Required)
Before using Kumiho nodes, you must authenticate with Kumiho Cloud:
# Install the Kumiho CLI
pip install kumiho-cli
# Login to Kumiho Cloud (opens browser for OAuth)
kumiho-cli login
# Verify authentication is working
kumiho-cli whoami
This creates a kumiho_authentication.json file in your home directory (~/.kumiho/) that the SDK uses automatically.
Note: You can also refresh your token anytime with
kumiho-cli refresh
Available Nodes
Input/Output Nodes (Kumiho/IO)
๐น Kumiho Load Asset
Load assets from Kumiho Cloud using kref:// URIs or dropdown browsing.
Inputs:
project: Project to load from (leave as auto to use the configured project)space: Space path (e.g., "checkpoint/flux")item_name: Item to loaditem_kind: Item kind (image, video, checkpoint, etc.)kref_uri: Direct kref:// URI (overrides the fields above)tag / revision: Revision tag or number (blank = latest)artifact_name: Artifact name (e.g., "preview")fallback_file_path: Local file path if kref resolution fails
Outputs:
file_path: Resolved local file pathkref: The kref URI of the loaded assetmetadata: Metadata JSON for the resolved asset
๐น Kumiho Save Image
Save generated images to Kumiho Cloud as new revisions with automatic lineage tracking.
Inputs:
images: Image tensor to savespace: Target space path (e.g., "outputs/portraits")item_name: Name for the itemdescription: Description for the revisionfile_path: (Optional) Custom save location - if provided, saves to this path instead of defaultsource_krefs: (Optional) Source asset krefs for lineage tracking
Outputs:
kref: The kref:// URI of the created revision
๐น Kumiho Save Video
Save generated videos to Kumiho Cloud with inline preview support.
Inputs:
images: Image tensor (video frames) to savespace: Target space pathitem_name: Name for the video itemdescription: Description for the revisionfile_path: (Optional) Custom save locationframe_rate: Video frame rate (default: 8)format: Video format (mp4, webm, gif)source_krefs: (Optional) Source asset krefs for lineage tracking
Outputs:
kref: The kref:// URI of the created revisionvideo_preview: Inline video preview for ComfyUI output panel
Search Nodes (Kumiho/Search)
๐น Kumiho Search Items
Search for items across Kumiho projects and spaces using the SDK's item_search() function.
Inputs:
project: Project to search within (leave as auto to use the configured project)name_filter: Filter by item name (supports wildcards like "hero*")kind_filter: Filter by item kind (model, texture, workflow, etc.)context_filter: Filter by project/space path (e.g., "project/" or "/characters/*")limit: Maximum number of results to return
Outputs:
krefs: List of matching item kref URIs (iterative)file_paths: List of resolved file paths (iterative)
Note: Items without valid artifacts are automatically skipped to prevent empty values downstream.
Graph Nodes (Kumiho/Graph)
๐น Kumiho Create Edge
Create dependency relationships between revisions.
Inputs:
source_kref: Source revision kreftarget_kref: Target revision krefedge_type: Relationship type (DEPENDS_ON, DERIVED_FROM, REFERENCED, CONTAINS, CREATED_FROM)
Outputs:
edge_id: The created edge identifier
๐น Kumiho Tag Revision
Apply tags to revisions for easy retrieval.
Inputs:
revision_kref: The revision to tagtag: Tag name (e.g., "approved", "published", "wip")
Outputs:
success: Boolean indicating success
๐น Kumiho Get Dependencies
Get all dependencies of a revision.
Inputs:
revision_kref: The revision to querymax_depth: Maximum traversal depth (1-20)edge_types: Comma-separated edge types to filter
Outputs:
dependencies_json: JSON with dependency information
Configuration
Authentication (Recommended)
The recommended way to authenticate is via the Kumiho CLI:
# Login (opens browser for OAuth)
kumiho-cli login
# Check authentication status
kumiho-cli whoami
# Refresh token if expired
kumiho-cli refresh
This creates ~/.kumiho/kumiho_authentication.json which the SDK discovers automatically.
Usage Examples
Basic Workflow: Load, Process, Save
[Kumiho Load Asset] โ [Your Processing Nodes] โ [Kumiho Save Image]
| |
โ โ
kref://project/textures/input.texture kref://project/outputs/result.image
Search and Process Multiple Assets
[Kumiho Search Items] โ [Kumiho Load Asset] โ [Processing] โ [Kumiho Save Image]
kind_filter: texture โ |
context_filter: */characters/* | |
โโโโโโโ iterative connection โโโโโโโโโ
Lineage Tracking Workflow
[Kumiho Load Asset] โ [Processing] โ [Kumiho Save Image]
| |
โ โ
source_kref โโโโโโโโโโโโโโโโโโ Creates DERIVED_FROM edge
Video Generation with Preview
[AnimateDiff Nodes] โ [Kumiho Save Video]
|
โ
Inline video preview in output panel
+ registered to Kumiho Cloud
kref:// URI Format
Kumiho uses kref:// URIs to identify assets:
kref://project/space/item.kind?r=revision&a=artifact
Examples:
- kref://myproject/characters/hero.model
- kref://myproject/textures/skin.texture?r=latest
- kref://myproject/renders/final.image?r=5
- kref://myproject/workflows/processing.workflow?r=published
- kref://comfyui-project/outputs/video.video?r=1
Python SDK Integration
The Kumiho ComfyUI nodes use the kumiho-python SDK (v0.7.0+).
import kumiho
# Search for items
items = kumiho.item_search(
name_filter="hero*",
kind_filter="texture",
context_filter="*/characters/*"
)
# Access item properties
for item in items:
print(f"Project: {item.project}")
print(f"Space: {item.space}")
print(f"Kref: {item.kref}")
API Documentation
For full API documentation, visit docs.kumiho.io.
Changelog
Current
- KumihoLoadAsset: Added project dropdown, space text input, and
tag / revisionhandling with revision/artifact kref output - KumihoSearchItems: Added project selection to scope searches
- Docs: Updated inputs, outputs, and SDK usage examples to match v0.7.0+
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Support
- ๐ Documentation
- ๐ฌ Discord Community
- ๐ Issue Tracker
- ๐ง Email Support
License
MIT License - see LICENSE for details.
Made with ๐ฆ by Kumiho
Project details
Release history Release notifications | RSS feed
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 kumiho_comfyui-1.0.2.tar.gz.
File metadata
- Download URL: kumiho_comfyui-1.0.2.tar.gz
- Upload date:
- Size: 33.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e69688df9772186e72e5722106e5236cc2ac2db482549f562a39da3a436f55ea
|
|
| MD5 |
351a0d26f9016d6aa5b7462546919691
|
|
| BLAKE2b-256 |
52d0f246d868d67a163b9796f490013ace1ea30302d09c6b85c09b41d8640984
|
File details
Details for the file kumiho_comfyui-1.0.2-py3-none-any.whl.
File metadata
- Download URL: kumiho_comfyui-1.0.2-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7a906b2284b3c214783ff8b0b9c1409fd7c99fdbcd51858cef6635f1c85eb3d
|
|
| MD5 |
dab621da5aa9103584c503e25beb975a
|
|
| BLAKE2b-256 |
b663b75aa4b29eb046b1d392ffeced7c81b438ff434a81b6ecd097f76163f536
|