Tech23 min read

Comparing Anima Ref Adapter v2 and Role-Ref-KV on M1 Max: v2 Ran 3x Faster Than Pilot on Turbo and Avoided 4koma Collapse

IkesanContents

On the day I published testing the Base-only Anima Ref Adapter on Turbo, Aesthetic, and 2.9B, Ref Adapter v2 was released.
Ref Adapter is an adapter for Anima designed to preserve character features from a single reference image while changing compositions. In the pilot version, running Turbo models with cfg 1.0 and ref_guidance 4.5 collapsed outputs into 4koma-style comic panels, and Base took 13 minutes per image.
v2 changed its architecture to process the reference image only once, and the README claims roughly twice the speed of pilot.

Around the same time, another adapter designed for single-image character consistency in Anima appeared: AnticPan’s Anima Role Ref KV, which also processes the reference image once and caches the result.
Additionally, ComfyUI-Anima-CharRef-LLLite was released to enable using Ref Adapter concurrently with toyxyz’s 3D pose ControlNet-LLLite.

CharRef-LLLite is built on the assumption of pairing with Ref Adapter.
If the workflow separates duties—using the reference adapter for character features and LLLite for posing—the reference side should conceptually work with either Ref Adapter or Role-Ref-KV.
I tested v2 and Role-Ref-KV under the same conditions as the previous benchmark, and checked whether CharRef-LLLite’s reference side could be replaced with Role-Ref-KV, running ComfyUI on a 64GB M1 Max MacBook Pro.

Overview of Each Node

ItemAnima Ref Adapter v2Anima Role Ref KV v1.0ComfyUI-Anima-CharRef-LLLite
AuthorElectronGirlAnticPanquinteroac
ReleaseOctober 29, 2026 (v2 commit de90631)October 27, 2026 (Initial Hugging Face release)October 29, 2026 (Initial GitHub commit)
Contents1 node (Anima Ref Adapter), rank 64 LoRA (183,605,032 bytes)1 node (Anima Role Ref KV), rank 128 LoRA (528,546,184 bytes, fp32)3 nodes. No model weights
Training15,600 images, 2,300 characters, 1,952 styles. Anima Base v1.0Not specified in README. NSFW excluded from training data—
LicenseNode: Apache-2.0, Weights: CircleStone Non-Commercial LicenseDerivative following CircleStone Non-Commercial LicenseApache-2.0
SourceGitHub, Hugging FaceHugging FaceGitHub

Both reference adapters pass the reference image through the VAE into latent representation, feeding it into the model as a separate sequence of tokens from the generated image.
The reference side is processed at a pristine, noise-free state (timestep 0). Attention key/values across all blocks are computed once and reused across every sampling step.
Because the pilot recalculated the reference image as a second frame on every step, this caching mechanism drives the substantial speed difference.

The differences lie in how reference tokens are handled and where the LoRA patches apply.

ItemRef Adapter v2Role-Ref-KV
Reference RoPE PositionShifted outside the generated image gridAligned with generated image center in X/Y, separated along temporal coordinate
Reference Cross-Attention (Text)BypassedPositive prompt is applied
LoRA Target Layersself_attn, cross_attn, mlp (840 keys)self_attn (q/k/v/out) and mlp (layer1/2) (504 keys). cross_attn excluded
Reference Image SizeDownscaled to ref_megapixels (default 1.0)Downscaled to 768×768 equivalent or lower
SamplerStandard ComfyUI samplers (KSampler, etc.)Built into custom node (Euler, shift 3). Outputs LATENT
Reference StrengthTuned via ref_guidanceNo tuning argument exposed

Role-Ref-KV’s node explicitly rejects patched models (such as models with LoRA or LLLite applied) and models with block counts other than 28.
The error messages are Use an unpatched Anima Base v1.0 MODEL and Expected Anima Base v1.0 (28 blocks), meaning neither Base + Turbo LoRA nor 2.9B runs out of the box.

Recommended settings from their respective READMEs:

ItemRef Adapter v2Role-Ref-KV
Base ModelAnima Base v1.0 (Turbo LoRA also supported)Anima Base v1.0
Samplerer_sde or Euler, 30 steps, simple28 steps (built-in)
cfg4.5 (1 for Turbo LoRA)4
Reference Strengthref_guidance 4.5, APG correction—
ResolutionUnspecified (author examples use 832×1216)~1MP (1024×1024, 832×1216, 1216×832)
PromptingQuality tags + 1girl + solo + scene tags. Avoid character name, artist, or clothing tagsSpecify desired pose, clothing, and scene
UntestedFull Turbo / Aesthetic models untested by authorOther base models, quantization, and additional adapters untested

