Crash (Blue Screen of Death) When Using Workflow
I get a reproducible Windows crash when running your workflow. The crash occurs during the first stage of model loading, where I can see system RAM escalating to 99% use; this is when the crash occurs and Windows reboots. VRAM is empty and not yet used.
I have 64GB of system RAM, as well as a 3090 Ti 24GB. I've tried enabling and disabling Low VRAM mode.
I am using your ltx23_echoVid-ltxAud_surgical_fp8.safetensors, as well as a GGUF Gemma encoder.
I am also using your most recent fix/patch for JoyAI Echo GGUF Nodes.
I had exactly the same behavior.
I gave up after hours of trials.
Also crashes on my side, tried BF16/FP8/GGUF and GGUF Gemma4, every config crashed ComfyUI.
OS = Win 11 x64
GPU = 3090
DDR4 = 64GB
Python 3.10.9
Torch = 2.11.0+cu130
The next try will be a different python version, w/e default ComfyUI included embedded will use.
If you have crashes, it will be probably best to show where it crashed. There are number of reasons why it crashes for you as it also crashed for me on Ubuntu, caused by an older version of ffmpeg, after the sampling. So it really depend in what part it crashed and what was the last report.
The author made extensive log that shows the timeline so he can see where exactly the crash occured and what could be the cause. Without you sharing the timline and crash message, there will be little help from anyone.
I can only tell you, that after hours of debuging with the author and corrections on his side in the module, I made it work with this setup:
Ubuntu 24.04
Python 3.12.3
torch 2.11.0+cu130
ffmpeg 8.1.2
download and copy fresh ComfyUI_JoyAI_Echo_v1.X_COMPLETE.zip from here. Even if the version is the same, the content of the archive may have changed.
Also, always make sure you actually run in ComfyUI venv
cd custom_nodes/ComfyUI_JoyAI_Echo_GGUF_Nodes
pip install -r requirements.txt OR
pip install --no-deps -r requirements.txt (I use this one to not break ComfyUI)
Also make sure to first start with right defaults (right click all JoyEcho ... nodes, Reload Node - to fix wrong values) and then set
JoyEcho Model Loader low_vram=true
JoyEcho Generate (Multi-Shot) sequential_offload=true
I have a working theory but I don't want to send you chasing a fix I haven't
confirmed, so there are questions below. First, two things worth doing right now.
ONE THING THAT MAY BE BITING YOU IMMEDIATELY
If you are using the fp8 checkpoint file with the fp8 toggles OFF, it is upcast to
bf16 at load. A 25 GB fp8 file becomes roughly 50 GB in system RAM. Picking fp8
saves disk space, not memory - it's actually the heaviest host-RAM path on a 3090,
which is the opposite of what everyone reasonably assumes. If that's your setup,
that alone could explain the 99% RAM.
EDIT:
THE SETTINGS TO TRY ON A 24 GB CARD WITH 64 GB OF SYSTEM RAM
Correcting myself before you waste time on it: do NOT use the bf16 checkpoint on a
64 GB machine. My own 3090 box has 64 GB and it runs bf16 for a few scenes and then
crashes out. That path needs more system RAM than 64 GB provides, and I had been
quoting it as a validated 3090 config on the strength of short test runs. That was
my error.
Use a GGUF instead:
model_file : a GGUF (Q8_0, or Q5_0 / Q4_0 if you want it smaller)
checkpoint_path : still needs a full checkpoint - it supplies the VAEs and
vocoder even when the DiT comes from the GGUF
fp8_scaled_mm : OFF <- RTX 40/50-series only; a 3090 cannot use it
fp8_transformer : OFF
encoder_fp8 : OFF
sequential_offload : ON <- defaults to OFF
resident_blocks : 12 <- does nothing unless sequential_offload is ON
gemma : the GGUF encoder (memory-mapped, ~2.5 GB resident)
resolution / frames : 960x544, 241 frames
And avoid the fp8 checkpoint file specifically: with the fp8 toggles off it is upcast
to bf16 at load, so a 25 GB file becomes roughly 50 GB in system RAM. It saves disk,
not memory - it is the heaviest host-RAM option on a 3090, which is the opposite of
what it looks like.
I am testing the GGUF path on my own 64 GB box now and will report what I find.
QUESTIONS - these decide whether my theory is right
Exactly which file is in model_file, and what is in checkpoint_path?
(Full filenames please - fp8 vs bf16 vs GGUF changes everything here.)Are fp8_scaled_mm or fp8_transformer enabled?
Is sequential_offload ON or OFF, and what is resident_blocks set to?
What are low_vram and encoder_fp8 set to, and which Gemma file are you using?
(low_vram puts the text encoder on the CPU, which means MORE system RAM, not
less - so if RAM is the ceiling, that toggle can make things worse. That may be
why flipping it changed nothing.)What is your Windows pagefile set to? Settings > System > About > Advanced system
settings > Performance Settings > Advanced > Virtual memory. This is the number
nobody has mentioned yet and it may be the whole story - my machine has a very
large one set years ago, which would have hidden this from me completely.What are the LAST console lines before the crash? The loader prints
"Loading DiT generator..." then "Loading VAEs..." then "Model loaded". Knowing
which of those was last tells me whether it dies in the DiT, the VAEs, or the
encoder. That single detail would narrow this a lot.Are you running the workflow as shipped, or your own graph with these nodes
wired in?What resolution, frame count, and number of shots?
Mesmorize - yes, please do try ComfyUI's embedded Python. For reference my rig
runs Python 3.13 with the same torch you have (2.11.0+cu130), so torch is
probably not the variable, but the environment might be.
If it turns out a larger pagefile fixes it for you, say so - and if it doesn't, say
that too, because that would mean my theory is wrong and I'd rather know quickly
than have you all working around the wrong thing.
Pushed the PageFile to 128GB's, tried all kinds of models/configurations, got the same crash on Python 3.13.12/Torch 2.13+cu130.
[INFO] got prompt
[JoyEcho] PromptSource: example_multishot.json (json, 2 shots, 1 item).
[JoyEcho] RefPicker: no character match (character=''); continuing WITHOUT a reference.
[JoyEcho] LLMEnhance: story_idea is a finished prompts JSON - auto-passthrough (mode widget ignored).
[JoyEcho] LLMEnhance PASSTHROUGH: 2 shots, no LLM call.
[JoyEcho] model_file: full checkpoint W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\models\checkpoints\ltx23_echoVid-ltxAud_surgical_fp8.safetensors.
[JoyEcho] gemma_file: W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\models\text_encoders\gemma_3_12B_it_fp8_scaled.safetensors
[JoyEcho] Loading DiT generator...
[JoyEcho] Loading VAEs...
Windows fatal exception: access violation
Stack (most recent call first):
File "W:\variousapps\ComfyUI_windows_portable_nvidia\python_embeded\Lib\site-packages\torch\storage.py", line 471 in getitem
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\custom_nodes\ComfyUI_JoyAI_Echo_GGUF_Nodes\libs\ltx_core\loader\sft_loader.py", line 36 in load
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\custom_nodes\ComfyUI_JoyAI_Echo_GGUF_Nodes\libs\ltx_core\loader\sft_loader.py", line 66 in load
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\custom_nodes\ComfyUI_JoyAI_Echo_GGUF_Nodes\libs\ltx_core\loader\single_gpu_model_builder.py", line 73 in load_sd
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\custom_nodes\ComfyUI_JoyAI_Echo_GGUF_Nodes\libs\ltx_core\loader\single_gpu_model_builder.py", line 91 in build
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\custom_nodes\ComfyUI_JoyAI_Echo_GGUF_Nodes\libs\ltx_pipelines\utils\model_ledger.py", line 298 in vocoder
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\custom_nodes\ComfyUI_JoyAI_Echo_GGUF_Nodes\libs\ltx_distillation\models\vae_wrapper.py", line 294 in create_vae_wrappers
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\custom_nodes\ComfyUI_JoyAI_Echo_GGUF_Nodes\nodes.py", line 628 in load_model
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\execution.py", line 304 in process_inputs
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\execution.py", line 316 in _async_map_node_over_list
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\execution.py", line 342 in get_output_data
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\execution.py", line 543 in execute
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\execution.py", line 785 in execute_async
File "asyncio\events.py", line 89 in _run
File "asyncio\base_events.py", line 2050 in _run_once
File "asyncio\base_events.py", line 683 in run_forever
File "asyncio\base_events.py", line 712 in run_until_complete
File "asyncio\runners.py", line 118 in run
File "asyncio\runners.py", line 195 in run
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\execution.py", line 725 in execute
File "W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\main.py", line 359 in prompt_worker
File "threading.py", line 995 in run
File "threading.py", line 1044 in _bootstrap_inner
File "threading.py", line 1015 in _bootstrap
Went back to Python 3.10.9/Torch 2.11+cu130
Decided to downgrade transformers from 5.3.0 to 4.57 and that worked.
Reinstalled transformers 5.3.0 and it still worked...
Went back to Python 3.13.12/Torch 2.13+cu130 and installed transformers 4.57 and that also worked.
Most certainly did not work before installing transformers 4.57.
model_file = LTX23-echoVid-ltxAud-Surgical-DiT-Q8_0.gguf
checkpoint_path = ltx23_echoVid-ltxAud_surgical_fp8.safetensors
gemma_file = gemma3-12b-BASE-clean-Q4_0.gguf
[INFO] got prompt
[JoyEcho] PromptSource: example_multishot.json (json, 2 shots, 1 item).
[JoyEcho] RefPicker: disabled via character_pick; emitting no reference.
[JoyEcho] LLMEnhance: story_idea is a finished prompts JSON - auto-passthrough (mode widget ignored).
[JoyEcho] LLMEnhance PASSTHROUGH: 2 shots, no LLM call.
[JoyEcho] model_file: DiT from GGUF W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\models\checkpoints\LTX23-echoVid-ltxAud-Surgical-DiT-Q8_0.gguf; VAEs/vocoder/connectors from checkpoint_path.
[JoyEcho] gemma_file: W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\models\text_encoders\gemma3-12b-BASE-clean-Q4_0.gguf
[JoyEcho] Loading DiT generator...
W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\custom_nodes\ComfyUI_JoyAI_Echo_GGUF_Nodes\rebels_loaders.py:106: UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tensors. This means writing to this tensor will result in undefined behavior. You may want to copy the array to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at C:\actions-runner_work\pytorch\pytorch\torch\csrc\utils\tensor_numpy.cpp:219.)
return torch.from_numpy(data).to(dtype)
[Rebels JE] DiT GGUF swap: matched 1660/1660 Linear layers (3320 tensors kept packed).
[Rebels JE] materialized 0 meta tensors from GGUF.
[Rebels JE] re-bound 2 stale reference(s) to swapped GGUF layers.
[JoyEcho] Loading VAEs...
[JoyEcho] Model loaded. Audio sample rate: 48000
[JoyEcho] Conditioning cache HIT (conds_5c0b66187066a428.pt) - 2 shot(s), encode skipped entirely.
[JoyEcho] 1 reference image(s) prepared as VIDEO-ONLY conditioning clips (256x256); audio lane untouched.
[JoyEcho] Generating 2 shot(s) at 256x256, 241 frames [sequential offload]...
[JoyEcho] Shot 1/2, seed=863909150, memory_size=0
[JoyEcho] Sequential offloading installed: 48 blocks (12 resident on GPU, 36 streamed)
[JoyEcho] injecting 1 reference(s) at shot 1.
[JoyEcho] head-trim: dropped 28 frames from shot 1 (all outputs + per-shot preview).
[JoyEcho] wav via builtin wave (torchaudio + soundfile unavailable: ModuleNotFoundError). Install ffmpeg or soundfile for float-wav output.
[JoyEcho] Shot 0 saved β W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\output\joyecho\shot_000.mp4
[JoyEcho] Shot 1/2 done.
[JoyEcho] Shot 2/2, seed=863909151, memory_size=1
[JoyEcho] Sequential offloading installed: 48 blocks (12 resident on GPU, 36 streamed)
[JoyEcho] head-trim: dropped 14 frames from shot 2 (all outputs + per-shot preview).
[JoyEcho] wav via builtin wave (torchaudio + soundfile unavailable: ModuleNotFoundError). Install ffmpeg or soundfile for float-wav output.
[JoyEcho] Shot 1 saved β W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\output\joyecho\shot_001.mp4
[JoyEcho] Shot 2/2 done.
[JoyEcho] Generation complete. 440 frames, 2 shot(s).
[JoyEcho] AutoFinish: worker spawned for ' multishot' (scale 1.0); upscale jobs will queue after this item. Progress: W:\variousapps\ComfyUI_windows_portable_nvidia\ComfyUI\output\joyecho_autofinish_.log
[INFO] Prompt executed in 116.64 seconds
Awesome, thank you for this, and glad you got it working.
It looks like your transformers 5.3.0 reinstall that still worked was in the Python 3.10.9 / torch 2.11 environment - a separate site-packages entirely. In the environment that actually crashed (3.13.12 / torch 2.13), 5.3.0 was never re-tested.
So the matrix is:
3.13.12 + torch 2.13 + transformers 5.3.0 -> CRASH
3.10.9 + torch 2.11 + transformers 4.57 -> works
3.10.9 + torch 2.11 + transformers 5.3.0 -> works
3.13.12 + torch 2.13 + transformers 4.57 -> works
My reference rig runs Python 3.13.11 + torch 2.11.0+cu130 + transformers 5.3.0 and never crashes. Same transformers, same Python line, DIFFERENT torch. So the variable your data actually isolates is not transformers - it is torch 2.13, on its own or interacting with transformers 5.3.0. torch 2.13 is untested on my side; 2.11 is what this pack is verified against.
If you are willing, there is one cheap experiment that settles it. On your current working setup (3.13.12 / torch 2.13 / transformers 4.57), upgrade transformers back to 5.3.0 and load a model:
python_embeded\python.exe -m pip install "transformers==5.3.0"
- If it crashes: the trigger is transformers 5.3.0 x torch 2.13, and I will warn on that combination at startup.
- If it does NOT crash: your original install was simply broken, and the real advice is "reinstall safetensors", which is a much better answer for everyone else.
Either result is useful. Of course, if you would rather tell me to go screw and keep a working setup, that is totally understandable ;) - I've documented both possibilities in with the workaround.
Rest assured that the environments are completely separate and both would always crash before introducing transformers 4.57.
Already reinstalled transformers 5.3.0 back into each environment and it still works.
Going to try Python 3.13.12/Torch 2.13+cu130 all over again but it will have to be several hrs from now.
I can't run it or get to it right now, but I can say that my pagefile is manually set to a high value.
I am probably NOT using embedded Python for the JoyAI Echo Node. I might have skipped that part of the install.
I am using your public workflow JSON, but I have disabled the LLM portions so that only my manually entered prompt is needed.
Was using: ltx23_echoVid-ltxAud_surgical_fp8.safetensors
Was using: gemma-3-12b-it-ablit-norms-biproj-fp8mixed.safetensors (which is not a GGUF as I mistakenly posted earlier)
1280x720 resolution (I think so), 360 frames at 24fps, 5 shots written in the prompt.
fp8_scaled_mm AND fp8_transformer are both DISABLED
low_vram DISABLED
sequential_offload OFF
resident_blocks set to whatever was default in the workflow
I can't run it or get to it right now, but I can say that my pagefile is manually set to a high value.
I am probably NOT using embedded Python for the JoyAI Echo Node. I might have skipped that part of the install.
I am using your public workflow JSON, but I have disabled the LLM portions so that only my manually entered prompt is needed.
Was using: ltx23_echoVid-ltxAud_surgical_fp8.safetensors
Was using: gemma-3-12b-it-ablit-norms-biproj-fp8mixed.safetensors (which is not a GGUF as I mistakenly posted earlier)
1280x720 resolution (I think so), 360 frames at 24fps, 5 shots written in the prompt.
fp8_scaled_mm AND fp8_transformer are both DISABLED
low_vram DISABLED
sequential_offload OFF
resident_blocks set to whatever was default in the workflow
Several things are working against you at once, and at least two of them are fatal on their own.
sequential_offload OFF is the big one. Without it the entire 22B DiT has to fit in VRAM - about 30 GB. On a 24 GB card that cannot work, and it explains why VRAM looked "untouched" while system RAM filled: the load never got far enough to move much to the GPU. Turn it ON and set resident_blocks to 12. Note the public workflow ships with sequential_offload already ON, so either it was switched off, or your widget values are shifted (see point 5).
The fp8 file with BOTH fp8 toggles disabled is the worst possible RAM case. An fp8 checkpoint loaded with the toggles off is UPCAST TO BF16 at load - so a 25 GB file becomes roughly 50 GB in system RAM. fp8 saves disk, not memory. That is almost certainly what filled your 64 GB.
On a 3090 Ti, fp8_scaled_mm is not an option either (it needs RTX 40/50).
The best configuration for your card:
low_vram = ON (encoder hot-swaps for encode, then leaves VRAM)
gemma_file = gemma3-12b-BASE-clean-Q8_0.gguf (~2.5GB resident, memory-mapped)
model_file = LTX23-echoVid-ltxAud-Surgical-DiT-Q8_0.gguf
sequential_offload = ON
resident_blocks = 12
fp8_scaled_mm / fp8_transformer = OFF
GGUF weights stay packed and memory-mapped instead of being copied into RAM, which sidesteps the whole problem.
360 frames is not a valid length. It must be 8n+1 (121, 241, 361...). The node silently rounds down, so you were actually rendering 353. Use 361.
1280x720 is not valid either - both axes must be divisible by 32, and 720 is not. It gets floored to 704, so you were rendering 1280x704 without being told. Use 1280x704 or 1280x736 deliberately.
"Probably NOT using embedded Python" matters. ComfyUI portable always runs python_embeded, so anything you pip-installed into a system Python is invisible to it.
Always install with:
python_embeded\python.exe -m pip install
This is also worth checking because a version mismatch between the pack and your saved workflow shifts widget values by position - which can make the UI show one thing while the node receives another. If anything looks odd (NaN, absurd numbers), delete the Generate node and re-add it.
For a first successful run I would drop everything to test:
1 shot,
960x544,
121 frames, GGUF + offload ON
resident_blocks 12
Once that completes, scale up. Five shots at 360 frames and 1280x720 is a heavy first attempt even on a working configuration.
It appears to be working now, thanks.
I switched to GGUF transformer and text encoder, and fixed Python and transformers versions.
So far I am testing it with character LORAs designed for LTX 2.3, and so far the likenesses are not very good. I assume the LORAs must be retrained on JoyAI Echo.
Besides that the camera cuts are there, as well as general character and scene shot-to-shot consistency (even if the LORA isn't applying correctly).
Exact Steps: For the ComfyUI Embedded, Python 3.13.12/Torch 2.13+cu130.
Deleted the entire W:\variousapps\ComfyUI_windows_portable_nvidia folder.
Downloaded https://github.com/Comfy-Org/ComfyUI/releases/download/v0.28.0/ComfyUI_windows_portable_nvidia.7z
Extracted ComfyUI_windows_portable_nvidia.7z to W:
SymLinked models, etc.
Command Prompt:
W:
set PATH=W:\ComfyUI_windows_portable\python_embeded;W:\ComfyUI_windows_portable\python_embeded\Scripts;%PATH%
#Verify Python 3.13.12 was listed.
python
CTRL+z
\ComfyUI_windows_portable\python_embeded\python.exe -m pip install triton-windows
Downloaded python_3.13.2_include_libs.zip
Extracted python_3.13.2_include_libs.zip to W:\ComfyUI_windows_portable\python_embeded
Command Prompt:
W:
set PATH=W:\ComfyUI_windows_portable\python_embeded;W:\ComfyUI_windows_portable\python_embeded\Scripts;%PATH%
#Verify Python 3.13.12 was listed.
python
CTRL+z
mkdir \ComfyUI_windows_portable\ComfyUI\input\joyecho_prompts
cd \ComfyUI_windows_portable\ComfyUI\custom_nodes
git clone https://github.com/rgthree/rgthree-comfy
git clone https://github.com/M1kep/ComfyLiterals
git clone https://github.com/evanspearman/ComfyMath
git clone https://github.com/RealRebelAI/ComfyUI_JoyAI_Echo_GGUF_Nodes
git clone https://github.com/pythongosssss/ComfyUI-Custom-Scripts
git clone https://github.com/yolain/Comfyui-Easy-Use
git clone https://github.com/city96/ComfyUI-GGUF
git clone https://github.com/kijai/ComfyUI-KJNodes
git clone https://github.com/Lightricks/ComfyUI-LTXVideo
git clone https://github.com/kosinkadink/ComfyUI-VideoHelperSuite
cd \ComfyUI_windows_portable\ComfyUI
\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -r \ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyMath\requirements.txt
#This is where transformers 5.13.1 gets uninstalled and 4.57.6 takes it's place.
\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -r \ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_JoyAI_Echo_GGUF_Nodes\requirements.txt
\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -r \ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Easy-Use\requirements.txt
\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -r \ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-GGUF\requirements.txt
\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -r \ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-KJNodes\requirements.txt
\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -r \ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-LTXVideo\requirements.txt
\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -r \ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\requirements.txt
\ComfyUI_windows_portable\python_embeded\python.exe -m pip install kornia==0.6.12
Downloaded https://huggingface.co/joeygambino/joyai-echo-multishot-workflow/blob/main/ComfyUI_JoyAI_Echo_v1.5_COMPLETE.zip
Extracted ComfyUI_JoyAI_Echo_v1.5_COMPLETE.zip/ComfyUI_JoyAI_Echo_GGUF_Nodes to \ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_JoyAI_Echo_GGUF_Nodes
Downloaded https://huggingface.co/joeygambino/joyai-echo-multishot-workflow/resolve/main/workflow/example_multishot.json to \ComfyUI_windows_portable\ComfyUI\input\joyecho_prompts
Downloaded https://huggingface.co/joeygambino/joyai-echo-multishot-workflow/resolve/main/workflow/JoyEcho_Multishot_Workflow_PUBLIC.json
Finally launched ComfyUI and loaded the JoyEcho_Multishot_Workflow_PUBLIC.json
After some configuration, it worked.
Repeated everything all over again, only this time, skipped, installing ComfyUI_JoyAI_Echo_GGUF_Nodes requirements.txt and this resulted in the workflow running into the rope_type error and never going any further.
#transformers 5.13.1 produced AttributeError: 'SiglipVisionModel' object has no attribute 'vision_model'
#transformers 5.3.0/5.4.0 produced KeyError: 'rope_type'
\ComfyUI_windows_portable\python_embeded\python.exe -m pip install transformers==5.3.0
Installed transformers==4.57 followed by transformers==5.3.0 and the workflow works.
Thanks for coming back and following up. That last detail was helpful as it clears up something I had marked as "still unknown" in the docs.
So the takeaway is pretty simple: transformers 5.3.0 works on torch 2.13. I originally wasn't sure whether the earlier crashes were caused by torch 2.13, transformers 5.3.0, or the combination of the two. Turns out it was neither - it was just a broken install.
Also, the whole "install 4.57 first, then upgrade to 5.3.0" thing turned out to be a coincidence, and that's on me. The node pack's requirements.txt still pins transformers>=4.50,<4.58, even though the code itself already supports 5.x.
The patch includes compatibility shims for both of the major 5.x changes:
- _patch_gemma3_rope_compat() in rebels_loaders.py handles the RoPE changes where the per-layer attributes moved into rope_parameters.
- It also handles the flattened SiglipVisionModel layout introduced in transformers 5.x.
So the pack itself is perfectly happy on 5.x. The confusing part is that running pip install -r requirements.txt quietly downgrades you back to 4.57. That made it look like the install order mattered, when what actually mattered was reinstalling everything into ComfyUI's embedded Python.
For anyone who runs into this later, these are the commands that matter:
python_embeded\python.exe -m pip install -r custom_nodes\ComfyUI_JoyAI_Echo_GGUF_Nodes\requirements.txt
python_embeded\python.exe -m pip install "transformers==5.3.0"
Based on this thread and my own testing, here's where things stand now:
4.57 Works (this is what the requirements file installs)
5.3.0 Works (confirmed on my torch 2.11 setup and your torch 2.13 setup)
5.4.0 Works after a clean reinstall
5.13.1 Broken AttributeError on SiglipVisionModel
I've updated the instructions with the version table and the embedded Python install step, and I also added it to the README's quick-fix section so hopefully the next person finds it in a minute instead of after a couple days of troubleshooting.
Thanks again for posting your results.