Nodes/Arctenoxs-Essentials_ComfyUI/Artifact Risk Predictor (Arctenox's Essentials)
ComfyUI Node

Artifact Risk Predictor (Arctenox's Essentials)

A quality gut-check on the latent, before you spend the time decoding it

By ArctenoxΒ·Created 8 months agoΒ·Updated 2 months agoΒ· 1
Artifact Risk Predictor (Arctenox's Essentials)
  • latent
  • latent_passthrough
  • risk_score
  • risk_report
  • warnings
β—„steps_taken25β–Ί
β—„cfg_used7.000β–Ί
β—„denoise_used1.000β–Ί
β—„risk_thresholdbalancedβ–Ί

The Artifact Risk Predictor answers a question you've had a thousand times: is this latent worth decoding? VAE decoding a batch is cheap per-image but not free, and in batch workflows you end up decoding a lot of duds - melted hands, overbaked faces, flat contrast - that you could have discarded sight-unseen. This node looks at the latent before decoding and hands you a risk_score from 0.0 to 1.0 so you can decide.

Be clear-eyed about what it is, because the marketing is enthusiastic. The description mentions detecting "melted hands," "overbaked faces," and "oversaturation," but the mechanism is a heuristic over latent statistics - mean, std, range, frequency content, dynamic range, channel balance - plus your reported sampling parameters. It is not a vision model. It's a statistical tripwire that flags latents whose distributions look like the ones that tend to decode badly. It's genuinely useful as a filter; it will occasionally be wrong, and the author says as much ("heuristic - not 100% accurate").

Inputs are latent plus the parameters it correlates against: steps_taken, cfg_used, denoise_used, and a risk_threshold of conservative / balanced / permissive. Higher CFG plus more steps reads as "overbaking risk"; that's the "parameter correlation" detection, and it's why the node wants those numbers rather than just the tensor.

Outputs:

  • latent_passthrough - the latent, untouched, so the node slots into a graph without rerouting anything.
  • risk_score - 0.0–1.0.
  • risk_report - a human-readable string explaining the score.
  • warnings - the flagged issues.

The critical design decision: the node reports and does not act. It won't stop your decode, won't re-roll anything. That's a feature, not a limitation - it means the pass-through is guaranteed clean and you get to decide what "high risk" means. The intended pattern is to feed risk_score into a switch, router, or conditional node (this pack has a String Switch; the broader ecosystem has plenty of conditional utilities) to skip the decode or re-roll the seed on high-risk latents.

Honest take on when to bother: for a single image, just decode it and look - the decode is the cheap part next to sampling. This node earns its keep in batch and grid workflows where you're generating dozens of latents and want to filter before the decode wall, or when you're running unattended and want a warning log of which outputs to inspect. If you're not doing batches, you're paying for a filter you don't need.

Install. Part of Arctenox's Essentials - ComfyUI Manager β†’ search "Arctenox's Essentials", or:

cd ComfyUI/custom_nodes/
git clone https://github.com/Arctenox/Arctenoxs-Essentials_ComfyUI

Restart ComfyUI. Pure Python plus torch/numpy - no model downloads, no extra deps beyond optional psutil. The README flags the whole pack as deprecated while the author remasters it, so treat this as a utility that works today with no guarantee of future updates.

CategoryArctenox Essentials/Utilities

Inputs (5)

NameTypeDefaultDescription
latentLATENTβ€”
steps_takenINT251–10000Number of sampling steps used
cfg_usedFLOAT7.0000–30CFG scale used during generation
denoise_usedFLOAT1.0000–1Denoise strength used
risk_thresholdCOMBObalancedSensitivity of risk detection

Outputs (4)

NameTypeDescription
latent_passthroughLATENTβ€”
risk_scoreFLOATβ€”
risk_reportSTRINGβ€”
warningsSTRINGβ€”