Nodes/ComfyUI EasyUse Anima/Anima AiO Generator
ComfyUI Node

Anima AiO Generator

Anima AiO Generator

By n0va39·Created 3 months ago·Updated a day ago· 24
Anima AiO Generator
  • easy_use_anima_input
  • lora_stack
  • aio_hook
  • image
  • latent
  • metadata_json
generation_settings{"schema":"easyuse_anima_aio_generation_settings","version":4,"mode":"txt2img","sampler":{"backend":"comfy_ksampler","seed":-1,"seed_after_generate":"fixed","steps":32,"cfg":5.0,"sampler_name":"er_sde","scheduler":"simple","denoise":1.0,"spectrum":{"enabled":false,"window_size":2.0,"flex_window":0.25,"warmup_steps":6,"tail_actual_steps":3,"blend_w":0.3,"cheby_degree":3,"ridge_lambda":0.1,"history_size":100,"one_sampler_only":false,"verbose":false,"compat_policy":"conservative"},"spd":{"split_mode":"single","scale":0.5,"sigma":0.7,"adaptive_smc_alpha":0.0},"spectrum_extra":{},"spd_extra":{},"dit_corrections":{"enabled":false,"dcw_mode":"off","dcw_lambda":0.01,"dcw_band_mask":"LL","dcw_calibrator":"(auto-download default)","smc_cfg":false,"adaptive_smc_alpha":0.0,"smc_cfg_lambda":6.0,"cfgpp":false,"cfgpp_lambda":0.0,"fsg":false,"fsg_band_lo":0.59,"fsg_band_hi":0.75,"fsg_k":3,"fsg_d_sigma":0.1,"fsg_gamma":0.0,"replace_existing_cfg":false}},"negpip":{"mode":"off"},"model_patches":{"aura_flow":{"shift":3.0},"dave":{"enabled":false,"mask":"dave_alpha.npz","strength":0.3,"tau":0.1,"stage_scope":{"first_pass":true,"highres":false,"detailer":false,"upscale":false}},"safe_pag":{"enabled":false,"scale":4.0,"block_indices":"18","perturbation_strength":0.75,"head_indices":"","start_percent":0.0,"end_percent":0.7,"rescale":0.2,"rescale_mode":"full","stage_scope":{"first_pass":true,"highres":false,"detailer":false,"upscale":false}},"kj":{"fp16_accumulation":false,"sage_attention":"disabled","sage_allow_compile":false,"sage_stage_scope":{"first_pass":true,"highres":false,"detailer":false,"upscale":false},"torch_compile":{"enabled":false,"backend":"inductor","fullgraph":false,"mode":"max-autotune-no-cudagraphs","dynamic":"false","compile_transformer_blocks_only":true,"dynamo_cache_size_limit":64,"debug_compile_keys":false,"disable_dynamic_vram":true}}},"mod_guidance":{"mode":"prompt_data","profile":"step_i8_skip27","advanced":{"adapter":"(auto-download default)","quality_tags":"highres, best quality, score_7","quality_neg":"score_1, score_2, score_3, worst quality, lowres, old, bad hands, bad anatomy","mod_w":3.0,"mod_start_layer":8,"mod_end_layer":27,"mod_taper":0,"mod_taper_scale":0.25,"mod_final_w":0.0}},"artist_mix":{"mode":"prompt_data","start_percent":0.5,"strength_scale":1.0,"style_gain":1.35,"rms_scale_cap":2.0,"exact_top_k":4,"cluster_count":4,"dominant_isolation":true,"dominant_threshold":0.25},"highres":{"enabled":false,"scale_by":1.5,"upscale_method":"bicubic","multiple":"32","max_long_edge":2560,"steps":20,"inherit_sampler_settings":true,"cfg":8.0,"sampler_name":"euler","scheduler":"simple","denoise":0.25,"spectrum":{"enabled":false,"window_size":2.0,"flex_window":0.2,"warmup_steps":7,"tail_actual_steps":4,"blend_w":0.3,"cheby_degree":3,"ridge_lambda":0.1,"history_size":100,"one_sampler_only":false,"verbose":false,"compat_policy":"conservative"},"dit_corrections":{"enabled":false,"dcw_mode":"off","dcw_lambda":0.02,"dcw_band_mask":"LL","dcw_calibrator":"(auto-download default)","smc_cfg":false,"adaptive_smc_alpha":0.0,"smc_cfg_lambda":6.0,"cfgpp":false,"cfgpp_lambda":0.0,"fsg":false,"fsg_band_lo":0.59,"fsg_band_hi":0.75,"fsg_k":3,"fsg_d_sigma":0.1,"fsg_gamma":0.0,"replace_existing_cfg":false}},"upscale":{"enabled":false,"backend":"usdu","scale_by":2.0,"steps":20,"inherit_sampler_settings":true,"cfg":8.0,"sampler_name":"euler","scheduler":"simple","denoise":0.2,"spectrum":{"enabled":false,"window_size":2.0,"flex_window":0.2,"warmup_steps":7,"tail_actual_steps":4,"blend_w":0.3,"cheby_degree":3,"ridge_lambda":0.1,"history_size":100,"one_sampler_only":false,"verbose":false,"compat_policy":"conservative"},"dit_corrections":{"enabled":false,"dcw_mode":"off","dcw_lambda":0.02,"dcw_band_mask":"LL","dcw_calibrator":"(auto-download default)","smc_cfg":false,"adaptive_smc_alpha":0.0,"smc_cfg_lambda":6.0,"cfgpp":false,"cfgpp_lambda":0.0,"fsg":false,"fsg_band_lo":0.59,"fsg_band_hi":0.75,"fsg_k":3,"fsg_d_sigma":0.1,"fsg_gamma":0.0,"replace_existing_cfg":false},"usdu":{"upscale_model_name":"2x-AnimeSharpV4_Fast_RCAN_PU.safetensors","auto_tile_size":true,"prompt_mode":"full","mode_type":"Linear","auto_tile_target":1024,"auto_tile_min":512,"auto_tile_max":2048,"tile_width":512,"tile_height":512,"mask_blur":8,"tile_padding":32,"seam_fix_mode":"None","seam_fix_denoise":1.0,"seam_fix_width":64,"seam_fix_mask_blur":8,"seam_fix_padding":16,"force_uniform_tiles":true,"tiled_decode":false,"batch_size":1},"resshift":{"scale":"x2","student_name":"(auto-download)","dtype":"bf16","chop":512,"overlap":64,"tile_batch":4}},"postprocess":{"enabled":false,"fit":{"mode":"max_long_edge","max_long_edge":2048,"max_megapixels":4.0,"method":"bicubic"}},"detailer":{"enabled":false,"order":["face","eye"],"sam3":{"context":"load_checkpoint","checkpoint":"sam3.1_multiplex_fp16.safetensors"},"face":{"label":"Face Detailer","enabled":false,"detect_prompt":"face","detect_count":1,"threshold":0.52,"refine_iterations":2,"individual_masks":true,"combined":false,"crop_factor":4.0,"bbox_fill":false,"drop_size":100,"contour_fill":true,"guide_size":1024,"guide_size_for":false,"max_size":2048,"steps":20,"inherit_sampler_settings":true,"cfg":8.0,"sampler_name":"euler","scheduler":"sgm_uniform","denoise":0.33,"feather":5,"noise_mask":true,"force_inpaint":true,"wildcard":"","cycle":1,"alignment":"32","inpaint_model":false,"noise_mask_feather":10,"tiled_encode":false,"tiled_decode":false,"spectrum":{"enabled":true,"window_size":2.0,"flex_window":0.15,"warmup_steps":6,"tail_actual_steps":3,"blend_w":0.3,"cheby_degree":3,"ridge_lambda":0.1,"history_size":100,"one_sampler_only":false,"verbose":false,"compat_policy":"conservative"},"dit_corrections":{"enabled":false,"dcw_mode":"off","dcw_lambda":0.02,"dcw_band_mask":"LL","dcw_calibrator":"(auto-download default)","smc_cfg":false,"adaptive_smc_alpha":0.0,"smc_cfg_lambda":6.0,"cfgpp":false,"cfgpp_lambda":0.0,"fsg":false,"fsg_band_lo":0.59,"fsg_band_hi":0.75,"fsg_k":3,"fsg_d_sigma":0.1,"fsg_gamma":0.0,"replace_existing_cfg":false}},"eye":{"label":"Eye Detailer","enabled":false,"detect_prompt":"eyes","detect_count":1,"threshold":0.5,"refine_iterations":2,"individual_masks":true,"combined":false,"crop_factor":6.0,"bbox_fill":false,"drop_size":40,"contour_fill":true,"guide_size":1024,"guide_size_for":false,"max_size":2048,"steps":20,"inherit_sampler_settings":true,"cfg":8.0,"sampler_name":"euler","scheduler":"sgm_uniform","denoise":0.29,"feather":6,"noise_mask":true,"force_inpaint":true,"wildcard":"","cycle":1,"alignment":"32","inpaint_model":false,"noise_mask_feather":20,"tiled_encode":false,"tiled_decode":false,"spectrum":{"enabled":true,"window_size":2.0,"flex_window":0.15,"warmup_steps":6,"tail_actual_steps":3,"blend_w":0.3,"cheby_degree":3,"ridge_lambda":0.1,"history_size":100,"one_sampler_only":false,"verbose":false,"compat_policy":"conservative"},"dit_corrections":{"enabled":false,"dcw_mode":"off","dcw_lambda":0.02,"dcw_band_mask":"LL","dcw_calibrator":"(auto-download default)","smc_cfg":false,"adaptive_smc_alpha":0.0,"smc_cfg_lambda":6.0,"cfgpp":false,"cfgpp_lambda":0.0,"fsg":false,"fsg_band_lo":0.59,"fsg_band_hi":0.75,"fsg_k":3,"fsg_d_sigma":0.1,"fsg_gamma":0.0,"replace_existing_cfg":false}}},"save":{"enabled":true,"backend":"image_saver","image_saver":{"filename":"%time_%basemodelname","path":"EasyUseAnima/AiO","extension":"webp","lossless_webp":false,"quality_jpeg_or_webp":97,"optimize_png":true,"counter":0,"clip_skip":0,"time_format":"%Y-%m-%d-%H%M%S","save_workflow_as_json":false,"embed_workflow":true,"save_prompt_metadata":true,"additional_hashes":"","additional_hash_bundles":[],"civitai_hash_fetchers":[],"download_civitai_data":false,"easy_remix":true,"custom":""}},"preview":{"intermediate_images":false,"compare_previous":false,"image_feed":true,"feed_count":12}}