In Ref Adapter v2’s README, the validated Turbo LoRA is listed as anima-turbo-lora-v0.2.
On October 29, the author of Role-Ref-KV released a demo on Hugging Face Space running Turbo v1.0 / v1.1 (8 steps, CFG 1) and Aesthetic variants, though the released model weights remain v1.0.

Test Environment

ItemSpecification
MachineMacBook Pro M1 Max 64GB (MPS)
UIComfyUI v0.33.3
Ref AdapterNode commit fb587d2, weights anima_ref_adapter_v2_r64.safetensors
Role-Ref-KVHugging Face commit 259a0dc node and anima-role-ref-kv-v1.0.safetensors
CharRef-LLLiteCommit b3a8cb0. LLLite weights: toyxyz/Anima_ControlNet-LLLite anima_3dpose_6200.safetensors
Resolution896×1152 (same as previous benchmark). LLLite section tested at 768×1152
Samplerv2: euler / simple; Role-Ref-KV: built-in Euler
Seed20261027 (seeds 20261028 and 20261029 added in the seed comparison section)
Reference ImagesIdentical to previous benchmark: author sample ref_girl.jpg and Kana-chan full-body portrait
Previous Comparison BaselineRef Adapter pilot (anima_ref_adapter_pilot_r32), reusing images and recorded times from previous post without regeneration

For Ref Adapter’s APG correction, I changed two .double() calls that crash on Apple Silicon MPS to .float(), exactly as in the previous test.
Even with identical seeds, v2 generates initial noise using ComfyUI’s random generator while Role-Ref-KV uses its own internal generator, so the initial noise does not match between the two adapters.

Tested against the same 8 model conditions as last time:

LabelModelv2 Steps / cfg / ref_guidanceRole-Ref-KV Steps / cfgRole-Ref-KV Node Type
Baseanima-base-v1.030 / 4.5 / 4.528 / 4Official
Aesthetic v1.1anima-aesthetic-v1.130 / 4.5 / 4.528 / 4Official
2.9B (Remapped)Anima-2.9B-preview-v130 / 4.5 / 4.528 / 4Patched alias node without checks
2.9B (Raw)Anima-2.9B-preview-v130 / 4.5 / 4.5——
Turbo v1.1anima-turbo-v1.18 / 1.0 / 1.08 / 1Official
Turbo v1.0anima-turbo-v1.08 / 1.0 / 1.08 / 1Official
Base + Turbo LoRAanima-base-v1.0 + anima-turbo-lora-v0.1 (1.0)8 / 1.0 / 1.08 / 1Patched alias node without checks
2.9B Unofficial Turboanima29b-p1-turbo1.18 / 1.0 / 1.08 / 1Patched alias node without checks

For v2 on Turbo models, I adopted ref_guidance 1.0 as the baseline, which previously prevented 4koma collapse on the pilot.
Because Turbo v1.0 and v1.1 are full standalone models, they pass the official Role-Ref-KV node checks.

For Role-Ref-KV’s 3 unsupported setups, I created an alias node solely to bypass the rejection assertions.
The underlying model logic was untouched.
For Base + Turbo LoRA, the Turbo LoRA loaded via ComfyUI’s standard LoRA loader is applied to the model weights before Role-Ref-KV’s internal forward pass executes, allowing it to take effect directly.
For 2.9B, I remapped v2’s LoRA keys to target 40 blocks using the same script as last time.
Since Role-Ref-KV requires LoRA keys for every block, I remapped the existing weights and padded the 12 inserted layers with zeroed LoRA weights.

First, I tested Anima Base using the author’s sample reference image and prompt from the v2 repository.
Role-Ref-KV used the same reference image, configured at its recommended 28 steps and cfg 4.

AdapterTimeResult
v2479.9sBlonde hair with red streaks, black and white outfit. Sitting on a red sofa, bringing a fork to her mouth. Near-identical composition to pilot (785.8s)
Role-Ref-KV299.3sSame character eating cake on a red sofa
v2
Ref Adapter v2 on Base generating cake scene with author sample reference
Role-Ref-KV
Role-Ref-KV on Base generating cake scene with author sample reference

Both adapters preserved hair color, red streaks, and outfit from the reference image, faithfully rendering the scene requested in the prompt.
On the same Base model, v2 took roughly 8 minutes while Role-Ref-KV finished in around 5 minutes.

Prompt
masterpiece, best quality, score_7, newest, highres, absurdres, safe, 1girl, solo, upper body, sitting, eating, cake, cafe, indoors

Negative prompt (shared across all setups):

