ComfyUI/comfy_extras
octo-patch 66c4fde38c fix: ensure SaveWEBM container is always closed on error (fixes #9115)
Wrap the av.Container operations in SaveWEBM.execute with try/finally
to guarantee container.close() is called even when an exception occurs
during encoding (e.g. OOM, codec error). Without this, the output file
handle could remain open, causing 'file is open in Python' errors on
Windows when trying to delete or overwrite the output file.

Consistent with the pattern already used in encode_single_frame() and
decode_single_frame() in comfy_extras/nodes_lt.py.
2026-04-11 13:25:41 +08:00
..
chainner_models Replace print with logging (#6138) 2024-12-20 16:24:55 -05:00
nodes_ace.py Update ace15.py to allow min_p sampling (#12373) 2026-02-11 20:28:48 -05:00
nodes_advanced_samplers.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_align_your_steps.py add search aliases to all nodes (#12035) 2026-01-22 18:36:58 -08:00
nodes_apg.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_attention_multiply.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_audio_encoder.py convert nodes_audio_encoder.py to V3 schema (#10123) 2025-09-30 23:00:22 -07:00
nodes_audio.py feat: add essentials_category to nodes and blueprints for Essentials tab (#12573) 2026-03-15 16:18:04 -07:00
nodes_camera_trajectory.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_canny.py Fix canny node not working with fp16. (#13085) 2026-03-20 23:15:50 -04:00
nodes_cfg.py convert CFG nodes to V3 schema (#9717) 2025-09-12 17:39:55 -04:00
nodes_chroma_radiance.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_clip_sdxl.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_color.py Add color type and Color to RGB Int node (#12145) 2026-01-30 15:01:33 -08:00
nodes_compositing.py add search aliases to all nodes (#12035) 2026-01-22 18:36:58 -08:00
nodes_cond.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_context_windows.py Add slice_cond and per-model context window cond resizing (#12645) 2026-03-19 20:42:42 -07:00
nodes_controlnet.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_cosmos.py convert Cosmos nodes to V3 schema (#9721) 2025-09-12 17:38:46 -04:00
nodes_curve.py CURVE node (#12757) 2026-03-24 17:47:28 -04:00
nodes_custom_sampler.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_dataset.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_differential_diffusion.py add search aliases to all nodes (#12035) 2026-01-22 18:36:58 -08:00
nodes_easycache.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_edit_model.py convert nodes_edit_model.py to V3 schema (#10147) 2025-10-03 13:24:42 -07:00
nodes_eps.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_flux.py Lower kv cache memory usage. (#12909) 2026-03-12 16:54:38 -04:00
nodes_freelunch.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_fresca.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_gits.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_glsl.py Add has_intermediate_output flag for nodes with interactive UI (#13048) 2026-03-27 21:06:38 -04:00
nodes_hidream.py add search aliases to all nodes (#12035) 2026-01-22 18:36:58 -08:00
nodes_hooks.py Disable dynamic_vram when weight hooks applied (#12653) 2026-02-28 16:50:18 -05:00
nodes_hunyuan3d.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_hunyuan.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_hypernetwork.py convert nodes_hypernetwork.py to V3 schema (#10583) 2025-11-03 00:21:47 -08:00
nodes_hypertile.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_image_compare.py feat: add essentials_category to nodes and blueprints for Essentials tab (#12573) 2026-03-15 16:18:04 -07:00
nodes_images.py fix: change SaveAnimatedWEBP default method from 'default' to 'fastest' (fixes #13300) 2026-04-09 12:33:21 +08:00
nodes_ip2p.py convert nodes_ip2p.pt to V3 schema (#10097) 2025-10-01 12:20:30 -07:00
nodes_kandinsky5.py add search aliases to all nodes (#12035) 2026-01-22 18:36:58 -08:00
nodes_latent.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_load_3d.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_logic.py add support for kwargs inputs to allow arbitrary inputs from frontend (#12063) 2026-01-24 17:30:40 -08:00
nodes_lora_debug.py Move nodes from previous PR into their own file. (#12066) 2026-01-24 23:02:32 -05:00
nodes_lora_extract.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_lotus.py convert nodes_lotus.py to V3 schema (#10057) 2025-09-27 19:11:36 -07:00
nodes_lt_audio.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_lt_upsampler.py Support the LTXV 2 model. (#11632) 2026-01-05 01:58:59 -05:00
nodes_lt.py feat: LTX2: Support reference audio (ID-LoRA) (#13111) 2026-03-23 18:22:24 -04:00
nodes_lumina2.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_mahiro.py refactor: rename Mahiro CFG to Similarity-Adaptive Guidance (#12172) 2026-02-28 20:59:24 -08:00
nodes_mask.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_math.py feat: add Math Expression node with simpleeval evaluation (#12687) 2026-03-05 18:51:28 -08:00
nodes_mochi.py convert nodes_mochi.py to V3 schema (#10069) 2025-09-29 12:03:35 -07:00
nodes_model_advanced.py initial FlowRVS support (#12637) 2026-02-25 23:38:46 -05:00
nodes_model_downscale.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_model_merging_model_specific.py Qwen Image model merging node. (#9202) 2025-08-06 04:07:04 -04:00
nodes_model_merging.py add search aliases to all nodes (#12035) 2026-01-22 18:36:58 -08:00
nodes_model_patch.py Reduce RAM usage, fix VRAM OOMs, and fix Windows shared memory spilling with adaptive model loading (#11845) 2026-02-01 01:01:11 -05:00
nodes_morphology.py add search aliases to all nodes (#12035) 2026-01-22 18:36:58 -08:00
nodes_nag.py Add category to Normalized Attention Guidance node (#12565) 2026-02-21 19:51:21 -05:00
nodes_nop.py Native block swap custom nodes considered harmful. (#10783) 2025-11-18 00:26:44 -05:00
nodes_number_convert.py fix(number-convert): preserve int precision for large numbers (#13147) 2026-03-25 18:06:34 -04:00
nodes_optimalsteps.py convert nodes_optimalsteps.py to V3 schema (#10074) 2025-10-01 12:18:04 -07:00
nodes_pag.py convert nodes_pag.py to V3 schema (#10080) 2025-10-01 12:18:49 -07:00
nodes_painter.py Add has_intermediate_output flag for nodes with interactive UI (#13048) 2026-03-27 21:06:38 -04:00
nodes_perpneg.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_photomaker.py convert nodes_photomaker.py to V3 schema (#10017) 2025-09-27 02:36:43 -07:00
nodes_pixart.py add search aliases to all nodes (#12035) 2026-01-22 18:36:58 -08:00
nodes_post_processing.py Fix blur and sharpen nodes not working with fp16 intermediates. (#13181) 2026-03-26 22:18:16 -04:00
nodes_preview_any.py add search aliases to all nodes (#12035) 2026-01-22 18:36:58 -08:00
nodes_primitive.py fix: swap essentials_category from CLIPTextEncode to PrimitiveStringMultiline (#12553) 2026-02-20 23:46:46 -08:00
nodes_qwen.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_rebatch.py convert nodes_rebatch.py to V3 schema (#9945) 2025-09-26 14:10:49 -07:00
nodes_replacements.py Node Replacement API (#12014) 2026-02-15 02:12:30 -08:00
nodes_resolution.py refactor: use AspectRatio enum members as ASPECT_RATIOS dict keys (#12689) 2026-02-27 20:53:46 -08:00
nodes_rope.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_rtdetr.py CORE-13 feat: Support RT-DETRv4 detection model (#12748) 2026-03-28 23:34:10 -04:00
nodes_sag.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_sd3.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_sdpose.py CORE-13 feat: Support RT-DETRv4 detection model (#12748) 2026-03-28 23:34:10 -04:00
nodes_sdupscale.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_slg.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_stable3d.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_stable_cascade.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_string.py Rename utils/string nodes with Text prefix and add search aliases (#13227) 2026-03-29 21:02:44 -07:00
nodes_tcfg.py convert nodes_tcfg.py to V3 schema (#9942) 2025-09-26 14:13:05 -07:00
nodes_textgen.py feat: Support Qwen3.5 text generation models (#12771) 2026-03-25 22:48:28 -04:00
nodes_tomesd.py convert nodes_tomesd.py to V3 schema (#10180) 2025-10-03 11:50:38 -07:00
nodes_toolkit.py Add a Create List node (#12173) 2026-02-05 01:18:21 -05:00
nodes_torch_compile.py Disable dynamic_vram when using torch compiler (#12612) 2026-02-24 19:13:46 -05:00
nodes_train.py Fix Train LoRA crash when training_dtype is "none" with bfloat16 LoRA weights (#13145) 2026-03-24 23:53:44 -04:00
nodes_upscale_model.py Widen OOM_EXCEPTION to AcceleratorError form (#12835) 2026-03-10 00:41:02 -04:00
nodes_video_model.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_video.py fix: ensure SaveWEBM container is always closed on error (fixes #9115) 2026-04-11 13:25:41 +08:00
nodes_wan.py feat: Support SCAIL WanVideo model (#12614) 2026-02-28 16:49:12 -05:00
nodes_wanmove.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_webcam.py add search aliases to all nodes (#12035) 2026-01-22 18:36:58 -08:00
nodes_zimage.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00