Anima is great at following your prompt and famously slow at producing pixels. If you've ever wired the standard Anima stack by hand - CLIP encode, KSampler, VAE decode, latent upscale, detailer, save - you know the tedium is real. Anima AiO Generator is the terminal node of the EasyUse Anima pack: one node that runs conditioning, optional Mod Guidance patch, first-pass sampling, Highres, Detailer, preview, and image saving from a single context socket. It's the node this whole pack exists to feed.

Why you'd reach for it

This is the "everything after the prompt" node. Prompt editing lives upstream in Prompt Studio Advanced v2, model selection lives in Easy Use Anima Input, and the generator just takes that bundled context and does the rest. You get the Anima-recommended defaults without rebuilding the graph every time: 32 steps, CFG 5, er_sde, simple, and a shift of 3.0 that's always applied because it's what the model card asks for. The AiO popup also ships generation profiles - Normal, Turbo (10 steps, CFG 1, er_sde) and Optimized (turns on Spectrum/DCW patches plus KJNodes FP16, SageAttention and Torch Compile) - so switching between quality and speed modes is one button.

How it works

The one input that looks intimidating, generation_settings, is a hidden versioned JSON blob. All the sampler, highres, upscale, detailer, postprocess and save options live in there and are edited through popups, so the node body stays small and old workflows keep working when a field is added. Because the settings serialize as JSON into the workflow, a saved workflow reproduces your exact setup even on a machine that never saw the named profile.