worst quality, low quality, score_1, score_2, score_3, blurry, jpeg artifacts, chromatic aberration, bad anatomy, bad hands, extra arms, extra fingers, missing fingers, text, watermark, signature, artist name, multiple views, split screen, comic, 2koma, 4koma

Switching the reference image to the Kana-chan full-body illustration, I generated running and cake scenes.

Setupv2 RunningRole-Ref-KV Runningv2 CakeRole-Ref-KV Cake
BaseFull-body facing forward running, filling frame. Two white castles and grassy plainFacing mostly forward running, character smaller, massive cumulonimbus cloud and hilltop castleSitting on red sofa with fork. Matches referenceSame scene. Hair shifts toward vivid orange
Aesthetic v1.1Near-identical composition to BaseNear-identical composition to BaseNear-identical composition to BaseIndoor cafe lighting. Hair is orange-tinted brown
2.9B (Remapped)Near-identical composition to Base. Floating leavesCumulonimbus cloud and castle, running forwardNear-identical composition to BaseNear-identical composition to Base, hair is vivid orange
2.9B (Raw)Collapsed. Brown smoke-like blob and grid noise—Collapsed. Dark translucent silhouette and grid noise—
v2 Base Running
Ref Adapter v2 on Base, running scene
Role-Ref-KV Base Running
Role-Ref-KV on Base, running scene
v2 Aesthetic v1.1 Running
Ref Adapter v2 on Aesthetic v1.1, running scene
Role-Ref-KV Aesthetic v1.1 Running
Role-Ref-KV on Aesthetic v1.1, running scene
v2 2.9B (Remapped) Running
Ref Adapter v2 remapped on 2.9B, running scene
Role-Ref-KV 2.9B (Remapped) Running
Role-Ref-KV remapped on 2.9B, running scene
v2 2.9B (Raw) Running
Ref Adapter v2 raw on 2.9B, running scene collapsed
v2 Base Cake
Ref Adapter v2 on Base, cake scene
Role-Ref-KV Base Cake
Role-Ref-KV on Base, cake scene, hair shifts orange
v2 Aesthetic v1.1 Cake
Ref Adapter v2 on Aesthetic v1.1, cake scene
Role-Ref-KV Aesthetic v1.1 Cake
Role-Ref-KV on Aesthetic v1.1, cake scene
v2 2.9B (Remapped) Cake
Ref Adapter v2 remapped on 2.9B, cake scene
Role-Ref-KV 2.9B (Remapped) Cake
Role-Ref-KV remapped on 2.9B, cake scene
v2 2.9B (Raw) Cake
Ref Adapter v2 raw on 2.9B, cake scene collapsed

Both adapters retained key reference details: the ahoge, side ponytail with a blue scrunchie on the image-right side, white collared shirt, red necktie, black tights, and loafers.
On this seed with Base, the pilot version ended up drawing her from behind; here, both adapters successfully generated her running forward.
v2 framed the character large and front-center, whereas Role-Ref-KV framed her smaller, leaving more space for expansive backgrounds.

Role-Ref-KV showed a distinct tendency in the cake scene: across Base, Aesthetic, and 2.9B, her light brown hair shifted toward bright orange.
In the running scene with the exact same Role-Ref-KV setup, her hair remained light brown, indicating this drift varies depending on scene context.
v2 maintained consistent light brown hair across all tested setups.

2.9B ran successfully on both v2 and Role-Ref-KV once block keys were remapped.
Applying v2 without remapping failed completely, mirroring the pilot’s behavior.

Prompt

Running scene:

masterpiece, best quality, score_7, newest, highres, absurdres, safe, 1girl, solo, full body, running, wind, hair blowing, dynamic pose, fantasy landscape, castle in background, sunset sky, dramatic clouds, grass field

Cake scene:

masterpiece, best quality, score_7, newest, highres, absurdres, safe, 1girl, solo, upper body, sitting, eating, cake, cafe, indoors

Results on Turbo Variants

All 4 Turbo conditions were tested at 8 steps with cfg 1.0; v2 was set to ref_guidance 1.0.

