The second one, and this is where I erred, was to think that if he hadn't made it in ComfyUI, I wouldn't be able to do this. But in fact the output of A1111 also has it which I didn't know.
Oh, that's interesting. I didn't know Comfy would try that either, and would have assumed otherwise because I've only seen Comfy blueprints passed around separately.
WebUI doesn't embed that information, it's just the standard gen deets (prompt, seed, model, other parameters), but since the pipeline doesn't really change in WebUI I assume Comfy tries to load a standard template to recreate it when it recognises WebUI metadata.
Some stuff (like extension settings) doesn't go in there though, and some models need weird specific CFG mods but that hash is for
PonyXL AutismMix_Pony which isn't one of those. So for the same reason I said even though I was wrong about what you were doing, it should really have still genned a regular image anyway. So I'm guessing the issue is Comfy's default blueprint version of WebUI's pipe having some fault.
I just messed around with it a bit and couldn't see any problem with the metadata anyway (besides having a separate scheduler tag, rather than putting it in the sampler tag, which my version of Forge doesn't recognise).
I'm sure I've seen that particular artefacting somewhere before though but I can't remember what it was so it's still bugging me.
...And yeah, you're right about the upscaler being unnecessary. The original image is genned at 832x1216 (832 is smaller than XL's minimum resolution, which can cause issues sometimes), then R-ESRGAN upscaled to a size that actually is in XL's ballpark. So it could have just been genned at the target size and saved a step.
Edit: Just recreated what you did in Comfy and got the same confetti noise output. The Civit page for that model mix does recommend an extension to avoid noise errors in outputs that can apparently happen with XL models, but the examples look different.
Edit2: noticed it was happening pre-upscale and pre-VAE, seems to be the sampler. Specifically the scheduler, which is the tag Forge didn't recognise for me.
Switching it to use karras (per the unread metadata tag) fixes it.
dpmpp_3m_sde should work basically the same as dpmpp_3m_sde_karras (the schedule curve is very similar, there's no reason massive noise artefacts oughtta show up at 40 steps as opposed to tiny variances) so yeah it might just be a bug in Comfy's implementation of that.