Sampling supports three backends: the built-in comfy_ksampler, or direct calls to KSampler (Spectrum + Mod Guidance Advanced) and KSampler (Spectrum + SPD / SPEED) from ComfyUI-Spectrum-KSampler when that pack is installed. Highres reuses the first-pass sampler by default and only overrides steps and denoise. The detailer path leans on Impact Pack - the SAM3 face/eye detailers run through its machinery, which is why the README lists Impact Pack as a hard dependency for those flows.

The inputs and outputs that matter

  • easy_use_anima_input - the context from Easy Use Anima Input. Required, nothing runs without it.
  • lora_stack - optional; wire LORA_STACK from Anima LoRA Preset here and it's applied to MODEL and CLIP before conditioning.
  • aio_hook - optional extension hook for third-party node packs; compose several with Anima AiO Hook Combine.

Outputs: image (the decoded result), latent (the sampled latent, if you want it for further stages), and metadata_json (a JSON summary for debugging or downstream tooling).

Installing it

The generator ships with the whole pack, so install once:

cd ComfyUI/custom_nodes
git clone https://github.com/n0va39/ComfyUI-EasyUseAnima
cd ComfyUI-EasyUseAnima
pip install -r requirements.txt   # requests + googletrans-py

Restart ComfyUI afterwards. ComfyUI Manager also finds it if you search "ComfyUI EasyUse Anima". For the AiO features specifically, install ComfyUI-Impact-Pack (detailer), ComfyUI-Spectrum-KSampler (Spectrum sampler modes), ComfyUI-KJNodes (optimizations), and ComfyUI-Image-Saver (the default save backend with workflow embedding).

Where people get burned

  • Missing Impact Pack makes the detailer section fail at runtime - it's a custom-node dependency, not a pip one, so it won't install itself.
  • Detailer crops that aren't 32-multiples break ANIMA/Spectrum latent safety. The AiO detailer defaults to alignment 32, but if you're wiring Impact detailers outside the AiO, use Anima Detailer Align Hook.
  • It's just slow. That's Anima, not the node: roughly 10s on a 5090 and over a minute on a 4060 at 1MP. If you're here for speed, the Turbo profile or an 8-step distilled LoRA is the path, and even the Turbo LoRA's fans admit it costs flexibility.
CategoryEasyUse Anima/AiO

Inputs (4)

NameTypeDefaultDescription
easy_use_anima_inputEASY_USE_ANIMA_INPUTContext from Easy Use Anima Input.
generation_settingsSTRING{"schema":"easyuse_anima_aio_generation_settings","version":4,"mode":"txt2img","sampler":{"backend":"comfy_ksampler","seed":-1,"seed_after_generate":"fixed","steps":32,"cfg":5.0,"sampler_name":"er_sde","scheduler":"simple","denoise":1.0,"spectrum":{"enabled":false,"window_size":2.0,"flex_window":0.25,"warmup_steps":6,"tail_actual_steps":3,"blend_w":0.3,"cheby_degree":3,"ridge_lambda":0.1,"history_size":100,"one_sampler_only":false,"verbose":false,"compat_policy":"conservative"},"spd":{"split_mode":"single","scale":0.5,"sigma":0.7,"adaptive_smc_alpha":0.0},"spectrum_extra":{},"spd_extra":{},"dit_corrections":{"enabled":false,"dcw_mode":"off","dcw_lambda":0.01,"dcw_band_mask":"LL","dcw_calibrator":"(auto-download default)","smc_cfg":false,"adaptive_smc_alpha":0.0,"smc_cfg_lambda":6.0,"cfgpp":false,"cfgpp_lambda":0.0,"fsg":false,"fsg_band_lo":0.59,"fsg_band_hi":0.75,"fsg_k":3,"fsg_d_sigma":0.1,"fsg_gamma":0.0,"replace_existing_cfg":false}},"negpip":{"mode":"off"},"model_patches":{"aura_flow":{"shift":3.0},"dave":{"enabled":false,"mask":"dave_alpha.npz","strength":0.3,"tau":0.1,"stage_scope":{"first_pass":true,"highres":false,"detailer":false,"upscale":false}},"safe_pag":{"enabled":false,"scale":4.0,"block_indices":"18","perturbation_strength":0.75,"head_indices":"","start_percent":0.0,"end_percent":0.7,"rescale":0.2,"rescale_mode":"full","stage_scope":{"first_pass":true,"highres":false,"detailer":false,"upscale":false}},"kj":{"fp16_accumulation":false,"sage_attention":"disabled","sage_allow_compile":false,"sage_stage_scope":{"first_pass":true,"highres":false,"detailer":false,"upscale":false},"torch_compile":{"enabled":false,"backend":"inductor","fullgraph":false,"mode":"max-autotune-no-cudagraphs","dynamic":"false","compile_transformer_blocks_only":true,"dynamo_cache_size_limit":64,"debug_compile_keys":false,"disable_dynamic_vram":true}}},"mod_guidance":{"mode":"prompt_data","profile":"step_i8_skip27","advanced":{"adapter":"(auto-download default)","quality_tags":"highres, best quality, score_7","quality_neg":"score_1, score_2, score_3, worst quality, lowres, old, bad hands, bad anatomy","mod_w":3.0,"mod_start_layer":8,"mod_end_layer":27,"mod_taper":0,"mod_taper_scale":0.25,"mod_final_w":0.0}},"artist_mix":{"mode":"prompt_data","start_percent":0.5,"strength_scale":1.0,"style_gain":1.35,"rms_scale_cap":2.0,"exact_top_k":4,"cluster_count":4,"dominant_isolation":true,"dominant_threshold":0.25},"highres":{"enabled":false,"scale_by":1.5,"upscale_method":"bicubic","multiple":"32","max_long_edge":2560,"steps":20,"inherit_sampler_settings":true,"cfg":8.0,"sampler_name":"euler","scheduler":"simple","denoise":0.25,"spectrum":{"enabled":false,"window_size":2.0,"flex_window":0.2,"warmup_steps":7,"tail_actual_steps":4,"blend_w":0.3,"cheby_degree":3,"ridge_lambda":0.1,"history_size":100,"one_sampler_only":false,"verbose":false,"compat_policy":"conservative"},"dit_corrections":{"enabled":false,"dcw_mode":"off","dcw_lambda":0.02,"dcw_band_mask":"LL","dcw_calibrator":"(auto-download default)","smc_cfg":false,"adaptive_smc_alpha":0.0,"smc_cfg_lambda":6.0,"cfgpp":false,"cfgpp_lambda":0.0,"fsg":false,"fsg_band_lo":0.59,"fsg_band_hi":0.75,"fsg_k":3,"fsg_d_sigma":0.1,"fsg_gamma":0.0,"replace_existing_cfg":false}},"upscale":{"enabled":false,"backend":"usdu","scale_by":2.0,"steps":20,"inherit_sampler_settings":true,"cfg":8.0,"sampler_name":"euler","scheduler":"simple","denoise":0.2,"spectrum":{"enabled":false,"window_size":2.0,"flex_window":0.2,"warmup_steps":7,"tail_actual_steps":4,"blend_w":0.3,"cheby_degree":3,"ridge_lambda":0.1,"history_size":100,"one_sampler_only":false,"verbose":false,"compat_policy":"conservative"},"dit_corrections":{"enabled":false,"dcw_mode":"off","dcw_lambda":0.02,"dcw_band_mask":"LL","dcw_calibrator":"(auto-download default)","smc_cfg":false,"adaptive_smc_alpha":0.0,"smc_cfg_lambda":6.0,"cfgpp":false,"cfgpp_lambda":0.0,"fsg":false,"fsg_band_lo":0.59,"fsg_band_hi":0.75,"fsg_k":3,"fsg_d_sigma":0.1,"fsg_gamma":0.0,"replace_existing_cfg":false},"usdu":{"upscale_model_name":"2x-AnimeSharpV4_Fast_RCAN_PU.safetensors","auto_tile_size":true,"prompt_mode":"full","mode_type":"Linear","auto_tile_target":1024,"auto_tile_min":512,"auto_tile_max":2048,"tile_width":512,"tile_height":512,"mask_blur":8,"tile_padding":32,"seam_fix_mode":"None","seam_fix_denoise":1.0,"seam_fix_width":64,"seam_fix_mask_blur":8,"seam_fix_padding":16,"force_uniform_tiles":true,"tiled_decode":false,"batch_size":1},"resshift":{"scale":"x2","student_name":"(auto-download)","dtype":"bf16","chop":512,"overlap":64,"tile_batch":4}},"postprocess":{"enabled":false,"fit":{"mode":"max_long_edge","max_long_edge":2048,"max_megapixels":4.0,"method":"bicubic"}},"detailer":{"enabled":false,"order":["face","eye"],"sam3":{"context":"load_checkpoint","checkpoint":"sam3.1_multiplex_fp16.safetensors"},"face":{"label":"Face Detailer","enabled":false,"detect_prompt":"face","detect_count":1,"threshold":0.52,"refine_iterations":2,"individual_masks":true,"combined":false,"crop_factor":4.0,"bbox_fill":false,"drop_size":100,"contour_fill":true,"guide_size":1024,"guide_size_for":false,"max_size":2048,"steps":20,"inherit_sampler_settings":true,"cfg":8.0,"sampler_name":"euler","scheduler":"sgm_uniform","denoise":0.33,"feather":5,"noise_mask":true,"force_inpaint":true,"wildcard":"","cycle":1,"alignment":"32","inpaint_model":false,"noise_mask_feather":10,"tiled_encode":false,"tiled_decode":false,"spectrum":{"enabled":true,"window_size":2.0,"flex_window":0.15,"warmup_steps":6,"tail_actual_steps":3,"blend_w":0.3,"cheby_degree":3,"ridge_lambda":0.1,"history_size":100,"one_sampler_only":false,"verbose":false,"compat_policy":"conservative"},"dit_corrections":{"enabled":false,"dcw_mode":"off","dcw_lambda":0.02,"dcw_band_mask":"LL","dcw_calibrator":"(auto-download default)","smc_cfg":false,"adaptive_smc_alpha":0.0,"smc_cfg_lambda":6.0,"cfgpp":false,"cfgpp_lambda":0.0,"fsg":false,"fsg_band_lo":0.59,"fsg_band_hi":0.75,"fsg_k":3,"fsg_d_sigma":0.1,"fsg_gamma":0.0,"replace_existing_cfg":false}},"eye":{"label":"Eye Detailer","enabled":false,"detect_prompt":"eyes","detect_count":1,"threshold":0.5,"refine_iterations":2,"individual_masks":true,"combined":false,"crop_factor":6.0,"bbox_fill":false,"drop_size":40,"contour_fill":true,"guide_size":1024,"guide_size_for":false,"max_size":2048,"steps":20,"inherit_sampler_settings":true,"cfg":8.0,"sampler_name":"euler","scheduler":"sgm_uniform","denoise":0.29,"feather":6,"noise_mask":true,"force_inpaint":true,"wildcard":"","cycle":1,"alignment":"32","inpaint_model":false,"noise_mask_feather":20,"tiled_encode":false,"tiled_decode":false,"spectrum":{"enabled":true,"window_size":2.0,"flex_window":0.15,"warmup_steps":6,"tail_actual_steps":3,"blend_w":0.3,"cheby_degree":3,"ridge_lambda":0.1,"history_size":100,"one_sampler_only":false,"verbose":false,"compat_policy":"conservative"},"dit_corrections":{"enabled":false,"dcw_mode":"off","dcw_lambda":0.02,"dcw_band_mask":"LL","dcw_calibrator":"(auto-download default)","smc_cfg":false,"adaptive_smc_alpha":0.0,"smc_cfg_lambda":6.0,"cfgpp":false,"cfgpp_lambda":0.0,"fsg":false,"fsg_band_lo":0.59,"fsg_band_hi":0.75,"fsg_k":3,"fsg_d_sigma":0.1,"fsg_gamma":0.0,"replace_existing_cfg":false}}},"save":{"enabled":true,"backend":"image_saver","image_saver":{"filename":"%time_%basemodelname","path":"EasyUseAnima/AiO","extension":"webp","lossless_webp":false,"quality_jpeg_or_webp":97,"optimize_png":true,"counter":0,"clip_skip":0,"time_format":"%Y-%m-%d-%H%M%S","save_workflow_as_json":false,"embed_workflow":true,"save_prompt_metadata":true,"additional_hashes":"","additional_hash_bundles":[],"civitai_hash_fetchers":[],"download_civitai_data":false,"easy_remix":true,"custom":""}},"preview":{"intermediate_images":false,"compare_previous":false,"image_feed":true,"feed_count":12}}Hidden versioned JSON storage for popup generation settings. Keep this field serialized.
lora_stackoptLORA_STACKOptional LoRA stack applied to MODEL and CLIP before conditioning and sampling.
aio_hookoptEASYUSE_ANIMA_AIO_HOOKOptional explicit AiO extension hook. See docs/extensions/aio-hooks.en.md.

Outputs (3)

NameTypeDescription
imageIMAGEDecoded generated image.
latentLATENTSampled latent image.
metadata_jsonSTRINGJSON metadata summary for debugging or downstream integration.