Setupv2 RunningRole-Ref-KV Runningv2 CakeRole-Ref-KV Cake
Turbo v1.1Running forward, castle and dusk sky. Matches referenceRunning forward, right hand to head. Matches referenceRed sofa seat by window. Matches referenceMatches reference. Hair slightly reddish
Turbo v1.0Near-identical composition to Turbo v1.1Castle on hill, running forwardLeft hand to cheek. Matches referenceMatches reference. Hair slightly reddish
Base + Turbo LoRAMatches referenceRight hand raised in fist. Matches referenceMatches referenceHair orange, mouth wide open
2.9B Unofficial TurboMatches referenceMatches referenceMatches referenceMatches reference. Hair slightly reddish
v2 Turbo v1.1 Running
Ref Adapter v2 on Turbo v1.1, running scene
Role-Ref-KV Turbo v1.1 Running
Role-Ref-KV on Turbo v1.1, running scene
v2 Turbo v1.0 Running
Ref Adapter v2 on Turbo v1.0, running scene
Role-Ref-KV Turbo v1.0 Running
Role-Ref-KV on Turbo v1.0, running scene
v2 Base + Turbo LoRA Running
Ref Adapter v2 on Base + Turbo LoRA, running scene
Role-Ref-KV Base + Turbo LoRA Running
Role-Ref-KV on Base + Turbo LoRA, running scene
v2 2.9B Unofficial Turbo Running
Ref Adapter v2 on 2.9B Unofficial Turbo, running scene
Role-Ref-KV 2.9B Unofficial Turbo Running
Role-Ref-KV on 2.9B Unofficial Turbo, running scene
v2 Turbo v1.1 Cake
Ref Adapter v2 on Turbo v1.1, cake scene
Role-Ref-KV Turbo v1.1 Cake
Role-Ref-KV on Turbo v1.1, cake scene
v2 Turbo v1.0 Cake
Ref Adapter v2 on Turbo v1.0, cake scene
Role-Ref-KV Turbo v1.0 Cake
Role-Ref-KV on Turbo v1.0, cake scene
v2 Base + Turbo LoRA Cake
Ref Adapter v2 on Base + Turbo LoRA, cake scene
Role-Ref-KV Base + Turbo LoRA Cake
Role-Ref-KV on Base + Turbo LoRA, cake scene, hair orange
v2 2.9B Unofficial Turbo Cake
Ref Adapter v2 on 2.9B Unofficial Turbo, cake scene
Role-Ref-KV 2.9B Unofficial Turbo Cake
Role-Ref-KV on 2.9B Unofficial Turbo, cake scene

Across all 4 Turbo setups, both adapters produced proper running and cake scenes as instructed.
In the pilot test on this seed, Turbo v1.1 flipped the scrunchie to the left side, while Turbo v1.0 and Base + Turbo LoRA mutated her hairstyle into twin tails.
In this benchmark, both v2 and Role-Ref-KV consistently kept the single side ponytail on image-right across all 4 setups.

Although Role-Ref-KV’s README marks other base models as untested, it functioned properly on both full Turbo models, as well as on Base + Turbo LoRA and 2.9B Unofficial Turbo via the assertion-bypassing alias node.
The reddish hair tendency in the cake scene persisted across Turbo models as well.

Testing if ref_guidance 4.5 Causes 4koma Collapse

In the pilot test, running Turbo models with cfg 1.0 and ref_guidance 4.5 caused all 4 setups to fragment into 4koma comic layouts or completely collapse.
I re-tested the cake scene on v2 with those exact parameters.

SetupTimeResult
Turbo v1.192.5sSingle illustration. Saturation dropped/dull, line art thicker
Turbo v1.092.5sSingle illustration. Shirt tinted light blue, sweat drops
Base + Turbo LoRA90.5sSingle illustration. Beige vest-like overlay appears over shirt
2.9B Unofficial Turbo124.6sSingle illustration. Shirt tinted light cyan
Turbo v1.1
Ref Adapter v2 on Turbo v1.1 with cfg 1.0 and ref_guidance 4.5
Turbo v1.0
Ref Adapter v2 on Turbo v1.0 with cfg 1.0 and ref_guidance 4.5
Base + Turbo LoRA
Ref Adapter v2 on Base + Turbo LoRA with cfg 1.0 and ref_guidance 4.5
2.9B Unofficial Turbo
Ref Adapter v2 on 2.9B Unofficial Turbo with cfg 1.0 and ref_guidance 4.5

None of the 4 setups split into 4koma panels; each produced a cohesive single-frame scene.
However, the visual side effects—dulled colors and blue-tinted shirts—exhibit the same underlying distortion patterns that preceded the pilot’s panel fragmentation.
When ref_guidance != 1.0, v2 evaluates an extra unreferenced model pass at each step, adding the difference scaled by ref_guidance - 1.
At cfg 1.0, this disproportionately amplifies reference guidance alone, exactly as it did in the pilot.
In v2, the composition held intact while the impact manifested primarily in color shifts.
When running Turbo models at cfg 1.0, sticking to ref_guidance 1.0 delivers far more accurate colors faithful to the reference image.

