Nodes/DARASK Nodes/DARASK Exif Apply (Anima / UNET stack)
ComfyUI Node

DARASK Exif Apply (Anima / UNET stack)

Rebuild a whole Anima stack from one PNG's metadata

By daraskme·Created 4 months ago·Updated 3 months ago· 1
DARASK Exif Apply (Anima / UNET stack)
  • model_override
  • clip_override
  • vae_override
  • model
  • clip
  • vae
  • positive
  • negative
  • positive_text
  • negative_text
  • model_name
  • loras_applied
  • seed
  • cfg
  • sampler_name
  • scheduler
  • steps
  • denoise
  • width
  • height
filepath
fallback_ckpt
positive_prefix
positive_suffix
negative_prefix
negative_suffix
lora_strength_multiplier1.00
skip_loras
fallback_unet
fallback_clip
fallback_clip2
fallback_vae
clip_typestable_diffusion
weight_dtypedefault

Anima (and Flux, Hunyuan, Wan, Qwen-Image) don't use the old one-file checkpoint format. They're a stack: a diffusion model in models/diffusion_models/, a text encoder in models/text_encoders/, a VAE in models/vae/ - three separate files, three separate loaders, plus whatever LoRAs and sampling settings the image was made with. So when you want to upscale or rework an old image and reproduce its exact generation setup, you're usually reconstructing five nodes by hand from memory. That's what this node automates: give it a filepath, and it reads the EXIF/PNGinfo, loads the right MODEL, CLIP and VAE, stacks every LoRA it finds, encodes the prompts, and hands you the whole thing ready for a second pass.

How it works

It's the "Anima / UNET stack" variant, which means it always loads through UNETLoader + CLIPLoader/DualCLIPLoader + VAELoader. It parses the metadata the same way the rest of the pack does - A1111/Forge/Reforge parameters text, ComfyUI's embedded workflow JSON, NovelAI's comment block - then pulls model names, LoRA tags, and the KSampler settings (seed, steps, cfg, sampler, scheduler, denoise) out of it. LoRAs found in prompt tags and in the embedded workflow are merged and deduplicated by basename. The weight_dtype and clip_type widgets get restored from what the source workflow used.

Inputs and outputs

The required input is just filepath - string, typically wired from a folder loader's filepath output. The optional inputs are where the control lives:

  • fallback_unet / fallback_clip / fallback_clip2 / fallback_vae - what to load when the metadata names a file you don't have. Fill these in and the node degrades gracefully instead of erroring.
  • clip_type - the CLIPLoader type, defaulting to stable_diffusion; set qwen_image for Anima.
  • weight_dtype - fp8 options for when you're tight on VRAM.
  • positive_prefix/positive_suffix/negative_prefix/negative_suffix - tweak the prompt without editing the raw text.
  • lora_strength_multiplier and skip_loras - scale or drop LoRAs in bulk.
  • model_override / clip_override / vae_override - wire any of these and that slot wins over metadata; leave the rest to auto-load.

Outputs: model, clip, vae, both positive and negative CONDITIONING, plus the strings and numbers you'd expect - positive_text, negative_text, model_name, loras_applied, seed, cfg, sampler_name, scheduler, steps, denoise, width, height.

Install

Part of the DARASK pack - Manager, search DARASK, install, restart. The only Python dependency is piexif, which the pack's requirements.txt installs for you. No model downloads; the node just reads your existing folders.

Where it sits in a workflow

The README's signature recipe: DARASK Folder Image Loader → DARASK Exif Apply (Anima) → easy hiresFix for batch upscaling a folder of Anima gens, with seed/steps/cfg wired into a pre-sampler so each image gets re-sampled with its own settings. If your source images are SDXL/SD1.5-era one-file checkpoints, use the SDXL variant instead - and if you're not sure which your folder is, the Auto-detect variant decides for you per image.

CategoryDARASK

Inputs (17)

NameTypeDefaultDescription
filepathSTRING
model_overrideoptMODEL
clip_overrideoptCLIP
vae_overrideoptVAE
fallback_ckptoptSTRING
positive_prefixoptSTRING
positive_suffixoptSTRING
negative_prefixoptSTRING
negative_suffixoptSTRING
lora_strength_multiplieroptFLOAT1.000–4
skip_lorasoptSTRING
fallback_unetoptSTRING
fallback_clipoptSTRING
fallback_clip2optSTRING
fallback_vaeoptSTRING
clip_typeoptCOMBOstable_diffusion20 options: stable_diffusion, stable_cascade, sd3, stable_audio, mochi, ltxv, +14
weight_dtypeoptCOMBOdefault4 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2

Outputs (17)

NameTypeDescription
modelMODEL
clipCLIP
vaeVAE
positiveCONDITIONING
negativeCONDITIONING
positive_textSTRING
negative_textSTRING
model_nameSTRING
loras_appliedSTRING
seedINT
cfgFLOAT
sampler_nameSTRING
schedulerSTRING
stepsINT
denoiseFLOAT
widthINT
heightINT