Nodes/Easy Use Anima/EasyKSampler (Full) - Anima
ComfyUI Node

EasyKSampler (Full) - Anima

The sampler with a plan B baked in

By nobinBB·Created 2 months ago·Updated 6 days ago· 3
EasyKSampler (Full) - Anima
  • pipe
  • model
  • positive
  • negative
  • latent
  • vae
  • clip
  • image
  • pipe
  • image
  • model
  • positive
  • negative
  • latent
  • vae
  • clip
  • steps
  • cfg
  • seed
  • sampler_name
  • scheduler
◄steps20►
◄cfg8.0►
◄sampler_name▾►
◄scheduler▾►
◄denoise1.00►
◄image_output▾►
◄link_id0►
◄save_prefixComfyUI►
◄seed0►

Two things make this node worth its name. It works whether or not ComfyUI-Easy-Use is installed, and it hands you the sampler and scheduler it actually used as output sockets - which is what makes faithful metadata in the saver possible.

Why you'd reach for it

Anima is the 2026 anime base from Circlestone Labs: a 2B Cosmos-Predict2 DiT with a Qwen3-0.6B text encoder and the Qwen Image VAE. It runs on 6GB cards but it is not fast, and it wants a specific recipe - 30 to 50 steps, CFG 4 to 5, er_sde as the neutral sampler, with euler_a softer and dpmpp_2m_sde_gpu more creative.

You can do all of that on a bare core KSampler node. What you lose is the pipe flow: ComfyUI-Easy-Use threads a PIPE_LINE dict through its loader/sampler line, so model, vae, clip and the latent ride one wire instead of four. That's a real readability win on a graph where a second pass, an upscale and a save node all need the same components - with the usual caveat that a bundled pipe hides which version of each value is inside it, so anything you're actively iterating on is better kept as an explicit wire.

Easy-Use itself has been a well-liked pack since 2024 - its pipe and set/get nodes were the fix people reached for when SDXL workflows got slow and unreadable. This wrapper doesn't replace it; it extends it for Anima.

How it works

If ComfyUI-Easy-Use is installed, the node finds Easy-Use's easy fullkSampler class and delegates to it, preserving all of that node's optional inputs. If it isn't installed, it transparently uses ComfyUI's core common_ksampler, plus the core VAE decode, preview and save paths. You don't get a different node depending on your install; you get the same node with fewer optional sockets.

On top of that it makes three fixes for Anima workflows: when you override the model through the optional model input, the model that was actually used is written back into pipe["model"] and out of the model output (upstream can leave the old one in the pipe); steps and cfg are exposed as outputs right above seed; and sampler_name and scheduler are exposed as COMBO outputs. Those last two are read live from ComfyUI's standard KSampler lists, so samplers and schedulers registered by other extensions show up too - including RES4LYF's, which is where Anima's favourite painterly scheduler (beta) comes from.

Inputs that matter

Required: pipe (from the loader), steps, cfg, sampler_name, scheduler, denoise, image_output (Hide / Preview / Save / Hide&Save / Sender / Sender&Save / None), link_id, save_prefix.

Optional: seed, plus overrides - model, positive, negative, latent, vae, clip and image (the img2img entry point, VAE-encoded internally).

The defaults are where beginners get hurt. steps comes up as 20 and cfg as 8. 20 steps is thin on Anima and CFG 8 is well past the 4–5 it's tuned around - leave them and expect something crunchy. Set cfg near 4, steps 30–50, and pick er_sde with a simple or beta scheduler as your baseline. And remember that negative conditioning does nothing at CFG 1 - if you drop to CFG 1 for a Turbo or distilled LoRA, your negative prompt is silently skipped.

denoise is 1.0 for a first pass. The second pass after a latent upscale wants roughly 0.25–0.35, which is the consensus fix for Anima's soft default output.

Outputs

pipe, image, model, positive, negative, latent, vae, clip, steps, cfg, seed, sampler_name, scheduler. The pipe and latent chain into a second sampler for the upscale pass; image is what a save node wants - it's None only when image_output is None, since every other mode still decodes. steps, cfg, seed, sampler_name and scheduler are there to be wired into Anima Prompt Saver so the recorded metadata is the real story.

Note the loader deliberately has no prompt widgets, so positive and negative must come from external text-encoding nodes - the pipe's own conditioning slots arrive as None.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/nobinBB/comfyui-easy-use-anima
pip install piexif

Or ComfyUI Manager → comfyui-easy-use-anima. Restart. ComfyUI-Easy-Use, RES4LYF and Prompt Control are all optional here - this node runs standalone.

Updating gotcha

Version 0.7.0 inserted steps and cfg before the seed output. Output indexes shifted, so an old saved workflow can keep stale links pointing at the wrong socket. After updating, delete this node and add it again, then reconnect steps, cfg, seed, sampler_name and scheduler. If your saver suddenly records a nonsense seed or a scheduler that isn't a scheduler, this is why.

CategoryEasyUse-Anima/Sampler

Inputs (17)

NameTypeDefaultDescription
pipePIPE_LINE—
stepsINT201–10000—
cfgFLOAT8.00–100—
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
denoiseFLOAT1.000–1—
image_outputCOMBO7 options: Hide, Preview, Save, Hide&Save, Sender, Sender&Save, +1
link_idINT00–9223372036854776000—
save_prefixSTRINGComfyUI—
seedoptINT00–18446744073709550000—
modeloptMODEL—
positiveoptCONDITIONING—
negativeoptCONDITIONING—
latentoptLATENT—
vaeoptVAE—
clipoptCLIP—
imageoptIMAGE—

Outputs (13)

NameTypeDescription
pipePIPE_LINE—
imageIMAGE—
modelMODEL—
positiveCONDITIONING—
negativeCONDITIONING—
latentLATENT—
vaeVAE—
clipCLIP—
stepsINT—
cfgFLOAT—
seedINT—
sampler_nameeuler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_2m_sde_heun,dpmpp_2m_sde_heun_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2—
schedulersimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal—