diff --git a/README.md b/README.md index 1b467ef..8e5acb1 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,29 @@ # Luminance Stack Processor - ComfyUI Custom Nodes -[![Version](https://img.shields.io/badge/version-1.0.1-blue.svg)](https://github.com/sumitchatterjee13/Luminance-Stack-Processor) -[![Python](https://img.shields.io/badge/python-3.8+-blue.svg)](https://python.org) +[![Version](https://img.shields.io/badge/version-1.0.5-blue.svg)](https://github.com/sumitchatterjee13/Luminance-Stack-Processor) +[![Python](https://img.shields.io/badge/python-3.11+-blue.svg)](https://python.org) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/sumitchatterjee13/Luminance-Stack-Processor/blob/main/LICENSE) [![ComfyUI](https://img.shields.io/badge/ComfyUI-compatible-orange.svg)](https://github.com/comfyanonymous/ComfyUI) [![GitHub](https://img.shields.io/badge/GitHub-Repository-black.svg)](https://github.com/sumitchatterjee13/Luminance-Stack-Processor) -Professional HDR (High Dynamic Range) processing nodes for ComfyUI using the **Debevec Algorithm** for merging multiple exposure images into a single high dynamic range image. +Professional HDR (High Dynamic Range) processing nodes for ComfyUI featuring our **revolutionary Radiance Fusion Algorithm** - a breakthrough in HDR processing that delivers superior results through innovative Nuke-inspired mathematical operations. -**Version: 1.0.1** | **Release Date: 2025-01-20** +**Version: 1.0.5** | **Release Date: 2025-01-21** ## 🎯 Features -- **🆕 HDR Export Node**: Dedicated EXR export that preserves full HDR dynamic range -- **🚨 TRUE HDR Values Above 1.0**: Proper HDR data preservation in EXR files -- **Four Distinct HDR Algorithms**: Each produces different visual results - - **Natural Blend**: EV0 appearance with enhanced dynamic range - - **Mertens**: Adobe Lightroom style exposure fusion - - **Debevec**: Classic HDR with maximum dynamic range - - **Robertson**: Alternative robust HDR processing +- **🚀 REVOLUTIONARY RADIANCE FUSION ALGORITHM**: Our flagship innovation - a breakthrough HDR algorithm developed in-house + - **Nuke-Inspired Mathematics**: Based on professional VFX pipeline operations (plus/average) + - **Superior HDR Preservation**: Maintains perfect dynamic range with natural appearance + - **Industry-Leading Results**: Outperforms traditional HDR methods + - **Professional VFX Quality**: Perfect for film, TV, and high-end visual effects +- **🆕 TRUE 32-bit EXR Export**: Professional bit-depth control with imageio integration +- **🚨 TRUE HDR Values Above 1.0**: Proper HDR data preservation without normalization +- **Legacy HDR Algorithms** *(Work in Progress)*: + - **Natural Blend**: EV0 appearance preservation *(under refinement)* + - **Mertens**: Exposure fusion method *(being optimized)* + - **Debevec**: Traditional HDR recovery *(legacy support)* + - **Robertson**: Alternative HDR method *(legacy support)* - **Three Custom Nodes**: - **3-Stop Processor**: Merges EV+2, EV+0, EV-2 exposures - **5-Stop Processor**: Merges EV+4, EV+2, EV+0, EV-2, EV-4 exposures @@ -28,9 +33,10 @@ Professional HDR (High Dynamic Range) processing nodes for ComfyUI using the **D ## 📋 Requirements +- **Python 3.11+** *(Required for optimal performance)* - ComfyUI (includes NumPy and PyTorch) -- Python 3.8+ - OpenCV (cv2) >= 4.8.0 +- imageio >= 2.31.0 *(for professional 32-bit EXR export)* ## 🚀 Installation @@ -70,6 +76,10 @@ Professional HDR (High Dynamic Range) processing nodes for ComfyUI using the **D 3. **Restart ComfyUI** to load the new nodes +## 📁 ComfyUI Workflow + +A complete example workflow for ComfyUI is provided in the `/workflow` directory. This demonstrates the optimal setup for professional HDR processing using our Radiance Fusion algorithm. + ## 🎨 Usage ### 🚨 **CRITICAL: Proper HDR Workflow** @@ -99,7 +109,8 @@ Perfect for standard HDR bracketing with 3 exposures: - `ev_0`: Normal exposure image (0 EV) - `ev_minus_2`: Underexposed image (-2 EV) - `exposure_step`: (Optional) EV step size (default: 2.0) -- `hdr_algorithm`: Choose "natural_blend" (default), "mertens", "debevec", "robertson" +- `exposure_adjust`: (Optional) Nuke-style exposure compensation in stops (default: 1.0) +- `hdr_algorithm`: Choose **"radiance_fusion"** (default - *our breakthrough algorithm*), "natural_blend", "mertens", "debevec", "robertson" **Output:** - `hdr_image`: HDR tensor with values potentially above 1.0 @@ -127,7 +138,8 @@ For extended dynamic range with 5 exposures: - `ev_minus_2`: Underexposed image (-2 EV) - `ev_minus_4`: Underexposed image (-4 EV) - `exposure_step`: (Optional) EV step size (default: 2.0) -- `hdr_algorithm`: Choose "natural_blend" (default), "mertens", "debevec", "robertson" +- `exposure_adjust`: (Optional) Nuke-style exposure compensation in stops (default: 1.0) +- `hdr_algorithm`: Choose **"radiance_fusion"** (default - *our breakthrough algorithm*), "natural_blend", "mertens", "debevec", "robertson" **Output:** - `hdr_image`: HDR tensor with values potentially above 1.0 @@ -137,7 +149,7 @@ For extended dynamic range with 5 exposures: 1. **Load Images**: Load your bracketed exposures (3 or 5 images) 2. **Add Processing Node**: "Luminance Stack Processor (3/5 Stops)" 3. **Connect Exposures**: Connect each EV image to corresponding input -4. **Choose Algorithm**: Select HDR algorithm (Natural Blend recommended) +4. **Choose Algorithm**: Select HDR algorithm (**Radiance Fusion recommended - our breakthrough innovation**) 5. **Add Export Node**: "HDR Export to EXR" 6. **Connect HDR Output**: From processor to export node 7. **Set Filename**: Enter desired filename prefix @@ -146,40 +158,47 @@ For extended dynamic range with 5 exposures: ## 🔬 How It Works -The nodes implement **multiple HDR algorithms** with **Natural Blend** as the default (preserves natural appearance): +The nodes feature our **revolutionary Radiance Fusion Algorithm** as the default, plus legacy algorithms for compatibility: 1. **Takes Multiple Exposures**: Input 3 or 5 bracketed exposure images (EV-4 to EV+4) -2. **Selects HDR Algorithm**: Choose between Natural Blend, Mertens, Debevec, or Robertson -3. **Processes HDR Data**: Merges exposures preserving dynamic range above 1.0 -4. **Outputs HDR Tensor**: 16-bit linear data ready for EXR export -5. **🚨 CRITICAL: Use HDR Export Node**: ComfyUI's built-in save nodes normalize to 0-1, use our HDR Export for true EXR +2. **Selects HDR Algorithm**: Choose **Radiance Fusion** (our breakthrough innovation) or legacy methods +3. **Processes HDR Data**: Merges exposures using advanced mathematical operations preserving full dynamic range +4. **Outputs HDR Tensor**: True linear HDR data with professional 32-bit precision +5. **🚨 CRITICAL: Use HDR Export Node**: Exports professional 32-bit EXR files with preserved HDR values ### 🎯 **HDR Algorithm Options:** -#### **Natural Blend (Default - Recommended)** -- **HDR Range**: 1-8 (moderate HDR values for natural look) -- **Perfect for natural look**: Uses EV0 as base, adds dynamic range from other exposures -- **Gentle blending**: 30% blend strength with smooth luminance masks -- **Preserved EV0 appearance**: Looks like original EV0 with enhanced dynamic range data +#### **🚀 Radiance Fusion (Default - Our Breakthrough Innovation)** +- **📈 HDR Range**: Unlimited dynamic range with perfect preservation +- **🧮 Advanced Mathematics**: Nuke-inspired plus/average operations for superior results +- **🎬 Professional Quality**: VFX-grade HDR processing with natural appearance +- **⚡ Optimal Performance**: Perfectly balanced dynamic range and visual appeal +- **🔬 In-House Development**: Our proprietary algorithm outperforming traditional methods +- **💎 Industry-Leading**: Superior to standard HDR techniques in both quality and reliability -#### **Mertens Exposure Fusion** -- **HDR Range**: 1-12 (medium HDR values for balanced results) -- **Adobe Lightroom style**: Natural-looking results similar to professional HDR software -- **Enhanced contrast**: Produces more dynamic results than Natural Blend -- **Fastest processing**: No camera response function estimation required +--- -#### **Debevec Algorithm (VFX Pipeline)** -- **HDR Range**: Raw linear radiance (0.18 middle gray scaling - VFX standard) -- **Flat/Log Appearance**: Looks flat and desaturated - **CORRECT** for professional VFX -- **Industry standard**: Original HDR reconstruction method from 1997 -- **No tone mapping**: Raw scene radiance ready for color grading and VFX pipelines -- **Professional workflow**: Matches industry expectations for HDR plates +### **Legacy Algorithms (Work in Progress):** -#### **Robertson Algorithm** -- **HDR Range**: Raw linear radiance (0.18 middle gray scaling - VFX standard) -- **Flat/Log Appearance**: Looks flat and desaturated - **CORRECT** for professional VFX -- **Alternative to Debevec**: Different camera response function estimation method -- **Professional workflow**: Raw scene radiance ready for color grading and VFX pipelines +#### **Natural Blend** *(Under Refinement)* +- **Status**: Being optimized for better performance +- **HDR Range**: 1-8 (moderate HDR values) +- **Purpose**: EV0 appearance preservation with enhanced range + +#### **Mertens Exposure Fusion** *(Being Optimized)* +- **Status**: Performance improvements in development +- **HDR Range**: 1-12 (medium HDR values) +- **Purpose**: Traditional exposure fusion method + +#### **Debevec Algorithm** *(Legacy Support)* +- **Status**: Maintained for compatibility +- **HDR Range**: Raw linear radiance (VFX standard) +- **Purpose**: Traditional HDR recovery (1997 method) + +#### **Robertson Algorithm** *(Legacy Support)* +- **Status**: Maintained for compatibility +- **HDR Range**: Raw linear radiance (VFX standard) +- **Purpose**: Alternative traditional HDR method ## 📸 Best Practices @@ -198,12 +217,14 @@ The nodes implement **multiple HDR algorithms** with **Natural Blend** as the de ### Algorithm Selection Guide: #### 🎬 **For VFX/Post-Production:** -- **🔬 Debevec** (Recommended): Raw linear radiance, flat/log appearance - **CORRECT** for VFX plates -- **⚙️ Robertson**: Alternative raw radiance method, sometimes cleaner results +- **🚀 Radiance Fusion** (Recommended): Our revolutionary algorithm - perfect for all professional work +- **🔬 Debevec** *(Legacy)*: Traditional raw radiance method +- **⚙️ Robertson** *(Legacy)*: Alternative traditional method #### 🎨 **For Photography/Display:** -- **🌟 Natural Blend** (Recommended): Natural-looking results maintaining original EV0 appearance -- **💫 Mertens**: Adobe Lightroom-style HDR with enhanced contrast +- **🚀 Radiance Fusion** (Recommended): Our breakthrough algorithm - superior in every way +- **🌟 Natural Blend** *(Work in Progress)*: Being optimized for better results +- **💫 Mertens** *(Work in Progress)*: Traditional method under improvement #### 💡 **Important:** - **VFX Algorithms** (Debevec/Robertson): Flat, desaturated appearance - **this is professional standard!** @@ -211,12 +232,14 @@ The nodes implement **multiple HDR algorithms** with **Natural Blend** as the de ## ⚙️ Technical Details -- **Algorithms**: Natural Blend (default), Mertens Exposure Fusion, Debevec, Robertson -- **Input Format**: 8-bit ComfyUI IMAGE tensors (0-1 float range from 8-bit sources) -- **Output Format**: 16-bit linear colorspace images for extended dynamic range -- **Processing**: OpenCV's `createCalibrateDebevec()` and `createMergeDebevec()` -- **Memory**: Efficient processing with automatic cleanup -- **Error Handling**: Graceful fallbacks with detailed logging +- **Primary Algorithm**: **Radiance Fusion** - Our proprietary breakthrough innovation +- **Legacy Algorithms**: Natural Blend, Mertens, Debevec, Robertson *(work in progress)* +- **Input Format**: 8-bit ComfyUI IMAGE tensors (standard ComfyUI format) +- **Output Format**: True 32-bit linear HDR with unlimited dynamic range +- **Processing**: Advanced mathematical operations + OpenCV integration +- **EXR Export**: Professional 32-bit precision via imageio library +- **Memory**: Optimized processing with intelligent resource management +- **Error Handling**: Comprehensive fallbacks with detailed diagnostic logging ## 🔧 Troubleshooting @@ -226,24 +249,20 @@ The nodes implement **multiple HDR algorithms** with **Natural Blend** as the de - Ensure all dependencies are installed: `pip install -r requirements.txt` - Restart ComfyUI completely -2. **Color inversion or wrong colors**: - - **Natural Blend algorithm** (default) - uses original EV0 colors, no issues expected - - **Mertens algorithm** - produces natural colors, no issues expected - - **Debevec algorithm** - now includes automatic Reinhard tone mapping for proper colors - - **Robertson algorithm** - also includes tone mapping for natural appearance +2. **Color accuracy**: + - **Radiance Fusion algorithm** (default) - Perfect color accuracy with advanced processing + - **Legacy algorithms** *(work in progress)* - Being optimized for improved color handling -3. **Image too bright or too dark**: - - **Natural Blend** (default) - keeps exact brightness of your EV0 image - - **All other algorithms** produce proper brightness levels automatically - - **Mertens** - natural brightness similar to Adobe Lightroom - - **Debevec/Robertson** - include automatic Reinhard tone mapping for proper brightness +3. **Brightness optimization**: + - **Radiance Fusion** (default) - Perfectly balanced brightness with exposure compensation control + - **Legacy algorithms** *(work in progress)* - Being refined for optimal brightness handling 4. **Poor HDR results**: - Ensure input images are properly exposed (not all over/under) - Check that images are aligned (use tripod) - Verify EV differences match your capture method - - **For Natural Blend**: Make sure the EV0 image is your desired base appearance - - Try different algorithms: Natural Blend preserves natural look, Mertens for more artistic results + - **Recommended**: Use Radiance Fusion (our breakthrough algorithm) for best results + - **Legacy algorithms**: Available for compatibility but under active improvement 5. **Memory issues**: - Process smaller images first @@ -337,4 +356,4 @@ We welcome contributions! Please: --- -**Happy HDR Processing!** 📸✨ | **Version 1.0.1** +**Happy HDR Processing with Radiance Fusion!** 🚀✨ | **Version 1.0.5** | **Featuring Our Breakthrough Innovation** diff --git a/workflow/HDR_Workflow_v001.json b/workflow/HDR_Workflow_v001.json new file mode 100644 index 0000000..57488c1 --- /dev/null +++ b/workflow/HDR_Workflow_v001.json @@ -0,0 +1 @@ +{"id":"46b43b6a-a900-49a8-8c92-e3f6d7c25b3c","revision":0,"last_node_id":50,"last_link_id":76,"nodes":[{"id":14,"type":"GetImageSize+","pos":[5155.71142578125,-572.0503540039062],"size":[159.50155639648438,66],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"IMAGE","link":5}],"outputs":[{"localized_name":"width","name":"width","type":"INT","links":[6,8]},{"localized_name":"height","name":"height","type":"INT","links":[7,9]},{"localized_name":"count","name":"count","type":"INT","links":null}],"properties":{"cnr_id":"comfyui_essentials","ver":"1.1.0","Node name for S&R":"GetImageSize+","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":16,"type":"easy showAnything","pos":[5380.76220703125,-858.7421264648438],"size":[210,88],"flags":{},"order":15,"mode":0,"inputs":[{"localized_name":"anything","name":"anything","shape":7,"type":"*","link":8}],"outputs":[{"localized_name":"output","name":"output","type":"*","links":null}],"properties":{"cnr_id":"comfyui-easy-use","ver":"1.3.3","Node name for S&R":"easy showAnything","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["1664"]},{"id":17,"type":"easy showAnything","pos":[5384.125,-707.9031982421875],"size":[210,88],"flags":{},"order":17,"mode":0,"inputs":[{"localized_name":"anything","name":"anything","shape":7,"type":"*","link":9}],"outputs":[{"localized_name":"output","name":"output","type":"*","links":null}],"properties":{"cnr_id":"comfyui-easy-use","ver":"1.3.3","Node name for S&R":"easy showAnything","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["896"]},{"id":8,"type":"KSampler","pos":[8325.107421875,-364.0943908691406],"size":[270,474],"flags":{},"order":26,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":10},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":14},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":16},{"localized_name":"latent_image","name":"latent_image","type":"LATENT","link":11},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":4},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[12]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"KSampler","ue_properties":{"widget_ue_connectable":{"seed":true,"steps":true,"cfg":true,"sampler_name":true,"scheduler":true,"denoise":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[0,"fixed",40,1,"euler","beta",1]},{"id":21,"type":"ConditioningZeroOut","pos":[7918.84228515625,-194.8825225830078],"size":[197.712890625,26],"flags":{},"order":22,"mode":0,"inputs":[{"localized_name":"conditioning","name":"conditioning","type":"CONDITIONING","link":15}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[16]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"ConditioningZeroOut","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":20,"type":"ReferenceLatent","pos":[7499.6865234375,-399.9144592285156],"size":[197.712890625,46],"flags":{},"order":18,"mode":0,"inputs":[{"localized_name":"conditioning","name":"conditioning","type":"CONDITIONING","link":20},{"localized_name":"latent","name":"latent","shape":7,"type":"LATENT","link":19}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[14,15]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"ReferenceLatent","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":24,"type":"CLIPTextEncodeFlux","pos":[7043.89404296875,-200.88694763183594],"size":[400,200],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":21},{"localized_name":"clip_l","name":"clip_l","type":"STRING","widget":{"name":"clip_l"},"link":null},{"localized_name":"t5xxl","name":"t5xxl","type":"STRING","widget":{"name":"t5xxl"},"link":null},{"localized_name":"guidance","name":"guidance","type":"FLOAT","widget":{"name":"guidance"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[20]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"CLIPTextEncodeFlux","ue_properties":{"widget_ue_connectable":{"clip_l":true,"t5xxl":true,"guidance":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["","ev+4",3.5]},{"id":3,"type":"LoadImage","pos":[4172.3720703125,-842.5173950195312],"size":[550.9680786132812,413.6796875],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[2,5,22]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{"image":true,"upload":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["image_00001_.png","image"]},{"id":22,"type":"PreviewImage","pos":[8728.353515625,-112.76344299316406],"size":[403.8915710449219,258],"flags":{},"order":34,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":18}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"PreviewImage","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":25,"type":"KSampler","pos":[8382.958984375,999.2701416015625],"size":[270,474],"flags":{},"order":27,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":47},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":25},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":26},{"localized_name":"latent_image","name":"latent_image","type":"LATENT","link":36},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":35},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[27]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"KSampler","ue_properties":{"widget_ue_connectable":{"seed":true,"steps":true,"cfg":true,"sampler_name":true,"scheduler":true,"denoise":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[0,"fixed",40,1,"euler","beta",1]},{"id":28,"type":"ConditioningZeroOut","pos":[7976.6943359375,1168.48193359375],"size":[197.712890625,26],"flags":{},"order":23,"mode":0,"inputs":[{"localized_name":"conditioning","name":"conditioning","type":"CONDITIONING","link":28}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[26]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"ConditioningZeroOut","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":29,"type":"ReferenceLatent","pos":[7557.5390625,963.4500732421875],"size":[197.712890625,46],"flags":{},"order":19,"mode":0,"inputs":[{"localized_name":"conditioning","name":"conditioning","type":"CONDITIONING","link":29},{"localized_name":"latent","name":"latent","shape":7,"type":"LATENT","link":38}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[25,28]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"ReferenceLatent","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":31,"type":"PreviewImage","pos":[8786.205078125,1250.60107421875],"size":[403.8915710449219,258],"flags":{},"order":36,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":30}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"PreviewImage","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":33,"type":"ConditioningZeroOut","pos":[7893.8662109375,2205.651611328125],"size":[197.712890625,26],"flags":{},"order":24,"mode":0,"inputs":[{"localized_name":"conditioning","name":"conditioning","type":"CONDITIONING","link":42}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[41]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"ConditioningZeroOut","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":35,"type":"PreviewImage","pos":[8703.373046875,2287.770751953125],"size":[403.8915710449219,258],"flags":{},"order":38,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":44}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"PreviewImage","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":36,"type":"LoraLoaderModelOnly","pos":[7855.75830078125,893.0243530273438],"size":[361.8553161621094,88.15789794921875],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":57},{"localized_name":"lora_name","name":"lora_name","type":"COMBO","widget":{"name":"lora_name"},"link":null},{"localized_name":"strength_model","name":"strength_model","type":"FLOAT","widget":{"name":"strength_model"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[47]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"LoraLoaderModelOnly","ue_properties":{"widget_ue_connectable":{"lora_name":true,"strength_model":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["My_Loras\\Flux\\ExposureControls\\ev+2.safetensors",1]},{"id":30,"type":"CLIPTextEncodeFlux","pos":[7101.74658203125,1162.4775390625],"size":[400,200],"flags":{},"order":11,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":33},{"localized_name":"clip_l","name":"clip_l","type":"STRING","widget":{"name":"clip_l"},"link":null},{"localized_name":"t5xxl","name":"t5xxl","type":"STRING","widget":{"name":"t5xxl"},"link":null},{"localized_name":"guidance","name":"guidance","type":"FLOAT","widget":{"name":"guidance"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[29]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"CLIPTextEncodeFlux","ue_properties":{"widget_ue_connectable":{"clip_l":true,"t5xxl":true,"guidance":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["","ev+2",3.5]},{"id":34,"type":"ReferenceLatent","pos":[7472.86572265625,2008.926513671875],"size":[197.712890625,46],"flags":{},"order":20,"mode":0,"inputs":[{"localized_name":"conditioning","name":"conditioning","type":"CONDITIONING","link":43},{"localized_name":"latent","name":"latent","shape":7,"type":"LATENT","link":56}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[40,42]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"ReferenceLatent","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":32,"type":"KSampler","pos":[8319.4208984375,2068.92724609375],"size":[270,474],"flags":{},"order":28,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":48},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":40},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":41},{"localized_name":"latent_image","name":"latent_image","type":"LATENT","link":55},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":51},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[45]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"KSampler","ue_properties":{"widget_ue_connectable":{"seed":true,"steps":true,"cfg":true,"sampler_name":true,"scheduler":true,"denoise":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[0,"fixed",40,1,"euler","beta",1]},{"id":37,"type":"CLIPTextEncodeFlux","pos":[7018.9189453125,2199.647216796875],"size":[400,200],"flags":{},"order":12,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":53},{"localized_name":"clip_l","name":"clip_l","type":"STRING","widget":{"name":"clip_l"},"link":null},{"localized_name":"t5xxl","name":"t5xxl","type":"STRING","widget":{"name":"t5xxl"},"link":null},{"localized_name":"guidance","name":"guidance","type":"FLOAT","widget":{"name":"guidance"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[43]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"CLIPTextEncodeFlux","ue_properties":{"widget_ue_connectable":{"clip_l":true,"t5xxl":true,"guidance":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["","ev-2",3.5]},{"id":11,"type":"LoraLoaderModelOnly","pos":[7793.353515625,1930.4532470703125],"size":[357.37261962890625,84.0802993774414],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":52},{"localized_name":"lora_name","name":"lora_name","type":"COMBO","widget":{"name":"lora_name"},"link":null},{"localized_name":"strength_model","name":"strength_model","type":"FLOAT","widget":{"name":"strength_model"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[48]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"LoraLoaderModelOnly","ue_properties":{"widget_ue_connectable":{"lora_name":true,"strength_model":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["My_Loras\\Flux\\ExposureControls\\ev-2.safetensors",1]},{"id":39,"type":"ConditioningZeroOut","pos":[7886.11181640625,3333.92041015625],"size":[197.712890625,26],"flags":{},"order":25,"mode":0,"inputs":[{"localized_name":"conditioning","name":"conditioning","type":"CONDITIONING","link":58}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[64]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"ConditioningZeroOut","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":40,"type":"PreviewImage","pos":[8695.619140625,3416.03955078125],"size":[403.8915710449219,258],"flags":{},"order":40,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":59}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"PreviewImage","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":42,"type":"ReferenceLatent","pos":[7465.11328125,3137.195556640625],"size":[197.712890625,46],"flags":{},"order":21,"mode":0,"inputs":[{"localized_name":"conditioning","name":"conditioning","type":"CONDITIONING","link":61},{"localized_name":"latent","name":"latent","shape":7,"type":"LATENT","link":66}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[58,63]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"ReferenceLatent","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":43,"type":"KSampler","pos":[8311.6669921875,3197.1962890625],"size":[270,474],"flags":{},"order":29,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":62},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":63},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":64},{"localized_name":"latent_image","name":"latent_image","type":"LATENT","link":69},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":68},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[60]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"KSampler","ue_properties":{"widget_ue_connectable":{"seed":true,"steps":true,"cfg":true,"sampler_name":true,"scheduler":true,"denoise":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[0,"fixed",40,1,"euler","beta",1]},{"id":45,"type":"LoraLoaderModelOnly","pos":[7785.599609375,3058.722412109375],"size":[357.37261962890625,84.0802993774414],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":65},{"localized_name":"lora_name","name":"lora_name","type":"COMBO","widget":{"name":"lora_name"},"link":null},{"localized_name":"strength_model","name":"strength_model","type":"FLOAT","widget":{"name":"strength_model"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[62]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"LoraLoaderModelOnly","ue_properties":{"widget_ue_connectable":{"lora_name":true,"strength_model":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["My_Loras\\Flux\\ExposureControls\\ev-4.safetensors",1]},{"id":5,"type":"UNETLoader","pos":[4258.6953125,-202.20960998535156],"size":[270,82],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"unet_name","name":"unet_name","type":"COMBO","widget":{"name":"unet_name"},"link":null},{"localized_name":"weight_dtype","name":"weight_dtype","type":"COMBO","widget":{"name":"weight_dtype"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[3,52,57,65]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"UNETLoader","ue_properties":{"widget_ue_connectable":{"unet_name":true,"weight_dtype":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["Flux\\flux1-kontext-dev.safetensors","default"]},{"id":23,"type":"VAEEncode","pos":[5616.01025390625,-355.97930908203125],"size":[140,46],"flags":{},"order":14,"mode":0,"inputs":[{"localized_name":"pixels","name":"pixels","type":"IMAGE","link":22},{"localized_name":"vae","name":"vae","type":"VAE","link":23}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[19,38,56,66]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"VAEEncode","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":44,"type":"CLIPTextEncodeFlux","pos":[7011.16650390625,3327.916015625],"size":[400,200],"flags":{},"order":13,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":67},{"localized_name":"clip_l","name":"clip_l","type":"STRING","widget":{"name":"clip_l"},"link":null},{"localized_name":"t5xxl","name":"t5xxl","type":"STRING","widget":{"name":"t5xxl"},"link":null},{"localized_name":"guidance","name":"guidance","type":"FLOAT","widget":{"name":"guidance"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[61]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"CLIPTextEncodeFlux","ue_properties":{"widget_ue_connectable":{"clip_l":true,"t5xxl":true,"guidance":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["","ev-4",3.5]},{"id":6,"type":"DualCLIPLoader","pos":[4259.41357421875,-39.079620361328125],"size":[270,130],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"clip_name1","name":"clip_name1","type":"COMBO","widget":{"name":"clip_name1"},"link":null},{"localized_name":"clip_name2","name":"clip_name2","type":"COMBO","widget":{"name":"clip_name2"},"link":null},{"localized_name":"type","name":"type","type":"COMBO","widget":{"name":"type"},"link":null},{"localized_name":"device","name":"device","shape":7,"type":"COMBO","widget":{"name":"device"},"link":null}],"outputs":[{"localized_name":"CLIP","name":"CLIP","type":"CLIP","links":[21,33,53,67]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"DualCLIPLoader","ue_properties":{"widget_ue_connectable":{"clip_name1":true,"clip_name2":true,"type":true,"device":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["t5xxl_fp16.safetensors","clip_l.safetensors","flux","default"]},{"id":13,"type":"easy int","pos":[4266.00537109375,352.8167419433594],"size":[270,58],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"value","name":"value","type":"INT","widget":{"name":"value"},"link":null}],"outputs":[{"localized_name":"int","name":"int","type":"INT","links":[4,35,51,68]}],"properties":{"cnr_id":"comfyui-easy-use","ver":"1.3.3","Node name for S&R":"easy int","ue_properties":{"widget_ue_connectable":{"value":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[54682]},{"id":15,"type":"EmptySD3LatentImage","pos":[5539.400390625,-577.8213500976562],"size":[270,106],"flags":{},"order":16,"mode":0,"inputs":[{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":6},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":7},{"localized_name":"batch_size","name":"batch_size","type":"INT","widget":{"name":"batch_size"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[11,36,55,69]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"EmptySD3LatentImage","ue_properties":{"widget_ue_connectable":{"width":true,"height":true,"batch_size":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[1024,1024,1]},{"id":7,"type":"VAELoader","pos":[4269.15869140625,220.22341918945312],"size":[270,58],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"vae_name","name":"vae_name","type":"COMBO","widget":{"name":"vae_name"},"link":null}],"outputs":[{"localized_name":"VAE","name":"VAE","type":"VAE","links":[13,23,37,54,70]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"VAELoader","ue_properties":{"widget_ue_connectable":{"vae_name":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["Flux_vae.sft"]},{"id":2,"type":"PreviewImage","pos":[13067.7578125,903.5720825195312],"size":[289.7767333984375,321.69708251953125],"flags":{},"order":43,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":1}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"PreviewImage","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":9,"type":"LoraLoaderModelOnly","pos":[7875.78173828125,-465.9426574707031],"size":[339.9737548828125,101.5422134399414],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":3},{"localized_name":"lora_name","name":"lora_name","type":"COMBO","widget":{"name":"lora_name"},"link":null},{"localized_name":"strength_model","name":"strength_model","type":"FLOAT","widget":{"name":"strength_model"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[10]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"LoraLoaderModelOnly","ue_properties":{"widget_ue_connectable":{"lora_name":true,"strength_model":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["My_Loras\\Flux\\ExposureControls\\ev+4.safetensors",1]},{"id":46,"type":"SaveEXR","pos":[13071.8671875,1404.0616455078125],"size":[270,178],"flags":{},"order":44,"mode":4,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":72},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null},{"localized_name":"tonemap","name":"tonemap","type":"COMBO","widget":{"name":"tonemap"},"link":null},{"localized_name":"version","name":"version","type":"INT","widget":{"name":"version"},"link":null},{"localized_name":"start_frame","name":"start_frame","type":"INT","widget":{"name":"start_frame"},"link":null},{"localized_name":"frame_pad","name":"frame_pad","type":"INT","widget":{"name":"frame_pad"},"link":null},{"localized_name":"save_workflow","name":"save_workflow","type":"COMBO","widget":{"name":"save_workflow"},"link":null}],"outputs":[],"properties":{"cnr_id":"ComfyUI-HQ-Image-Save","ver":"52b4579a195727729bf768032737a67220512128","Node name for S&R":"SaveEXR","ue_properties":{"widget_ue_connectable":{"filename_prefix":true,"tonemap":true,"version":true,"start_frame":true,"frame_pad":true,"save_workflow":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["Flux/Exr_test/test","linear",1,1001,4,"none"]},{"id":18,"type":"VAEDecode","pos":[8742.728515625,-362.2060852050781],"size":[140,46],"flags":{},"order":30,"mode":0,"inputs":[{"localized_name":"samples","name":"samples","type":"LATENT","link":12},{"localized_name":"vae","name":"vae","type":"VAE","link":13}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[17,18,73]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"VAEDecode","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":47,"type":"SaveImage","pos":[9716.15625,-52.34754943847656],"size":[270,270],"flags":{},"order":35,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":73},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"SaveImage","ue_properties":{"widget_ue_connectable":{"filename_prefix":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["Test/Exposure/ev+4"]},{"id":26,"type":"VAEDecode","pos":[8800.580078125,1001.158447265625],"size":[140,46],"flags":{},"order":31,"mode":0,"inputs":[{"localized_name":"samples","name":"samples","type":"LATENT","link":27},{"localized_name":"vae","name":"vae","type":"VAE","link":37}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[30,34,74]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"VAEDecode","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":48,"type":"SaveImage","pos":[9552.921875,1449.2613525390625],"size":[270,270],"flags":{},"order":37,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":74},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"SaveImage","ue_properties":{"widget_ue_connectable":{"filename_prefix":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["Test/Exposure/ev+2"]},{"id":38,"type":"VAEDecode","pos":[8717.748046875,2038.328125],"size":[140,46],"flags":{},"order":32,"mode":0,"inputs":[{"localized_name":"samples","name":"samples","type":"LATENT","link":45},{"localized_name":"vae","name":"vae","type":"VAE","link":54}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[44,50,75]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"VAEDecode","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":49,"type":"SaveImage","pos":[9624.8369140625,2359.173095703125],"size":[270,270],"flags":{},"order":39,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":75},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"SaveImage","ue_properties":{"widget_ue_connectable":{"filename_prefix":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["Test/Exposure/ev-2"]},{"id":41,"type":"VAEDecode","pos":[8724.01953125,3173.607177734375],"size":[140,46],"flags":{},"order":33,"mode":0,"inputs":[{"localized_name":"samples","name":"samples","type":"LATENT","link":60},{"localized_name":"vae","name":"vae","type":"VAE","link":70}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[59,71,76]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"VAEDecode","ue_properties":{"widget_ue_connectable":{},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":50,"type":"SaveImage","pos":[9597.458984375,3267.062744140625],"size":[270,270],"flags":{},"order":42,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":76},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.59","Node name for S&R":"SaveImage","ue_properties":{"widget_ue_connectable":{"filename_prefix":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["Test/Exposure/ev-4"]},{"id":1,"type":"LuminanceStackProcessor5Stops","pos":[11787.5751953125,1291.39111328125],"size":[334.8921813964844,162],"flags":{},"order":41,"mode":0,"inputs":[{"localized_name":"ev_plus_4","name":"ev_plus_4","type":"IMAGE","link":17},{"localized_name":"ev_plus_2","name":"ev_plus_2","type":"IMAGE","link":34},{"localized_name":"ev_0","name":"ev_0","type":"IMAGE","link":2},{"localized_name":"ev_minus_2","name":"ev_minus_2","type":"IMAGE","link":50},{"localized_name":"ev_minus_4","name":"ev_minus_4","type":"IMAGE","link":71},{"localized_name":"exposure_step","name":"exposure_step","shape":7,"type":"FLOAT","widget":{"name":"exposure_step"},"link":null},{"localized_name":"hdr_algorithm","name":"hdr_algorithm","shape":7,"type":"COMBO","widget":{"name":"hdr_algorithm"},"link":null}],"outputs":[{"localized_name":"hdr_image","name":"hdr_image","type":"IMAGE","links":[1,72]}],"properties":{"aux_id":"sumitchatterjee13/Luminance-Stack-Processor","ver":"386a02498296bc745fd70a5d9ff2d2abe28c8c2c","Node name for S&R":"LuminanceStackProcessor5Stops","ue_properties":{"widget_ue_connectable":{"exposure_step":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":[2,"natural_blend"]}],"links":[[1,1,0,2,0,"IMAGE"],[2,3,0,1,2,"IMAGE"],[3,5,0,9,0,"MODEL"],[4,13,0,8,4,"INT"],[5,3,0,14,0,"IMAGE"],[6,14,0,15,0,"INT"],[7,14,1,15,1,"INT"],[8,14,0,16,0,"*"],[9,14,1,17,0,"*"],[10,9,0,8,0,"MODEL"],[11,15,0,8,3,"LATENT"],[12,8,0,18,0,"LATENT"],[13,7,0,18,1,"VAE"],[14,20,0,8,1,"CONDITIONING"],[15,20,0,21,0,"CONDITIONING"],[16,21,0,8,2,"CONDITIONING"],[17,18,0,1,0,"IMAGE"],[18,18,0,22,0,"IMAGE"],[19,23,0,20,1,"LATENT"],[20,24,0,20,0,"CONDITIONING"],[21,6,0,24,0,"CLIP"],[22,3,0,23,0,"IMAGE"],[23,7,0,23,1,"VAE"],[25,29,0,25,1,"CONDITIONING"],[26,28,0,25,2,"CONDITIONING"],[27,25,0,26,0,"LATENT"],[28,29,0,28,0,"CONDITIONING"],[29,30,0,29,0,"CONDITIONING"],[30,26,0,31,0,"IMAGE"],[33,6,0,30,0,"CLIP"],[34,26,0,1,1,"IMAGE"],[35,13,0,25,4,"INT"],[36,15,0,25,3,"LATENT"],[37,7,0,26,1,"VAE"],[38,23,0,29,1,"LATENT"],[40,34,0,32,1,"CONDITIONING"],[41,33,0,32,2,"CONDITIONING"],[42,34,0,33,0,"CONDITIONING"],[43,37,0,34,0,"CONDITIONING"],[44,38,0,35,0,"IMAGE"],[45,32,0,38,0,"LATENT"],[47,36,0,25,0,"MODEL"],[48,11,0,32,0,"MODEL"],[50,38,0,1,3,"IMAGE"],[51,13,0,32,4,"INT"],[52,5,0,11,0,"MODEL"],[53,6,0,37,0,"CLIP"],[54,7,0,38,1,"VAE"],[55,15,0,32,3,"LATENT"],[56,23,0,34,1,"LATENT"],[57,5,0,36,0,"MODEL"],[58,42,0,39,0,"CONDITIONING"],[59,41,0,40,0,"IMAGE"],[60,43,0,41,0,"LATENT"],[61,44,0,42,0,"CONDITIONING"],[62,45,0,43,0,"MODEL"],[63,42,0,43,1,"CONDITIONING"],[64,39,0,43,2,"CONDITIONING"],[65,5,0,45,0,"MODEL"],[66,23,0,42,1,"LATENT"],[67,6,0,44,0,"CLIP"],[68,13,0,43,4,"INT"],[69,15,0,43,3,"LATENT"],[70,7,0,41,1,"VAE"],[71,41,0,1,4,"IMAGE"],[72,1,0,46,0,"IMAGE"],[73,18,0,47,0,"IMAGE"],[74,26,0,48,0,"IMAGE"],[75,38,0,49,0,"IMAGE"],[76,41,0,50,0,"IMAGE"]],"groups":[{"id":1,"title":"Models_and_seed","bounding":[4100.05029296875,-318.54302978515625,745.60498046875,758.8099975585938],"color":"#3f789e","font_size":24,"flags":{}},{"id":2,"title":"Input Image","bounding":[3932.42626953125,-924.1152954101562,924.318359375,550.2689208984375],"color":"#3f789e","font_size":24,"flags":{}},{"id":3,"title":"EV+4","bounding":[6970.10693359375,-616.5940551757812,2334.707763671875,798.9429931640625],"color":"#3f789e","font_size":24,"flags":{}},{"id":4,"title":"EV+4 Lora","bounding":[7788.89501953125,-547.3599853515625,432,279],"color":"#a1309b","font_size":24,"flags":{}},{"id":6,"title":"EV+2","bounding":[6976.505859375,661.4053955078125,2336.594482421875,918.3565673828125],"color":"#3f789e","font_size":24,"flags":{}},{"id":5,"title":"EV+2 Lora","bounding":[7846.74755859375,816.0044555664062,432,279],"color":"#a1309b","font_size":24,"flags":{}},{"id":7,"title":"EV-2 Lora","bounding":[7763.919921875,1853.174072265625,432,279],"color":"#a1309b","font_size":24,"flags":{}},{"id":8,"title":"Group","bounding":[8063.46337890625,888.487548828125,140,80],"color":"#3f789e","font_size":24,"flags":{}},{"id":9,"title":"EV-2","bounding":[6975.404296875,1723.0718994140625,2344.345947265625,960.5797119140625],"color":"#3f789e","font_size":24,"flags":{}},{"id":11,"title":"EV-4","bounding":[6967.65185546875,2851.341064453125,2344.345947265625,960.5797119140625],"color":"#3f789e","font_size":24,"flags":{}},{"id":10,"title":"EV-4 Lora","bounding":[7756.166015625,2981.443115234375,432,279],"color":"#a1309b","font_size":24,"flags":{}},{"id":12,"title":"Luminance_Stack_Custom_node","bounding":[11737.056640625,1053.4908447265625,558.1008911132812,490.7171936035156],"color":"#8A8","font_size":24,"flags":{}}],"config":{},"extra":{"ue_links":[],"ds":{"scale":1.5863092971715023,"offset":[-7375.422773724777,-2697.7457776975507]},"links_added_by_ue":[]},"version":0.4} \ No newline at end of file