- Fix LatentFrameInterleave axis: operate on T (dim=2), not C (dim=1). ComfyUI video latents are (B, C, T, H, W). Calling the old version on a video latent shuffled channels on individual frames rather than reordering frames in time. - Replace closure counter in AttentionDropoutPatcher with a context- derived deterministic seed (block + sigma + seed). ComfyUI runs the patch node once at workflow start; the previous counter persisted across sampling runs and drifted unpredictably. - Remove GlitchSampler node + euler_ancestral_step. Its extra_noise knob was equivalent to s_noise on the built-in SamplerEulerAncestral (which additionally exposes eta). The workflow and renderer now use the built-in directly. - Rename extra_noise -> s_noise across schema, library, and example workflows. Max raised 4 -> 10 to match the built-in range. - Re-render gallery with one photorealistic prompt + an unpatched KSampler reference. The previous abstract per-preset prompts hid the parameter effects. - Delete stale UI-canvas example workflows; render_samples.py is the canonical entry point for batch / programmatic use. - CHANGELOG.md added with full detail and credit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
83 lines
2.0 KiB
JSON
83 lines
2.0 KiB
JSON
{
|
|
"_comment": "ComfyUI prompt-API workflow for the 'slag' preset — all perturbations near maximum. Submit via POST /prompt. Swap CHECKPOINT_NAME below for a checkpoint actually in your ComfyUI/models/checkpoints/ folder. Uses the built-in SamplerEulerAncestral (not the deleted GlitchSampler).",
|
|
"1": {
|
|
"class_type": "CheckpointLoaderSimple",
|
|
"inputs": { "ckpt_name": "CHECKPOINT_NAME.safetensors" }
|
|
},
|
|
"2": {
|
|
"class_type": "CLIPTextEncode",
|
|
"inputs": { "text": "molten slag, oxide scale", "clip": ["1", 1] }
|
|
},
|
|
"3": {
|
|
"class_type": "CLIPTextEncode",
|
|
"inputs": { "text": "", "clip": ["1", 1] }
|
|
},
|
|
"4": {
|
|
"class_type": "EmptyLatentImage",
|
|
"inputs": { "width": 512, "height": 512, "batch_size": 1 }
|
|
},
|
|
"5": {
|
|
"class_type": "GlitchSigmas",
|
|
"inputs": {
|
|
"model": ["1", 0],
|
|
"scheduler": "karras",
|
|
"steps": 20,
|
|
"denoise": 1.0,
|
|
"jitter": 0.50,
|
|
"seed": 8
|
|
}
|
|
},
|
|
"6": {
|
|
"class_type": "AttentionDropoutPatcher",
|
|
"inputs": {
|
|
"model": ["1", 0],
|
|
"self_attn_dropout": 0.40,
|
|
"cross_attn_dropout": 0.40,
|
|
"seed": 8
|
|
}
|
|
},
|
|
"7": {
|
|
"class_type": "SamplerEulerAncestral",
|
|
"inputs": { "eta": 1.0, "s_noise": 1.0 }
|
|
},
|
|
"8": {
|
|
"class_type": "RandomNoise",
|
|
"inputs": { "noise_seed": 8 }
|
|
},
|
|
"9": {
|
|
"class_type": "CFGGuider",
|
|
"inputs": {
|
|
"model": ["6", 0],
|
|
"positive": ["2", 0],
|
|
"negative": ["3", 0],
|
|
"cfg": 7.0
|
|
}
|
|
},
|
|
"10": {
|
|
"class_type": "SamplerCustomAdvanced",
|
|
"inputs": {
|
|
"noise": ["8", 0],
|
|
"guider": ["9", 0],
|
|
"sampler": ["7", 0],
|
|
"sigmas": ["5", 0],
|
|
"latent_image": ["4", 0]
|
|
}
|
|
},
|
|
"11": {
|
|
"class_type": "LatentFrameInterleave",
|
|
"inputs": {
|
|
"latent": ["10", 0],
|
|
"intensity": 0.0,
|
|
"seed": 8
|
|
}
|
|
},
|
|
"12": {
|
|
"class_type": "VAEDecode",
|
|
"inputs": { "samples": ["11", 0], "vae": ["1", 2] }
|
|
},
|
|
"13": {
|
|
"class_type": "SaveImage",
|
|
"inputs": { "images": ["12", 0], "filename_prefix": "glitch-lab/slag" }
|
|
}
|
|
}
|