Testing Lying-Down Overhead Perspective

Replicating the previous prompt, I tested an overhead perspective of the character lying supine on a grassy field.

SetupTimeResult
v2 Turbo v1.158.3sLying on back in grassy field with white flowers, knees bent toward foreground. Loafers intact
Role-Ref-KV Turbo v1.192.4sHead at bottom of frame, feet at top. Purple and pink flowers
v2 Base476.4sLying on back with knees bent, near-identical composition to v2 Turbo v1.1. Loafers intact
Role-Ref-KV Base297.6sAngled body on back with knees bent. Loafers intact. Hair leans orange
v2 Turbo v1.1
Ref Adapter v2 on Turbo v1.1, lying on grass viewed from above
Role-Ref-KV Turbo v1.1
Role-Ref-KV on Turbo v1.1, inverted upside-down lying pose
v2 Base
Ref Adapter v2 on Base, lying pose
Role-Ref-KV Base
Role-Ref-KV on Base, lying pose

All 4 outputs successfully translated the standing front portrait into a supine overhead perspective while preserving character identity.
Role-Ref-KV on Turbo v1.1 oriented her inverted with her head at the bottom of the frame, but generating Turbo v1.1 without any adapter in the previous post also produced an inverted orientation.
Even with inverted framing, the ahoge, scrunchie, and tie remained true to the reference.

Prompt
masterpiece, best quality, score_7, newest, highres, absurdres, safe, 1girl, solo, full body, lying on back, on grass, from above, looking at viewer, flowers, daytime

Running Scene Across Different Seeds

In the pilot test, hair consistency broke only on seed 20261027, staying stable across two additional seeds.
Here, I tested seeds 20261028 and 20261029 across the 4 Turbo setups, plus recommended-setting Base and 2.9B (remapped).

Setupv2 s20261028v2 s20261029Role-Ref-KV s20261028Role-Ref-KV s20261029
Turbo v1.1Side ponytailSide ponytailSide ponytail. Black tights become thigh-highs. Hair tips orangeSide ponytail
Turbo v1.0Side ponytailSide ponytailSide ponytailSide ponytail
Base + Turbo LoRASide ponytailSide ponytailSide ponytail. Black tights become thigh-highsSide ponytail
2.9B Unofficial TurboSide ponytailSide ponytailSide ponytail. Smaller character. Hair tips orangeSide ponytail
BaseSide ponytailSide ponytailPonytail and scrunchie lost, shoulder-length hair. Character smallPonytail, scrunchie, and tie lost; black jumper skirt. Hair leans orange
2.9B (Remapped)Side ponytailSide ponytailSide ponytail. Smaller characterNear-identical to Base s20261029. Jumper skirt without tie

“Side ponytail” in the table denotes visual confirmation of the side ponytail with blue scrunchie on image-right under close magnification.
The backward-facing pose that appeared twice out of three seeds on pilot Base did not occur once on either v2 or Role-Ref-KV.

