Files
blepping 1c2bc62797 Settings and previewer refactor (#44)
* Settings refactor
* Previewer improvements
* Other cleanups
* Fix video frame limiting
* Support for YuE2 previews.
2026-09-16 08:12:02 -06:00

9.2 KiB

Changes

Note, only relatively significant changes to user-visible functionality will be included here. Most recent changes at the top.

20260916

This update involves some significant settings handling and previewer backend changes. Please create an issue if you experience problems.

  • .safetensors format previewer models are supported (and will be used in preference to PyTorch checkpoints) if available. (It will look for .safetensors and .st extensions for .pth.)
  • Better handling for audio model previews/additional support. Now supported: ACE-Step 1.0 and 1.5, MiniMax Music 3, Stable Audio 1 and 3, YuE2.
  • Grid layout for batch previews should be somewhat less moronic now. I hope.
  • Fixed preview endpoint refresh timing logic (incorrectly did not take the video length into account when calculating how often to refresh).
  • Fixed handling of latent formats with spatial compression factor that isn't 8.
  • Added a throttle_secs_video configuration parameter to allow specifying a different throttle time for video generations (only applies when generating with more than 1 frame).
  • Remove logic that incorrectly only used the first batch item for video latent formats.
  • Fixed previewer OOM fallback logic.
  • Not currently documented, but the BlehSageAttentionSampler node supports sageattn_skip_asymmetric (boolean) and sageattn_sequence_threshold (integer) parameters via the YAML parameters input. This can be used to disable the attention optimization for small or asymmetric attention calls (typically cross attentions) for models that don't use joint attention.
  • Better handling of single frame inputs for the TAEVideoEncode node.

20260807

  • Initial support for Minimax H3 TAE models and previewing.
  • Better handling for A/V latents in TAEVid nodes.

20260518

  • Added BlehConstrastiveOrthoCFG node.

20260515

  • Support LTX 2.0, LTX 2.3 and LTX 2.3 wide TAE models.
  • Added a BlehFixGuiderPreviewing node. Using this is necessary for LTX previews, it can also be used to set the LTX 2.3 wide previewer mode or override the default FPS when generating video previews.
  • ACE-Steps 1.5 latent visualization support in previews.
  • Default previewer datatype is now bfloat16. For the old behavior, you can set this to null in the config if you want.
  • Added /bleh/last_preview.html endpoint (defaults to disabled) which can serve the last preview in a separate page. Useful for video previews that don't normally animate in a ComfyUI workflow.
  • Many more blend modes.
  • Added a BlehBlendConditioning node. This allows blending multiple conditionings on both sides, unlike the built-in ComfyUI conditioning blend node.
  • BlehBlockCFG is better now? Maybe. I forget what I changed, but there are changes to it! (Note, still only works for diffusion models like SD 1.5 and SDXL.)
  • Added BlehProcessLatentIn and BlehProcessLatentOut nodes which can scale/unscale latents to what the model expects during sampling.
  • previews is now used for preview-related settings in the config file. betterTaesdPreviews will still work in existing config files.
  • Removed the example JSON configuration file. I don't recommend using JSON but it will still work if you really want to.

20250829

  • Added support for Wan 2.2 video previews.
  • The BlehTAEVideoEncode should work for encoding single images or numbers of frames that aren't a multiple of the video latent temporal compression size. The input will be padded with the last frame.

20250809

This set of changes involves refactoring parts of the previewer. Please create an issue if you experience problems.

  • It's now possible to set the previewer dtype, see the preview_dtype setting. Note: Previews probably have been using float32 which is likely slower/more memory intensive than necessary. I'd recommend setting it to vae, bfloat16 or float16.
  • The previewer can show a visual representation of ACE-Steps latents (audio model). If you don't like it then you can add aceaudio to the blacklist_formats list in your configuration.
  • You can set throttle_secs_fallback to use a different throttle setting for the fallback previewer (which includes stuff like the ACE-Steps previewer).
  • Basic support for SpargeAttention, see README and https://github.com/thu-ml/SpargeAttn
  • The blend mode system has been rewritten.
  • Added more blend modes. Partial list as I don't remember exactly what I did: probinject, probsubtract_b, inject_difference, inject_copysign_a, inject_copysign_b, inject_avoidsign_a, inject_avoidsign_b, slice_X (where x may be dimension, flat, etc), loplerp_X, cosinesimilarity (and variants - basically reinvented SLERP here), hybrid_lerp_cosinesimilarity, subtract_b, subtract_b_scaleup_a
  • Added a BlehCFGInitSampler sampler wrapper than can be used to skip steps like CFGZeroStar zero init, but without the cost of calling the model.
  • Added BlehImageAsLatent and BlehLatentAsImage nodes that let you convert IMAGE to LATENT vice versa. Note this is just to allow running image operations on latents or latent operations on images, it doesn't really convert anything.
  • Added a BlehModelPatchFastTerminate node that speeds up catching attempts to interrupt a generation. Mostly useful for video models where steps can take a very long time.

20250504

This is a fairly large set of changes. Please create an issue if you experience problems.

  • Support for TAE video models/video previewing.
  • Added BlehTAEVideoEncode and BlehTAEVideoDecode nodes for fast video latent encoding/decoding.
  • Added many more blend modes.
  • Added BlehEnsurePreviewer node (for use when other custom node packs overwrite Bleh's previewer).

20250313

  • Added OOM fallback to the previewer.
  • Added ability to compile the previewer (and a few other related options).
  • Added BlehEnsurePreviewer node that can be used to ensure Bleh's previewer is used if some other custom node overrides it.

20250119

  • Fixed SageAttention 1.x support and setting tensor_layout should work properly for SageAttention 2.x now. Please create an issue if you experience problems.

20250114

  • Added BlehLatentBlend node.
  • Added BlehCast node that lets crazy people connect things that shouldn't be connected.
  • Added BlehSetSigmas node.
  • Some BlockOps functions have expanded capabilities now.

20250109

  • The strategy the SageAttention nodes use to patch ComfyUI's attention should work for third-party custom nodes more reliably now. Please create an issue if you experience problems.

20241228

  • The SageAttention nodes can now take advantage of SageAttention 2.0.1 which supports head sizes up to 128.
  • Fixed an issue which prevented SageAttention from applying to models like Flux.

20241122

  • Added the BlehGlobalSageAttention and BlehSageAttentionSampler nodes. See the README for details.

20241103

  • Added the BlehSetSamplerPreset node and sampler presets feature.

20241021

  • Added seed_offset parameter to BlehDisableNoise and BlehForceSeedSampler nodes. This is to avoid a case where the same noise would be used during sampling as the initial noise. Note: Changes seeds. You can set seed_offset to 0 to get the same behavior as before.

20240830

  • Added the BlehBlockCFG node (see README for usage and details).
  • More scaling/blending types. Some of them don't work well with scaling and will be filtered, you can set the environment variable COMFYUI_BLEH_OVERRIDE_NO_SCALE if you want the full list to be available (but you might just get garbage if you try to use them for scaling).
  • Possibly better normalization function (may change seeds). Set the environment variable COMFYUI_BLEH_ORIG_NORMALIZE to disable.
  • TAESD previews should be faster. Also now can dynamically set the number of upscale layers to skip based on the preview size limits. Additionally it's possible to set the max preview width/height seperately - see the YAML example config.

20240506

  • Add many new scaling types.
  • Add enhancements that can be combined with scaling, also apply_enhancement blockops function.

20240423

  • Added BlehPlug and BlehDisableNoise (see README for usage and description).
  • Increased the available upscale/downscale types for BlehDeepShrink.

20240412

  • Added BlehBlockOps and BlehLatentOps nodes.

20240403

  • Added BlehRefinerAfter node.

20240218

  • Added BlehForceSeedSampler node.

20240216

  • Added BlehModelPatchConditional node (see README for usage and description).

20240208

  • Added BlehInsaneChainSampler node.
  • Added ability to run previews on a specific device and skip TAESD upscale layers for increased TAESD decoding performance (see README).

20240202

  • Added BlehDiscardPenultimateSigma node.

20240201

  • Added BlehDeepShrink node (see README for usage and description)
  • Add more upscale/downscale methods to the Deep Shrink node, allow setting a higher downscale factor, allow enabling antialiasing for bilinear and bicubic modes.

20240128

  • Removed CUDA-specific stuff from TAESD previewer as the performance gains were marginal and it had a major effect on VRAM usage.
  • (Hopefully) improved heuristics for batch preview layout.
  • Added maxed_batch_step_mode setting for TAESD previewer.
  • Fixed reversed HyperTile default start/end step values.
  • Allow only applying HyperTile at a step interval.