Nodes/ComfyUI EasyUse Anima/Anima Prompt Studio Advanced v2
ComfyUI Node

Anima Prompt Studio Advanced v2

The prompt editor that speaks one clean socket

By n0va39·Created 3 months ago·Updated a day ago· 24
Anima Prompt Studio Advanced v2
    • EASYUSE_ANIMA_PROMPT_DATA
    use_naiafalse
    consume_naia_on_queuetrue
    use_anima_mod_guidancefalse
    resolution_bucket1024
    resolution_size1024 * 1024 (1:1)
    resolution_custom_width1024
    resolution_custom_height1024
    pin_trigger_tags_to_frontfalse
    advanced_fields[{"id":"positive_quality","pane":"positive","type":"quality","label":"Quality Tags","text":"newest, masterpiece, best quality, score_8, score_7:, highres, absurdres, very aesthetic","height":72,"enabled":true},{"id":"positive_artist","pane":"positive","type":"artist","label":"Artist Tags","text":"","height":72,"enabled":true},{"id":"positive_trigger","pane":"positive","type":"trigger","label":"Trigger Words","text":"","height":72,"enabled":true,"pin":true},{"id":"positive_general","pane":"positive","type":"general","label":"General Tags","text":"","height":150,"enabled":true},{"id":"positive_trailing","pane":"positive","type":"general","label":"General Tags","text":"location, (A highly aesthetic Pixiv style illustration, clean composition, high-quality digital art, detailed background, sharp focus on facial expressions.:0.6)","height":72,"enabled":true},{"id":"negative_general","pane":"negative","type":"general","label":"General Tags","text":"","height":120,"enabled":true}]
    use_negative_anima_mod_guidancefalse
    wildcard_mode일반
    wildcard_seed0
    wildcard_seed_after_generatefixed
    artist_mix_modeoff
    artist_mix_start_percent0.50
    artist_mix_strength_scale1.00
    artist_mix_style_gain1.35
    artist_mix_rms_scale_cap2.00
    artist_mix_exact_top_k4
    artist_mix_cluster_count4
    artist_mix_dominant_isolationtrue
    artist_mix_dominant_threshold0.25

    The original Anima Prompt Studio Advanced spat out a wall of ten string outputs - positive, negative, mod-guidance quality tags, metadata, width, height, two booleans. It worked, but every downstream node had to accept that exact shape. Prompt Studio Advanced v2 is the pack's response to its own success: same editor, one output socket. It emits a single EASYUSE_ANIMA_PROMPT_DATA dict, and the whole new AiO flow is built around it.

    What it is

    This is the editor you'll actually live in. It keeps the reorderable positive/negative field groups from the Advanced node - quality, artist, trigger, general, and a NAIA field - plus resolution buckets, wildcard control, Mod Guidance routing, and artist-mix settings, all driven from popups so the node body stays small. The change is downstream: instead of ten sockets, one dict socket that downstream nodes read by key.

    That dict is the pack's lingua franca now. It stores your prompt fields, the resolved width/height, wildcard-expanded text, Mod Guidance flags, and the artist-mix configuration under named keys. It also carries the old ten values under a compatibility key and mirrors every required v2 input under parameters, so nothing breaks when fields get added later - downstream nodes are told to read keys, not output-slot order.

    The inputs that matter

    Most of the required inputs are internal JSON payloads you shouldn't hand-edit (advanced_fields, resolution_bucket, wildcard_seed, and friends). The ones with real meaning:

    • use_naia - the front-end turns this into the "Fill from NAIA" button on the NAIA field, pulling a fresh random prompt from your local NAIA endpoint.
    • consume_naia_on_queue - one-shot mode. A successful NAIA fill is saved with the request flag off, so a loaded workflow reuses the stored prompt instead of pinging NAIA again. Leave it on.
    • use_anima_mod_guidance and use_negative_anima_mod_guidance - route quality fields out of the main prompt and into the Mod Guidance path (which the AiO Generator applies as a model patch via ComfyUI-Spectrum-KSampler).
    • artist_mix_mode - when it's not off, artist-field text is pulled out of the base prompt and handed to Prompt Data Conditioning to build mixed conditioning branches.

    The output is one socket: EASYUSE_ANIMA_PROMPT_DATA. Connect it to Easy Use Anima Input, and you're done - the whole pipeline reads from the dict.

    A detail people miss

    Wildcards expand at queue time, and if a wildcard in a v2 positive field resolves to a <lora:name:weight> tag, that tag becomes structured LoRA data inside the prompt dict. A connected AiO Generator then applies it automatically after your explicit LoRA stack. Same for A1111/LoraManager-style tags - v2 recognizes them, keeps them structured, and the generator applies them. That's the "prompt embeds its own LoRAs" trick done properly.

    Install and gotchas

    It's in the pack, so:

    cd ComfyUI/custom_nodes
    git clone https://github.com/n0va39/ComfyUI-EasyUseAnima
    cd ComfyUI-EasyUseAnima && pip install -r requirements.txt
    

    then restart ComfyUI (Manager: search "ComfyUI EasyUse Anima").

    Gotchas: the hidden JSON inputs are workflow-schema compatibility - edit them by hand and you'll likely corrupt a workflow. If you open an old workflow that expects the ten string outputs, don't panic: the v1 Advanced node still exists, and the EASYUSE_ANIMA_PROMPT_DATA node (the unpacker) turns a v2 dict back into the old outputs if you need to bridge legacy wiring. If nothing shows up in the NAIA field, that's the NAIA service or the global settings (localhost by default), not this node.

    CategoryEasyUse Anima/Prompt

    Inputs (22)

    NameTypeDefaultDescription
    use_naiaBOOLEANfalseInternal request flag. The front-end exposes this as the NAIA Prompt field's 'Fill from NAIA' button, which fills that field with a fresh NAIA random prompt.
    consume_naia_on_queueBOOLEANtrueInternal one-shot mode. Successful NAIA fills are saved with the request flag off so loaded workflows reuse the stored prompt.
    use_anima_mod_guidanceBOOLEANfalsetrue: positive output excludes quality fields and sends them through the mod guidance quality output.
    resolution_bucketSTRING1024Internal selected latent resolution bucket.
    resolution_sizeSTRING1024 * 1024 (1:1)Internal selected latent resolution, formatted as width * height (ratio).
    resolution_custom_widthINT102432–8192Internal custom latent width. Values are snapped to multiples of 32.
    resolution_custom_heightINT102432–8192Internal custom latent height. Values are snapped to multiples of 32.
    pin_trigger_tags_to_frontBOOLEANfalseLegacy internal flag. Trigger field Pin buttons control trigger placement.
    advanced_fieldsSTRING[{"id":"positive_quality","pane":"positive","type":"quality","label":"Quality Tags","text":"newest, masterpiece, best quality, score_8, score_7:, highres, absurdres, very aesthetic","height":72,"enabled":true},{"id":"positive_artist","pane":"positive","type":"artist","label":"Artist Tags","text":"","height":72,"enabled":true},{"id":"positive_trigger","pane":"positive","type":"trigger","label":"Trigger Words","text":"","height":72,"enabled":true,"pin":true},{"id":"positive_general","pane":"positive","type":"general","label":"General Tags","text":"","height":150,"enabled":true},{"id":"positive_trailing","pane":"positive","type":"general","label":"General Tags","text":"location, (A highly aesthetic Pixiv style illustration, clean composition, high-quality digital art, detailed background, sharp focus on facial expressions.:0.6)","height":72,"enabled":true},{"id":"negative_general","pane":"negative","type":"general","label":"General Tags","text":"","height":120,"enabled":true}]Internal JSON payload for Advanced Prompt Studio fields.
    use_negative_anima_mod_guidanceBOOLEANfalsetrue: negative output excludes negative quality fields and sends them through the negative Mod Guidance output.
    wildcard_modeCOMBO일반General expands deterministically; Sequential uses seed % option_count. Seed control independently decides the next seed.
    wildcard_seedINT00–18446744073709550000Wildcard seed used by Advanced Prompt Studio fields. Browser/public editing and next-seed range: 0..9007199254740991. The Python backend continues accepting uint64 values for legacy workflow validation, but values above the public maximum are best-effort in the browser because JavaScript may already have lost integer precision. Fixed does not intentionally advance a legacy value; increment, decrement, and randomize return the next seed to the public range.
    wildcard_seed_after_generateCOMBOfixedAfter an accepted queue: keep the seed fixed, randomize it, or increment it by one.
    artist_mix_modeCOMBOoffoff: Cost: 1 positive branch. Keeps artist-field text inline in the positive prompt. prompt: Cost: 1 positive branch. Keeps artist-field text inline in the positive prompt. average: Cost: 1 positive branch. Weighted average of artist conditionings; fastest stable mix. delta_rms: Cost: 1 positive branch. Mixes artist deltas from the base prompt and restores RMS style energy; usually stronger than average. hybrid: Cost: top_k + 1 positive branches. Keeps strongest artists as exact branches and compresses the tail with delta_rms; recommended balance. clustered: Cost: about cluster_count plus dominant artists. Groups similar artist deltas and compresses each cluster; useful for many artists. exact: Cost: N positive branches. Most faithful artist-specific model output mix. composite_exact: Cost: N + 1 positive branches. Adds one composite prompt branch plus exact artist branches. late_exact: Cost: base + N late exact branches. Applies exact mixing only after start. average_late_exact: Cost: 1 average branch plus N late exact branches. Fast early mix, exact late refinement. scheduled_average: Cost: scheduled average branches. Changes artist weights across timestep ranges.
    artist_mix_start_percentFLOAT0.500–1Start percent used by late/scheduled artist mix modes.
    artist_mix_strength_scaleFLOAT1.000–5Strength multiplier used by exact artist mix modes.
    artist_mix_style_gainFLOAT1.350–3Style delta gain used by delta_rms, hybrid tail, and clustered compressed branches.
    artist_mix_rms_scale_capFLOAT2.001–5Maximum RMS energy restore scale for delta_rms compressed artist branches.
    artist_mix_exact_top_kINT40–64Hybrid mode keeps this many strongest artists as exact positive branches.
    artist_mix_cluster_countINT41–32Clustered mode compresses non-dominant artists into this many positive branches.
    artist_mix_dominant_isolationBOOLEANtrueClustered mode keeps artists above the dominant threshold as exact branches.
    artist_mix_dominant_thresholdFLOAT0.250–1Clustered dominant isolation threshold based on normalized artist weight.

    Outputs (1)

    NameTypeDescription
    EASYUSE_ANIMA_PROMPT_DATAEASYUSE_ANIMA_PROMPT_DATAStructured prompt data dict for downstream EasyUse Anima nodes.