v2 Turbo v1.1 s20261027
Ref Adapter v2 on Turbo v1.1 running, seed 20261027
v2 Turbo v1.1 s20261028
Ref Adapter v2 on Turbo v1.1 running, seed 20261028
v2 Turbo v1.1 s20261029
Ref Adapter v2 on Turbo v1.1 running, seed 20261029
v2 Turbo v1.0 s20261027
Ref Adapter v2 on Turbo v1.0 running, seed 20261027
v2 Turbo v1.0 s20261028
Ref Adapter v2 on Turbo v1.0 running, seed 20261028
v2 Turbo v1.0 s20261029
Ref Adapter v2 on Turbo v1.0 running, seed 20261029
v2 Base + Turbo LoRA s20261027
Ref Adapter v2 on Base + Turbo LoRA running, seed 20261027
v2 Base + Turbo LoRA s20261028
Ref Adapter v2 on Base + Turbo LoRA running, seed 20261028
v2 Base + Turbo LoRA s20261029
Ref Adapter v2 on Base + Turbo LoRA running, seed 20261029
v2 2.9B Unofficial Turbo s20261027
Ref Adapter v2 on 2.9B Unofficial Turbo running, seed 20261027
v2 2.9B Unofficial Turbo s20261028
Ref Adapter v2 on 2.9B Unofficial Turbo running, seed 20261028
v2 2.9B Unofficial Turbo s20261029
Ref Adapter v2 on 2.9B Unofficial Turbo running, seed 20261029
v2 Base s20261027
Ref Adapter v2 on Base running, seed 20261027
v2 Base s20261028
Ref Adapter v2 on Base running, seed 20261028
v2 Base s20261029
Ref Adapter v2 on Base running, seed 20261029
v2 2.9B Remapped s20261027
Ref Adapter v2 on 2.9B Remapped running, seed 20261027
v2 2.9B Remapped s20261028
Ref Adapter v2 on 2.9B Remapped running, seed 20261028
v2 2.9B Remapped s20261029
Ref Adapter v2 on 2.9B Remapped running, seed 20261029
Role-Ref-KV Turbo v1.1 s20261027
Role-Ref-KV on Turbo v1.1 running, seed 20261027
Role-Ref-KV Turbo v1.1 s20261028
Role-Ref-KV on Turbo v1.1 running, seed 20261028
Role-Ref-KV Turbo v1.1 s20261029
Role-Ref-KV on Turbo v1.1 running, seed 20261029
Role-Ref-KV Turbo v1.0 s20261027
Role-Ref-KV on Turbo v1.0 running, seed 20261027
Role-Ref-KV Turbo v1.0 s20261028
Role-Ref-KV on Turbo v1.0 running, seed 20261028
Role-Ref-KV Turbo v1.0 s20261029
Role-Ref-KV on Turbo v1.0 running, seed 20261029
Role-Ref-KV Base + Turbo LoRA s20261027
Role-Ref-KV on Base + Turbo LoRA running, seed 20261027
Role-Ref-KV Base + Turbo LoRA s20261028
Role-Ref-KV on Base + Turbo LoRA running, seed 20261028
Role-Ref-KV Base + Turbo LoRA s20261029
Role-Ref-KV on Base + Turbo LoRA running, seed 20261029
Role-Ref-KV 2.9B Unofficial Turbo s20261027
Role-Ref-KV on 2.9B Unofficial Turbo running, seed 20261027
Role-Ref-KV 2.9B Unofficial Turbo s20261028
Role-Ref-KV on 2.9B Unofficial Turbo running, seed 20261028
Role-Ref-KV 2.9B Unofficial Turbo s20261029
Role-Ref-KV on 2.9B Unofficial Turbo running, seed 20261029
Role-Ref-KV Base s20261027
Role-Ref-KV on Base running, seed 20261027
Role-Ref-KV Base s20261028
Role-Ref-KV on Base running, seed 20261028
Role-Ref-KV Base s20261029
Role-Ref-KV on Base running, seed 20261029
Role-Ref-KV 2.9B Remapped s20261027
Role-Ref-KV on 2.9B Remapped running, seed 20261027
Role-Ref-KV 2.9B Remapped s20261028
Role-Ref-KV on 2.9B Remapped running, seed 20261028
Role-Ref-KV 2.9B Remapped s20261029
Role-Ref-KV on 2.9B Remapped running, seed 20261029

Across all 18 images (6 setups × 3 seeds), v2 maintained the side ponytail, white shirt, red necktie, and black tights exactly as specified in the reference.
Even across different seeds, v2 yielded near-identical framing for any given seed regardless of model variant, consistently placing the character large within the frame.
Out of 18 images with Role-Ref-KV, the hairstyle was lost on 2 Base images and 1 2.9B image, and clothing deviated completely to a jumper skirt on Base and 2.9B on seed 20261029.
With Role-Ref-KV, character sizing and background composition varied by condition even on identical seeds, occasionally introducing localized mutations such as orange-tipped hair or thigh-high stockings.

Swapping Reference Adapters with CharRef-LLLite

CharRef-LLLite is a custom node enabling concurrent use of toyxyz’s 3D pose LLLite (a lightweight ControlNet variant) and Ref Adapter.
While standard LLLite injects residuals into block inputs to guide poses, ComfyUI’s standard LLLite patching assumes only generated image tokens.
When Ref Adapter introduces reference tokens, standard patching fails; CharRef-LLLite resolves this by applying LLLite residuals exclusively to the generated image tokens, as noted in its README.
It supports both v2 and pilot.

For pose input, I used 3dpose_example.png from toyxyz’s repository: a 768×1152 image of a flesh-toned mannequin sitting with one knee raised against a black background.
The reference was Kana-chan’s portrait on Turbo v1.1, 8 steps, cfg 1.0, ref_guidance 1.0 for v2 and pilot, with LLLite strength at 1.0 throughout sampling.

Role-Ref-KV’s official node rejects LLLite-patched models.
Even when routed through the assertion-bypassing alias node, Role-Ref-KV bypasses ComfyUI’s standard forward pass to execute its internal loop, skipping the LLLite patches entirely.
To test this, I wrote an experimental connector node that injects LLLite residuals exclusively into the generated image tokens inside Role-Ref-KV’s internal forward pass.
Mirroring CharRef-LLLite, the residuals are added to self_attn (q/k/v), cross_attn (q), and mlp (layer1 inputs), completely omitting the reference key/value pipeline.

