NSFW-Wan-UMT5-XXL-V2
Extended UMT5 text encoder for Wan 2.2 video. 767 new tokens + LoRA on encoder layers 21–23.
Repo layout
encoders/
nsfw_wan_umt5_xxl_v2_fp16.safetensors # main fp16
nsfw_wan_umt5_xxl_v2_fp32.safetensors # highest precision
nsfw_wan_umt5_xxl_v2_fp8_e4m3fn_scaled.safetensors # fp8 quantized
nsfw_wan_umt5_xxl_v2_bf16.safetensors # bf16 balanced
nsfw_wan_umt5_xxl_v2_int8-convrot.safetensors # int8 convrot (best quality among INT8 variants)
nsfw_wan_umt5_xxl_v2_int4_convrot.safetensors # int4 convrot (fastest)
nsfw_wan_umt5_xxl_v2_int8.safetensors # int8 standard
new_tokens_v4.json # 767 extended token strings
config.json # vocab_size 257067
tokenizer/ # extended spiece
load_example.py # non-ComfyUI load script
ComfyUI-UMT5-Extended/ # ComfyUI custom node
Vocabulary
| Metric | Stock UMT5 | This model |
|---|------------|------------|
| shared.weight rows | 256,384 | 257,067 |
| New tokens | — | 767 |
| Word | Stock (pieces) | Extended (pieces) |
|------|----------------|---------------------|
| thighjob | 4 | 1 (id 256937) |
| titfuck | 2 | 1 (id 256955) |
| fellatio | 2 | 1 (id 256511) |
| paizuri | 2 | 1 (id 256687) |
| deepthroat | 2 | 1 (id 256444) |
| cowgirl | 2 | 1 (id 256409) |
| blowjob | 1 | 1 (already stock) |
| penis / cock | 1 each | 1 each |
Training stats
- 621 hand-written captions, 192 chars avg
- LoRA: r=8, layers 21–23 q/v, 3.5M trainable params
- V2 vs NSFW-API cosine (same prompt): blowjob 0.91, thighjob 0.88, titfuck 0.84
ComfyUI
1. Download & unzip ComfyUI-UMT5-Extended/ -> ComfyUI/custom_nodes/
2. encoders/*.safetensors -> ComfyUI/models/text_encoders/UMT5_extended/
3. Restart ComfyUI
4. CLIP Loader -> wan -> nsfw_wan_umt5_xxl_v2_fp16.safetensors (or fp8)
Custom node: ComfyUI hardcodes vocab_size: 256384. Extended files need 257067. The node sets this from shared.weight shape automatically.
Manual (no node): edit comfy/text_encoders/umt5_config_xxl.json -> "vocab_size": 257067 (revert to 256384 for stock encoders).
Not using ComfyUI
No custom node. You need vocab_size=257067 and the extended tokenizer.
pip install torch safetensors transformers
python load_example.py