anima
Train an Anima LoRA on the cloud — the anime model that made people switch
- continue_from
- model
- api_config
- moderation_status
- epochs
- workflow_id
- raw_json
Anima is the anime base model that made people actually switch - Circlestone Labs' 2B diffusion transformer on NVIDIA's Cosmos-Predict2, the first anime model since Illustrious whose prompt comprehension doesn't fall over on multi-character scenes. And this node lets you train a LoRA on it without touching a GPU. CivitaiTrainingAiToolkitAnima runs Ostris's AI Toolkit trainer on Civitai's cloud, takes a zip of training images, and hands you a downloadable model per epoch. Buzz in, LoRA out.
It lives in the Civitai/Training/anima menu of Civitai's official ComfyUI pack. The practical pitch: Anima's Qwen3-0.6B text encoder is the reason to train here. Because it never got its world knowledge overwritten by Danbooru tags the way Illustrious/NoobAI did, it handles both tags and natural language in one prompt - so the LoRA you train here is one you can actually invoke with a normal sentence, not just a tag pile.
How it works
The node submits a training workflow (engine: ai-toolkit, ecosystem: anima) to Civitai's Orchestration API. You supply training data as a hosted zip, the cloud runs AI Toolkit, and each epoch yields a checkpoint you can download and wire into an Anima generator. Alongside the SDXL/SD1.5 node, it exposes a model input (a CIVITAI_AIR socket) so you can pick the base model to train upon - wire a Civitai Model Selector there if you want something other than the default Anima base.
The core input is training_data_json, a JSON object pointing at the zip:
{"type": "zip", "sourceUrl": "urn:air:anima:dataset:civitai:123@1", "count": 30}
sourceUrl is an AIR URN to the zip of training images; count is the number of images, which prices the run.
The inputs that matter
- training_data_json (required) - the zip + count object.
- model - optional base-model override via a Civitai Model Selector's
airoutput. - epochs / steps - epochs = saved checkpoints (each a downloadable model), steps = total training length and the pricing driver.
- trigger_word - the token that activates your LoRA in prompts. With Anima you can train it to fire on a plain word or phrase rather than a tag.
- network_dim / network_alpha, lr, batch_size, train_text_encoder, text_encoder_lr - standard trainer dials. Anima's text encoder is small, so training it (
train_text_encoder) is more affordable than on big models and can sharpen prompt adherence. - noise_offset - adds noise to training images; 0 adds none, 1 is strong. Useful for style capture.
The required storage_buzz_per_epoch, default_steps, uses_step_pricing, max_batch_size fields are generated plumbing - leave them.
Outputs: moderation_status, epochs, plus workflow_id and raw_json.
Installing it
This is one of ~160 nodes in Civitai Comfy Nodes, Civitai's official pack for their Orchestration API:
- ComfyUI Manager: Manager → Custom Nodes Manager → search Civitai Comfy Nodes → Install, then restart.
- CLI:
comfy node registry-install civitai-comfy-nodes - Source:
cd ComfyUI/custom_nodes && git clone https://github.com/civitai/civitai-comfy-nodes.git && pip install -r civitai-comfy-nodes/requirements.txt(justrequests).
You need a Civitai account, Buzz, and credentials - a Civitai Auth node, CIVITAI_API_TOKEN for headless, or a stored key via the Civitai sidebar.
Where people get burned
- training_data_json must be valid JSON with
type,sourceUrl, andcount- a malformed object fails locally before it submits. - It's metered, and epochs are the creep line item. Each epoch is a delivered checkpoint plus preview samples with a per-epoch storage surcharge on top of the per-step cost. Watch the cost report after a run.
- Moderation gates the model. Trained LoRAs go through Civitai's content review;
moderation_statusreports the outcome, and the platform's real-person rules apply to your training data too. - Early preview. The README warns of breaking changes without notice; early community reports mention bugs and slow jobs. Long trainings can hit the default 30-minute timeout - raise it via the Auth node or
CIVITAI_COMFY_TIMEOUT.
Anima's still young enough that training LoRAs on it is where the interesting results are. If you don't have the hardware to run a trainer, this is the fastest way to be part of that.
Inputs (24)
| Name | Type | Default | Description |
|---|---|---|---|
| training_data_json | STRING | Represents training data in various formats | |
| storage_buzz_per_epoch | FLOAT | 0.000–2147483647 | Per-epoch surcharge (buzz). Each epoch is a delivered checkpoint plus its preview samples, billed on top of the per-step training cost — so raising the epoch count raises the price by this much each. Override per ecosystem where per-epoch samples are expensive to compute (e.g. video). |
| default_steps | INT | 00–2147483647 | Default total step budget when neither Civitai.Orchestration.Grains.Workflows.Steps.Training.AIToolkit.AIToolkitTrainingInput.Steps nor Civitai.Orchestration.Grains.Workflows.Steps.Training.AIToolkit.AIToolkitTrainingInput.Epochs is supplied. Override per ecosystem where the default training length differs (e.g. video needs more steps, quickly-overtrained models need fewer). |
| uses_step_pricing | BOOLEAN | false | True when billing uses the per-step model. This is the default; the only exception is the legacy path where the caller supplied Civitai.Orchestration.Grains.Workflows.Steps.Training.AIToolkit.AIToolkitTrainingInput.Epochs but no Civitai.Orchestration.Grains.Workflows.Steps.Training.AIToolkit.AIToolkitTrainingInput.Steps (existing consumers), which keeps the historical flat per-epoch price. |
| max_batch_size | INT | 00–2147483647 | Ecosystem-specific maximum training batch size — the upper bound the user's Civitai.Orchestration.Grains.Workflows.Steps.Training.AIToolkit.AIToolkitTrainingInput.BatchSize is clamped to. Most ecosystems cap at 1. |
| samples_jsonopt | STRING | Sample generation configuration for training workflows | |
| epochsopt | INT | 11–200 | Number of training epochs — the number of saved checkpoints produced (each epoch yields one downloadable model). When omitted it is derived from Civitai.Orchestration.Grains.Workflows.Steps.Training.AIToolkit.AIToolkitTrainingInput.Steps; when both are supplied, both are honored (epochs = checkpoint count, steps = total). |
| stepsopt | INT | 11–10000 | Total number of training steps. This is the primary control over training length and determines pricing. When supplied, Civitai.Orchestration.Grains.Workflows.Steps.Training.AIToolkit.AIToolkitTrainingInput.Epochs (the number of saved checkpoints) is derived from it; when omitted, steps are derived from epochs. |
| batch_sizeopt | INT | 11–4 | Training batch size. Defaults to 1; raise it (up to the ecosystem's maximum) to train faster at the cost of more GPU memory. A larger batch sees more images per step, so fewer steps are needed for a comparable result. Values above the ecosystem maximum are clamped down. |
| lropt | FLOAT | 0.000–1 | Sets the learning rate for the model. This is the learning rate when performing additional learning on each attention block (and other blocks depending on the setting). |
| text_encoder_lropt | FLOAT | 0.000–1 | Sets the learning rate for the text encoder. Only used when TrainTextEncoder is true. For models with multiple text encoders, this applies to all of them. |
| train_text_encoderopt | BOOLEAN | false | Whether to train the text encoder(s) alongside the model. Enabling this can improve prompt understanding but increases training time and memory usage. |
| lr_scheduleropt | COMBO | You can change the learning rate in the middle of learning. A scheduler is a setting for how to change the learning rate. | |
| optimizer_typeopt | COMBO | The optimizer determines how to update the neural net weights during training. Various methods have been proposed for smart learning, but the most commonly used in LoRA learning is "adamw8bit". | |
| network_dimopt | INT | 11–256 | The larger the Dim setting, the more learning information can be stored, but the possibility of learning unnecessary information other than the learning target increases. A larger Dim also increases LoRA file size. |
| network_alphaopt | INT | 11–256 | The smaller the Network alpha value, the larger the stored LoRA neural net weights. For example, with an Alpha of 16 and a Dim of 32, the strength of the weight used is 16/32 = 0.5, meaning that the learning rate is only half as powerful as the Learning Rate setting. If Alpha and Dim are the same number, the strength used will be 1 and will have no effect on the learning rate. |
| noise_offsetopt | FLOAT | 0.000–1 | Adds noise to training images. 0 adds no noise at all. A value of 1 adds strong noise. |
| flip_augmentationopt | BOOLEAN | false | If this option is turned on, the image will be horizontally flipped randomly. It can learn left and right angles, which is useful when you want to learn symmetrical people and objects. |
| shuffle_tokensopt | BOOLEAN | false | Randomly changes the order of your tags during training. The intent of shuffling is to improve learning. If you are using captions (sentences), this option has no meaning. |
| keep_tokensopt | INT | 00–10 | If your training images have tags, you can randomly shuffle them. However, if you have words that you want to keep at the beginning, you can use this option to specify "Keep the first 0 words at the beginning". This option does nothing if the Shuffle Tokens option is off. |
| trigger_wordopt | STRING | A trigger word that activates the trained LoRA when used in prompts. Only applicable to certain ecosystems (sd1, sdxl, flux1, chroma, zimagebase, zimageturbo, flux2klein). | |
| continue_fromopt | CIVITAI_AIR | Optional previously-trained LoRA to continue training from ("train further"). When set, the first epoch resumes from this model instead of the base model, and the new epochs build on top of it. | |
| modelopt | CIVITAI_AIR | The primary Anima model to train upon. Custom checkpoints use the base Anima repository as extras. | |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| moderation_status | STRING | — |
| epochs | STRING | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |