transformers>=4.45.0 torch>=2.0.0 Pillow>=9.0.0 requests>=2.28.0 numpy>=1.23.0 opencv-python>=4.7.0 scipy>=1.10.0
A collection of productivity custom nodes for ComfyUI, designed to streamline image generation workflows with smart defaults, advanced features, and quality-of-life improvements.
Search for “Kraken Tools” in ComfyUI Manager and click Install.
cd ComfyUI/custom_nodes
git clone https://github.com/yourusername/kraken_tools.git
cd kraken_tools
pip install -r requirements.txt
Advanced prompt builder with built-in vision model support for image-to-text captioning.
Features:
Inputs:
| Input | Type | Description |
|——-|——|————-|
| prompt | STRING | Your base prompt text |
| use_image_as_source | BOOLEAN | Use vision model to caption an image |
| input_image | IMAGE | Image for vision mode |
| enhance_prompt | BOOLEAN | Use AI to enhance the prompt |
| enhancer_style | DROPDOWN | Modern, Classic Tags, Instructional, or WAN style |
| negative_prompt | STRING | Negative prompt text |
| persistent | STRING | Text always added to the prompt |
| style/lighting/camera_lens/f_stop | DROPDOWNS | Style settings |
| position | DROPDOWN | Prepend or append style settings |
| force_unload | BOOLEAN | Unload model after use to free VRAM |
Outputs:
positive_prompt (STRING): The final positive promptnegative_prompt (STRING): The negative promptpersistent (STRING): The persistent prompt (passthrough)Split and style prompts for WAN video generation with comprehensive cinematic presets.
Features:
Inputs:
| Input | Type | Description |
|——-|——|————-|
| prompt | STRING | Main prompt (use — to split) |
| persistent | STRING | Text added to all prompts |
| wan_pack | DROPDOWN | Pre-configured style pack |
| shot_type/lens/aperture/etc. | DROPDOWNS | Individual style controls |
| combine_persistent | BOOLEAN | Add persistent text to prompts |
| combine_style_presets | BOOLEAN | Add style settings to prompts |
Outputs:
Prompt 1 through Prompt 5 (STRING): Split and styled promptsConnect to a local Ollama LLM instance for interactive prompt enhancement.
Features:
Inputs:
| Input | Type | Description |
|——-|——|————-|
| host | STRING | Ollama server URL (e.g., http://localhost:11434) |
| model | STRING | Model name (e.g., llama3.2) |
| action | DROPDOWN | Connect, Send Message, Clear Chat, Use Last Response |
| user_message | STRING | Your message to the LLM |
Outputs:
prompt_output (STRING): The generated promptai_response (STRING): Full AI responseconversation_log (STRING): Chat historyEnhanced checkpoint loader with model tracking.
Features:
Outputs:
MODEL, CLIP, VAE: Standard model outputsmodel_name (STRING): Filename of loaded checkpointckpt_sha10 (STRING): First 10 chars of SHA-256 hashFull-featured dual text encoder loader for modern models.
Features:
Outputs:
clip (CLIP): Combined CLIP objectdiagnostics (STRING): Loading informationLoad up to 3 LoRAs with automatic trigger word fetching.
Features:
~/Documents/ComfyUI/user/kraken_config.jsonInputs:
| Input | Type | Description |
|——-|——|————-|
| model/clip | MODEL/CLIP | Input model and clip |
| lora_X_enabled | BOOLEAN | Enable/disable each LoRA |
| lora_X_file | DROPDOWN | LoRA file selection |
| lora_X_model_strength | FLOAT | Model weight (-2.0 to 2.0) |
| lora_X_clip_strength | FLOAT | CLIP weight (-2.0 to 2.0) |
| lora_X_clip_skip | INT | CLIP skip (0 = off) |
| lora_X_force_fetch | BOOLEAN | Re-fetch trigger words |
| fetch_triggers | BOOLEAN | Enable CivitAI fetching |
| placement | DROPDOWN | prepend, append, or replace |
Outputs:
model (MODEL), clip (CLIP): Modified model/clipprompt (STRING): Prompt with trigger wordslora_names, triggers, tags (STRING_LIST): MetadataCreate empty latent images with preset aspect ratios.
Features:
Outputs:
latent (LATENT): Empty latent for generationwidth_out, height_out (INT): Dimensionsresolution (STRING): “1024 x 1024” formatpreset_out (STRING): For connecting to upscale calculatorEnsures final output matches a specific target resolution. Batch-safe for video.
Features:
Inputs:
| Input | Type | Description |
|——-|——|————-|
| image | IMAGE | Input image batch |
| mode | DROPDOWN | Resize mode |
| target_resolution_in | STRING | Target as “WxH” |
| preset_in | STRING | From Kraken Empty Latent |
Calculate parameters for Ultimate SD Upscale.
Features:
Outputs:
image_out (IMAGE): Passthroughupscale_by (FLOAT): Scale factor for USDUtile_width, tile_height (INT): Tile dimensionsmask_blur, tile_padding (INT): USDU parametersseam_fix_width, seam_fix_mask_blur, seam_fix_padding (INT)predicted_resolution, target_resolution, target_preset (STRING)Extract dimensions from an image for upscaling calculations.
Features:
Outputs:
preset_out (STRING): Resolution as “WxH” (e.g., “2048×1536”)Smart KSampler wrapper with AMP handling for modern models.
Why this exists:
WAN/Flow/FP8 models manage their own precision internally. Wrapping them in an additional autocast context causes crashes like “RuntimeError: Unexpected floating ScalarType in at::autocast::prioritize”. This node automatically detects such models and disables outer AMP.
Features:
Inputs:
| Input | Type | Description |
|——-|——|————-|
| model | MODEL | Diffusion model |
| positive/negative | CONDITIONING | Prompts |
| amp_mode | DROPDOWN | auto, on, or off |
| decode_switch | DROPDOWN | on/off for VAE decode |
| tiled_decode | DROPDOWN | on/off for large images |
| tile_size | INT | Tile size for tiled decode |
Outputs:
LATENT: Sampled latentIMAGE: Decoded image (or placeholder if decode off)Comprehensive image resizing with multiple methods.
Features:
Outputs:
image (IMAGE): Resized imagewidth, height (INT): Final dimensionsinfo (STRING): Processing summaryVersatile pre/post-processing for upscaling pipelines.
Features:
Modes:
pre_process: Prepare image for upscalingpost_process: Refine upscaled image (gentler settings auto-applied)Quick parameter selection for WAN video generation.
Features:
Outputs:
processed_first_frame, processed_last_frame (IMAGE)width, height (INT)frames(length) (INT): Total frame countfps (FLOAT)resolution_text (STRING)Extract last frame from video for creating extended sequences.
Use case: Generate 5-second video clips, then use the last frame of each as the first frame of the next to create seamless longer videos.
Features:
Outputs:
last_frame (IMAGE): The last framefirst_frame_out (IMAGE): Same as last_frame (for chaining)width, height, frames(length), fps, resolution_text: Metadata passthroughKraken Checkpoint Loader --> Kraken LoRA Loader (3) --> Kraken KSampler
^
Kraken Unbound Prompt --> CLIP Text Encode --+
Kraken Empty Latent Image
|
+--> resolution_out --> Kraken Upscale & Tile Calc --> Ultimate SD Upscale
| |
+--> preset_out ---------------+
After USDU:
Ultimate SD Upscale --> Kraken Resolution Helper --> Kraken Image Processor --> Save Image
Kraken WAN Prompt Splitter --> WAN Text Encode
|
Kraken WAN Helper -----------------> WAN Generation --> Kraken Last Frame + Meta
|
(Loop back to WAN Generation as first_frame)
Create or edit ~/Documents/ComfyUI/user/kraken_config.json:
{
"civitai_api_key": "your_api_key_here"
}
The key is optional – public model data can be fetched without it.
ollama pull llama3.2http://localhost:11434)| Node | Category | Description |
|——|———-|————-|
| 🐙 Kraken Unbound Prompt | Prompt | Vision-enabled prompt builder with styles |
| 🐙 Kraken WAN Prompt Splitter | Prompt | Split & style prompts for WAN video |
| 🐙 Kraken Ollama Prompt Chat | Prompt | LLM-powered prompt enhancement |
| 🐙 Kraken Checkpoint Loader | Loaders | Checkpoint loader with SHA tracking |
| 🐙 Kraken Dual CLIP Loader | Loaders | Dual text encoder for Flux/SD3 |
| 🐙 Kraken LoRA Loader (3) | Loaders | 3-slot LoRA with CivitAI integration |
| 🐙 Kraken Empty Latent Image | Latent | Latent with aspect ratio presets |
| 🐙 Kraken Resolution Helper | Resolution | Enforce target resolution |
| 🐙 Kraken Upscale & Tile Calc | Resolution | Calculate USDU parameters |
| 🐙 Kraken Preset From Image | Resolution | Extract dimensions from image |
| 🐙 Kraken KSampler | Sampling | Smart sampler with AMP handling |
| 🐙 Kraken Image Resize | Image | Comprehensive image resizing |
| 🐙 Kraken Image Processor | Image | Pre/post-processing pipeline |
| 🐙 Kraken WAN Helper | Video | WAN video parameter helper |
| 🐙 Kraken Last Frame + Meta | Video | Extract last frame for looping |
MIT License – See individual file headers for details.
Created by The Kraken (@KrakenUnbound)
Built for the ComfyUI community.