SetupTimeResult
Pose Only (No Reference)36.1sSitting on round stool, one knee raised, right hand on seat. Faithful to mannequin pose. Different character with cat ears, black hair, pink highlights, barefoot
v2 Reference Only (No Pose)50.2sKana-chan. Sitting on floor with both knees hugged up. Loafers intact
Role-Ref-KV Reference Only (No Pose)80.4sKana-chan. Sitting on floor hugging knees with hands and chin on knees. Loafers intact
CharRef-LLLite + v286.4sKana-chan. One knee raised, right hand on floor. Matches pose. Shoes missing, showing black-tights feet
CharRef-LLLite + pilot148.6sKana-chan. Sitting on stone block, one knee raised, right hand on block. Matches pose. Loafers intact
Official Role-Ref-KV + LLLiteErrorUse an unpatched Anima Base v1.0 MODEL; this node loads the Anima Role Ref KV adapter itself
Alias Node + LLLite80.2sHugging knees on floor. Pose ignored, composition near-identical to reference-only
Connector Node + Role-Ref-KV80.3sKana-chan. Sitting on stone block, one knee raised, right hand on block. Matches pose. Loafers intact
Pose Image
toyxyz sample 3D pose image, mannequin seated with one knee raised
Pose Only
3D pose LLLite only, different character matching pose
v2 Reference Only
Ref Adapter v2 reference only, hugging knees pose
Role-Ref-KV Reference Only
Role-Ref-KV reference only, hugging knees pose
CharRef-LLLite + v2
CharRef-LLLite with Ref Adapter v2, matching pose with missing shoes
CharRef-LLLite + pilot
CharRef-LLLite with Ref Adapter pilot, matching pose
Alias Node + LLLite
Role-Ref-KV alias node with LLLite, pose not reflected
Connector Node + Role-Ref-KV
Experimental connector node with Role-Ref-KV and LLLite, matching pose

Pose-only produced a different character, while reference-only defaulted to sitting hugging knees.
In all 3 successful joint setups, Kana-chan adopted the mannequin’s exact posture.
Role-Ref-KV also achieved the same separation of duties once LLLite residuals were restricted to the generated token stream via the connector node.

Only the v2 pairing lost her loafers, rendering bare black-tights feet instead.
Under v2 reference-only without LLLite, loafers were present.

To check whether this was coincidence, I tested seeds 20261028 and 20261029 across the 4 combinations on Turbo v1.1.

Setups20261027s20261028s20261029
CharRef-LLLite + v2Sitting on floor. Bare feetSitting on white bench. Loafers intactSitting on green bench. White sneakers
CharRef-LLLite + pilotSitting on stone block. Loafers intactSitting on white bench. Loafers intactSitting on green bench. Loafers intact
Connector Node + Role-Ref-KVSitting on stone block. Loafers intactSitting on white bench. Loafers intactSitting on stone bench. Loafers intact
Alias Node + LLLiteHugging kneesSitting flat on floor (w-sitting)W-sitting. Heart shape
CharRef-LLLite + v2 s20261027
CharRef-LLLite with Ref Adapter v2, seed 20261027
CharRef-LLLite + v2 s20261028
CharRef-LLLite with Ref Adapter v2, seed 20261028
CharRef-LLLite + v2 s20261029
CharRef-LLLite with Ref Adapter v2, seed 20261029
CharRef-LLLite + pilot s20261027
CharRef-LLLite with Ref Adapter pilot, seed 20261027
CharRef-LLLite + pilot s20261028
CharRef-LLLite with Ref Adapter pilot, seed 20261028
CharRef-LLLite + pilot s20261029
CharRef-LLLite with Ref Adapter pilot, seed 20261029
Connector Node + Role-Ref-KV s20261027
Connector node with Role-Ref-KV and LLLite, seed 20261027
Connector Node + Role-Ref-KV s20261028
Connector node with Role-Ref-KV and LLLite, seed 20261028
Connector Node + Role-Ref-KV s20261029
Connector node with Role-Ref-KV and LLLite, seed 20261029
Alias Node + LLLite s20261027
Alias node with Role-Ref-KV and LLLite, seed 20261027
Alias Node + LLLite s20261028
Alias node with Role-Ref-KV and LLLite, seed 20261028
Alias Node + LLLite s20261029
Alias node with Role-Ref-KV and LLLite, seed 20261029

