Anima Batch Start Train
The big red button for batch LoRA training
- TASK_LIST
- ANIMA_TRAIN_CONFIG
- job_id
- train_log
Everything before this node in an AnimaForge workflow is preparation. This is the moment it becomes real: AnimaBatchStartTrain takes your scanned TASK_LIST, the ANIMA_TRAIN_CONFIG from AnimaBatchTrainConfig, and kicks off training for every LoRA in the batch, one folder after another. It's the closest this pack gets to a "go" button.
How it works
Don't picture ComfyUI doing the training. The node shells out: it builds a full sd-scripts command line and runs it through the backend Python that setup_sd_scripts_backend.ps1 installed (backend\sd-scripts\.venv\Scripts\python.exe on Windows), executing scripts\anima_train_network_wrapper.py with your config as flags. The README is honest that this is the same kohya training under a friendlier wrapper - this pack made installation easier, it didn't remove the dependency. Training is strictly sequential (one task at a time), and the ComfyUI queue stays busy until the last LoRA finishes, so don't queue other generations behind it and expect them to jump in.
Each task gets its own log file written to its output folder (<trigger>.train.log), and a shared job record is stored in ~/.cache\comfyui_anima_batch_lora_trainer\state.json. That's what AnimaBatchCheckStatus reads later.
The inputs
Only three:
- TASK_LIST - from AnimaBatchFolderLoader. Empty list → an error string instead of training.
- ANIMA_TRAIN_CONFIG - from AnimaBatchTrainConfig. This is where every real setting lives.
- start_now -
truefires the job.falseis your dry-run switch: it returnsstart_now=false, training was not startedwithout touching anything. Useful when you want to eyeball the wiring before committing an hour of GPU time.
Outputs are job_id (a 12-character id you feed into AnimaBatchCheckStatus) and train_log (the summary). If a task fails and stop_on_error is on in the config, the batch stops at the first failure and the node raises an error with the last 20 log lines - so the log output is where you'll actually read what broke.
Installing it
Same pack install as the rest of AnimaForge: ComfyUI Manager → search "ComfyUI-AnimaForge-Windows", or
cd C:\ComfyUI\custom_nodes
git clone https://github.com/AI-KSK/ComfyUI-AnimaForge-Windows.git
cd ComfyUI-AnimaForge-Windows
powershell -ExecutionPolicy Bypass -File .\scripts\install_windows.ps1 -SetupBackend
-SetupBackend is the important flag here: without the sd-scripts backend venv (cloned into backend\sd-scripts), there's nothing for this node to execute. Also required: the anima-base-v1.0.safetensors diffusion model in ComfyUI\models\diffusion_models, plus qwen_3_06b_base.safetensors and qwen_image_vae.safetensors - Anima's text encoder and VAE are passed in via the config's extra_args.
Common issues
If train_log says ERROR: TASK_LIST is empty, your folder loader ran before this node or pointed at nothing. A missing backend shows up as a "training script not found" error - run the setup script again. People training Anima on 8–12GB cards report runs landing in the 50-minute-to-2-hour range per LoRA, and the single most repeated piece of community advice is to crop your dataset first (training on 2k images will melt a mid-range GPU). Start with training_preset = smoke_test in the config to confirm the whole pipeline works in minutes before you burn real epochs.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| TASK_LIST | TASK_LIST | — | |
| ANIMA_TRAIN_CONFIG | ANIMA_TRAIN_CONFIG | — | |
| start_now | BOOLEAN | true | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| job_id | STRING | — |
| train_log | STRING | — |