Nodes/MAGICMATCH/MagicMatch one-shot (GPU Full)
ComfyUI Node

MagicMatch one-shot (GPU Full)

The full GPU pipeline, fused into one node

By lookuters22·Created 3 months ago·Updated 3 months ago· 0
MagicMatch one-shot (GPU Full)
  • source
  • reference
  • image
strength1.00
lut_encodingsrgb_srgb
render_modeprobe_export
profile_stagecurrent_profile_stages

MagicMatch one-shot (GPU Full) is the fused version of the full GPU pipeline: scene extract, ONNX color match, and develop/LUT apply all stay on the device, with source, reference, and strength in and a graded IMAGE out. Where GPU Fast optimizes for speed and accepts drift, this one keeps the parity-oriented hot path - detection buffers, luminance stats, face preprocess, develop@1600, full-res apply - and just runs it on the GPU, with the same minimal CPU sync the full build uses.

If you have the hardware and want the one-node convenience without signing up for approximate parity, this is the one-shot to pick. Of the three one-shots the choice is basically: CPU for guaranteed golden output, CUDA if you only need the ONNX build sped up, GPU Fast for raw throughput, and this node when you want the full pipeline on the GPU and parity. The enums match the rest of the pack (srgb_srgb, probe_export, current_profile_stages defaults); at probe_export it uses the fused GPU apply, and the other render modes route through the fast build plus a CPU apply instead.

Install: onnxruntime-gpu in ComfyUI's venv, uninstalling the CPU onnxruntime wheel first if it's present (the two wheels conflict on many builds):

pip uninstall -y onnxruntime
pip install -r MAGICMATCH/requirements-cuda.txt

Restart, and the node appears under MAGICMATCH/GPU Full (experimental). MAGICMATCH_GPU_FULL_NODES=0 hides the trio if you're not using it. Batch size 1. It's experimental, so the usual advice applies: if a result looks off, the README's parity scripts (scripts/parity_pair.py) are how you check whether the GPU path drifted from the CPU golden.

CategoryMAGICMATCH/GPU Full (experimental)

Inputs (6)

NameTypeDefaultDescription
sourceIMAGE
referenceIMAGE
strengthFLOAT1.000–1
lut_encodingCOMBOsrgb_srgb7 options: srgb_srgb, srgb_none, linear_srgb, linear_none, none_none, srgb_adobe, +1
render_modeCOMBOprobe_export6 options: probe_export, polarr_probe, numpy_legacy, polarr, numpy, probe_export
profile_stageCOMBOcurrent_profile_stages4 options: current_profile_stages, force_color_look, disable_profile_look, force_color_look_disable_profile_look

Outputs (1)

NameTypeDescription
imageIMAGE