Files
Loghan LewisandClaude Opus 4.7 aee4391206 v0.2 — fixes from code review by blepping
- 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>
2026-05-29 16:35:40 +01:00

83 lines
2.0 KiB
JSON

{
"_comment": "ComfyUI prompt-API workflow for the 'baseline' preset. Submit via POST /prompt. Swap CHECKPOINT_NAME below for a checkpoint that's 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": "abstract texture, layered pigment", "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.05,
"seed": 0
}
},
"6": {
"class_type": "AttentionDropoutPatcher",
"inputs": {
"model": ["1", 0],
"self_attn_dropout": 0.0,
"cross_attn_dropout": 0.0,
"seed": 0
}
},
"7": {
"class_type": "SamplerEulerAncestral",
"inputs": { "eta": 1.0, "s_noise": 1.0 }
},
"8": {
"class_type": "RandomNoise",
"inputs": { "noise_seed": 0 }
},
"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": 0
}
},
"12": {
"class_type": "VAEDecode",
"inputs": { "samples": ["11", 0], "vae": ["1", 2] }
},
"13": {
"class_type": "SaveImage",
"inputs": { "images": ["12", 0], "filename_prefix": "glitch-lab/baseline" }
}
}