Extensions/Kai Civitai LoRA Loader
ComfyUI Extension

Kai Civitai LoRA Loader

A LoRA loader that fetches and displays Civitai metadata including trigger words and preview images, with local caching and NSFW blur support.

By kenyonxu·Created 4 months ago·Updated 3 months ago· 0
kenyonxu/ComfyUI_KaiUtilities
Nodes3
On cloudLocal install
CategoryKaiUtilities/loaders, KaiUtilities/audio
Stars0
Updated3 months ago
Readme

ComfyUI KaiUtilities - KaiCivitaiLoRALoader

A ComfyUI custom node that extends the built-in LoRA Loader to fetch and display Civitai metadata, including trigger words and preview images.

Features

  • Trigger Words Output: Automatically outputs comma-separated trigger words from Civitai metadata
  • Full JSON Output: Exports complete Civitai metadata as JSON string for downstream nodes
  • Preview Images: Displays preview images directly on the node with pagination support
  • NSFW Blur: Automatically blurs NSFW preview images (click to toggle)
  • Local Caching: Caches Civitai metadata and preview images locally with 7-day TTL
  • Concurrent Deduplication: Multiple requests for the same LoRA are deduplicated automatically

Installation

  1. Clone this repository into your ComfyUI custom_nodes/ directory:
cd ComfyUI/custom_nodes
git clone https://github.com/your-username/ComfyUI_KaiUtilities.git
  1. Install dependencies:
cd ComfyUI_KaiUtilities
pip install aiohttp
  1. Restart ComfyUI.

Usage

  1. In ComfyUI, add the node: KaiUtilities/loadersKai Civitai LoRA Loader
  2. Select your LoRA file from the dropdown
  3. Click "Fetch Civitai Info" to fetch metadata
  4. The button changes to "Refresh" after fetching (click to force re-fetch)
  5. Trigger words appear in the text widget
  6. Preview images render below the widgets — click left/right arrows to paginate
  7. Connect trigger_words or civitai_json outputs to downstream nodes

File Structure

ComfyUI_KaiUtilities/
├── __init__.py          # Node registration + HTTP routes
├── cache_manager.py     # Local JSON/image cache manager
├── civitai_client.py    # SHA256 hashing + Civitai API client
├── nodes.py             # KaiCivitaiLoRALoader node class
├── frontend/            # Frontend JavaScript extension
│   └── kai_civitai_lora.js
└── tests/               # Unit tests
    ├── test_cache_manager.py
    ├── test_civitai_client.py
    ├── test_init.py
    └── test_nodes.py

Development

Run tests:

cd ComfyUI/custom_nodes/ComfyUI_KaiUtilities
PYTHONPATH=/path/to/ComfyUI:$PYTHONPATH python -m pytest tests/ -v

License

MIT