fix: load xpred checkpoints from diffusion models

This commit is contained in:
Codex
2026-07-06 16:52:40 +08:00
parent 08e82a3eb6
commit 8d5d3be3a0
2 changed files with 4 additions and 17 deletions
+2 -2
View File
@@ -31,13 +31,13 @@ export RUM_ANIMA_XPRED_ROOT=/path/to/RUM-anima-xpred
Put model files under ComfyUI's normal `models/` folders:
```text
ComfyUI/models/anima_xpred/ xpred-adapter-checkpoint.safetensors
ComfyUI/models/diffusion_models/ xpred-adapter-checkpoint.safetensors
ComfyUI/models/text_encoders/ qwen_3_06b_base.safetensors
ComfyUI/models/vae/ qwen_image_vae.safetensors
```
The loader uses ComfyUI dropdowns for these files instead of absolute path text boxes.
The x-pred checkpoint is loaded directly through the normal Anima DiT loader, so a separate base DiT file is not required.
The x-pred checkpoint is an Anima DiT checkpoint and is loaded directly through the normal Anima DiT loader, so it belongs in the same `diffusion_models` folder as ordinary Anima DiT files. A separate base DiT file is not required.
## Nodes
+2 -15
View File
@@ -12,7 +12,6 @@ import torch
NODE_ROOT = Path(__file__).resolve().parent
XPRED_FOLDER = "anima_xpred"
def _backend_root() -> Path:
@@ -46,18 +45,6 @@ from rum_xpred.anima import anima_euler_step, make_shifted_sigma_schedule, xpred
from rum_xpred.cache_batches import make_seeded_eps_batch
def _register_model_folders() -> None:
try:
import folder_paths
folder_paths.add_model_folder_path(XPRED_FOLDER, str(Path(folder_paths.models_dir) / XPRED_FOLDER))
except Exception:
pass
_register_model_folders()
def _model_names(folder_name: str, placeholder: str) -> list[str]:
try:
import folder_paths
@@ -199,7 +186,7 @@ class AnimaXPredModelLoader:
def INPUT_TYPES(cls):
return {
"required": {
"checkpoint": (_model_names(XPRED_FOLDER, "put_xpred_checkpoint_in_models_anima_xpred.safetensors"),),
"checkpoint": (_model_names("diffusion_models", "put_xpred_checkpoint_in_models_diffusion_models.safetensors"),),
"text_encoder": (_model_names("text_encoders", "put_qwen_text_encoder_in_models_text_encoders.safetensors"),),
"vae": (_model_names("vae", "put_qwen_image_vae_in_models_vae.safetensors"),),
"prediction_type": (["x", "v"], {"default": "x"}),
@@ -228,7 +215,7 @@ class AnimaXPredModelLoader:
fp8: bool,
fp8_scaled: bool,
):
checkpoint_path = _model_path(XPRED_FOLDER, checkpoint)
checkpoint_path = _model_path("diffusion_models", checkpoint)
text_encoder_path = _model_path("text_encoders", text_encoder)
vae_path = _model_path("vae", vae)
for label, path in {