Sign In

Native 16-bit Master RAW (TIFF) Export Support for High Dynamic Range Workflows

2

Native 16-bit Master RAW (TIFF) Export Support for High Dynamic Range Workflows

Feature Idea

The current PNG export is a bottleneck for professional HDR and print workflows. I have developed a full 16-bit RAW TIFF pipeline with accumulation logic that solves this. Below is the full specification and documentation for this feature.

Existing Solutions

ComfyUI-Orakul-SVP

Dual Export Node for ComfyUI β€” PNG to /output + 16-bit RAW TIFF to /output/temp_svp

A simple solution for saving generation results in two formats simultaneously:
standard PNG to ComfyUI /output and lossless 16-bit TIFF to /output/temp_svp.
Full batch support, accumulation mode, and sequential file numbering.


Why You Need This

ComfyUI saves PNG in 8-bit by default. For stock photography, print, and professional post-processing this isn't enough β€” you lose half the tonal range the moment you hit Save.

OrakulSVPNode solves this in a single node:

  • βœ… PNG saved normally via ComfyUI (/output) β€” for preview, web, stock upload

  • βœ… 16-bit RAW TIFF saved to /output/temp_svp β€” next to PNG, in one place

  • βœ… No TIFF compression (COMPRESSION = NONE) β€” zero data loss

  • βœ… Full range 0–65535 from float tensor 0.0–1.0

  • βœ… Full batch support β€” every frame saved as a separate file

  • βœ… Accumulation mode β€” existing files are never deleted, sequential numbering ORAKUL_RAW_0001.tif

  • βœ… Trilingual console logs β€” UA / RU / EN


File Structure

ComfyUI/
β”œβ”€β”€ output/
β”‚   β”œβ”€β”€ ComfyUI_00001_.png       ← standard PNG from Save Image node
β”‚   └── temp_svp/
β”‚       β”œβ”€β”€ ORAKUL_RAW_0001.tif  ← 16-bit RAW TIFF
β”‚       β”œβ”€β”€ ORAKUL_RAW_0002.tif
β”‚       └── ...
└── custom_nodes/
    └── ComfyUI-Orakul-SVP/
        β”œβ”€β”€ orakul_svp_node.py
        β”œβ”€β”€ __init__.py
        └── README.md

Installation

1. Clone into custom_nodes folder:

cd ComfyUI/custom_nodes
git clone https://github.com/YOUR_USERNAME/ComfyUI-Orakul-SVP

2. Make sure OpenCV is installed:

pip install opencv-python-headless

3. Restart ComfyUI.

The node will appear in the Orakul Studio category.


Usage

  1. Add the OrakulSVPNode to your workflow

  2. Connect IMAGE output from KSampler (or any image source)

  3. Connect the node's output to the standard Save Image node

  4. Run generation

KSampler β†’ OrakulSVPNode β†’ Save Image

Result:

  • PNG β†’ ComfyUI/output/ (via Save Image as usual)

  • TIFF 16-bit β†’ ComfyUI/output/temp_svp/ORAKUL_RAW_0001.tif, _0002.tif, ...


Accumulation Mode

The node works in accumulation mode β€” files are never overwritten or deleted.

On each new run the node finds the highest existing index and continues numbering from there:

Run 1 (batch=1): ORAKUL_RAW_0001.tif
Run 2 (batch=4): ORAKUL_RAW_0002.tif, _0003.tif, _0004.tif, _0005.tif
Run 3 (batch=1): ORAKUL_RAW_0006.tif

To reset numbering β€” simply clear the output/temp_svp/ folder manually.


Technical Details

ParameterValueTIFF format16-bit unsigned integer (uint16)CompressionNONE (IMWRITE_TIFF_COMPRESSION = 1)Color spaceRGB β†’ BGR (OpenCV)Range0.0–1.0 float β†’ 0–65535 uint16NumberingORAKUL_RAW_0001.tif (4 digits, sequential)File size~24–25 MB at 2752Γ—1536BatchFull support, each frame as individual file


File Size Comparison

FormatResolutionSizePNG 8-bit2752Γ—1536~4–6 MBTIFF 16-bit RAW2752Γ—1536~24–25 MB


Console Output Example

πŸ› οΈβš™οΈOrakul Engine: MASTER RAW (TIFF 16-BIT) mode is active. Accumulation mode.
πŸŽžοΈπŸ› οΈOrakul Engine: Adding a Batch (4 frames) to existing ones...
 -> πŸ‘Added: ORAKUL_RAW_0003.tif
 -> πŸ‘Added: ORAKUL_RAW_0004.tif
 -> πŸ‘Added: ORAKUL_RAW_0005.tif
 -> πŸ‘Added: ORAKUL_RAW_0006.tif

Compatibility

  • ComfyUI (all current versions)

  • Python 3.10+

  • PyTorch (CUDA / CPU)

  • OpenCV opencv-python or opencv-python-headless

  • Windows / Linux


Who Is This For

  • Stock photographers β€” upload to Adobe Stock, Shutterstock, Getty at full quality

  • Print & prepress β€” TIFF 16-bit accepted directly without conversion

  • Post-processing β€” open in Photoshop / Lightroom with full tonal range intact

  • Archiving β€” store master files with zero quality degradation


Roadmap

  • Custom save folder via node parameter

    LZW/ZIP compression option to save disk space

    EXIF/IPTC metadata in TIFF (for stock workflows)

    EXR 32-bit support for HDR pipelines


Author

Orakul Studio β€” Chernihiv, Ukraine πŸ‡ΊπŸ‡¦
Flux2 Β· ComfyUI Β· RTX 4090 Β· No quantization Β· No compromises


I've already built a working implementation. You can find the complete source code and folder structure in my repository (https://github.com/orakulstorm-hue/ComfyUI-Orakul-SVP-Dual-Export-Node-for-ComfyUI-PNG-to-output-16-bit-RAW-TIFF-to-output-temp_svp) or see the attached ZIP. It's a plug-and-play solution that integrates directly into the ComfyUI nodes ecosystem.

2