Across all 3 seeds, the 3 functioning combinations sat with one knee raised and hands placed behind, matching the mannequin.
The unpatched alias node ignored the mannequin across all 3 seeds.
v2’s footwear varied on every seed—bare feet, loafers, and white sneakers—rendering loafers on only 1 out of 3 runs.
pilot and Role-Ref-KV preserved loafers across all 3 seeds.

Because LLLite was trained on Base, I also tested the pose on Base.
v2 ran at 30 steps, cfg 4.5, ref_guidance 4.5; Role-Ref-KV ran at 28 steps, cfg 4.

SetupTimeResult
CharRef-LLLite + v2403.3sOne knee raised, right hand on floor. Matches pose. Shoes missing, black-tights feet
Connector Node + Role-Ref-KV261.1sSitting on white bench, one knee raised, right hand on bench. Matches pose. Loafers intact
CharRef-LLLite + v2 Base
CharRef-LLLite and Ref Adapter v2 on Base
Connector Node + Role-Ref-KV Base
Connector node and Role-Ref-KV on Base

On Base as well, v2 dropped the loafers while Role-Ref-KV retained them.

Prompt
masterpiece, best quality, score_7, newest, highres, absurdres, safe, 1girl, solo, full body, sitting, looking at viewer, simple background

Generation Speed Benchmarks

Measured generation times for 896×1152 images on M1 Max 64GB.
v2 computes reference key/values once; subsequent per-step model passes evaluate 1 time for cfg 1.0, ref_guidance 1.0, 2 times for cfg 1.0, ref_guidance 4.5, and 3 times for cfg 4.5, ref_guidance 4.5.
Role-Ref-KV evaluates an unreferenced negative pass on every step even at cfg 1, maintaining 2 passes per step.
The pilot column shows figures from the previous post, where Turbo ref_guidance 1.0 also ran 2 passes per step.

SetupStepsv2Role-Ref-KVpilot (Previous)
Basev2: 30, Role-Ref-KV: 28476.2–480.0s297.5–300.8s~772s
Aesthetic v1.1v2: 30, Role-Ref-KV: 28478.5–482.1s297.5s~771s
2.9B (Remapped)v2: 30, Role-Ref-KV: 28673.5–675.5s422.1–422.2s~1,085–1,095s
Turbo (3 setups), ref_guidance 1.0856.3–60.3s92.4–92.5s174.7–182.8s
Turbo (3 setups), ref_guidance 4.5890.5–92.5s—~209–219s
2.9B Unofficial Turbo, ref_guidance 1.0880.5–82.4s128.7–130.7s245.1–255.1s
2.9B Unofficial Turbo, ref_guidance 4.58124.6s—~293–301s

The 3 Turbo setups encompass Turbo v1.1, Turbo v1.0, and Base + Turbo LoRA.
Since Role-Ref-KV lacks ref_guidance, its Turbo rows reflect cfg 1.
In the previous post, generating without any reference adapter took 262.7s on Base and roughly 38–40s on Turbo.

Compared to pilot, v2 ran roughly 1.6x faster on Base and 3x faster on Turbo with ref_guidance 1.0.
Because the pilot times were recorded on a different day, I re-ran the Turbo v1.1 ref_guidance 1.0 running scene consecutively in the order pilot, v2, and pilot on the same day.
Pilot clocked 184.5s and 178.5s, while v2 clocked 56.2s, confirming the ~3x acceleration held within the same session.
Running v2 on Turbo v1.1 takes about 1 minute, only ~20s slower than generating without any reference adapter.
Under recommended settings, Role-Ref-KV ran faster than v2, completing Base in roughly 5 minutes.
On Turbo, however, because Role-Ref-KV evaluates 2 passes per step even at cfg 1, it ran slower than v2 at ref_guidance 1.0.

Which One to Choose

GoalRecommendation
Fastest generation on Turbo modelsRef Adapter v2 (cfg 1.0, ref_guidance 1.0)
Generation on Base / Aesthetic with recommended settingsSpeed favors Role-Ref-KV. However, hair color, hair style, and clothing drifted on certain seeds; v2 yielded higher overall fidelity to the reference image
Pairing with standard ComfyUI samplers, other LoRAs, or custom nodesRef Adapter v2. Official Role-Ref-KV nodes reject patched models
2.9B modelsBoth require LoRA key remapping for 40 blocks. Role-Ref-KV additionally requires bypassing node checks
Combining with 3D pose controlCharRef-LLLite with v2 or pilot. v2 occasionally shifted footwear. Role-Ref-KV cannot be combined out of the box with the distributed nodes

References