ComfyUI Node

Arcane_style_trans

Give Any Image the Arcane Look Without Re-Rolling the Prompt

By atluslin·Created about a year ago·Updated about a year ago· 0
Arcane_style_trans
  • image
  • IMAGE
width512
height512

Want the Arcane look, not a dice roll

There are two ways to get the painterly, hand-drawn Arcane style into your renders: re-generate with an Arcane LoRA or checkpoint and pray the prompt lands, or run a style-transfer pass over an image you already like. This node is the second one. It's a one-node wrapper around ArcaneGAN v0.4, a GAN trained on actual frames from the Netflix/Riot show, and it re-paints whatever you feed it in that bold, cel-shaded-with-brushstrokes look. Feed it a portrait, get a Riot splash-art portrait back. Same image every time - no prompt fiddling, no seed roulette. That consistency was the thing people noticed about ArcaneGAN back in 2022 and it still holds.

One honest caveat up front: it's a style pass, not a magic wand. It re-paints the whole image, faces included, so you're committing to the look. It's also GPU-only, which matters - more below.

How the one button works

When the node loads, it pulls in two things: MTCNN (a face detector) and the ArcaneGANv0.4.jit TorchScript model, both parked on CUDA in half precision. When you run it, it detects any face, scales the input so that face is around 256px (capped so it never upscales beyond the original), fits the image to your target resolution while keeping aspect, runs the GAN, and finally resizes to exactly your requested width × height with Lanczos. So the output is always precisely the resolution you asked for - the GAN just does the restyling underneath.

The inputs that matter (there are only three)

  • image - any IMAGE tensor. Wire in your KSampler → VAE Decode output. Note the code does a squeeze(0) on it, so it's single-image only; don't feed it a batch and expect magic.
  • width / height - integers, default 512, range 256–4096 in steps of 8. These set the output size, and 512 is the model's happy place. Going bigger doesn't invent detail; it just Lanczos-upscales the GAN's output, so if you want a large Arcane piece, run this at 512-ish and upscale afterward.

Output is a single IMAGE in the usual 0–1 tensor range - straight into a Save Image or Preview Image node, or anything else that eats images.

Installing it, and the model it won't run without

The easy path: ComfyUI Manager → search comfyui_arcane_style_trans → Install → restart. Or do it by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/atluslin/comfyui_arcane_style_trans
# restart ComfyUI (or reload via Manager)

The requirements (facenet_pytorch, torchvision, Pillow, gradio, tqdm, pystuck) install with the pack. But here's the part everyone misses: the node will not even load until you give it its model. Download ArcaneGANv0.4.jit from the Sxela/ArcaneGAN repo - that's where the pack's (Chinese, one-line) README points - and drop it in:

ComfyUI/custom_nodes/comfyui_arcane_style_trans/models/ArcaneGANv0.4.jit

Miss this and you get a FileNotFoundError on startup. There's also a HuggingFace Gradio space (akhaliq/ArcaneGAN) if you want to try the effect before bothering.

Where people get stuck

  • CPU-only ComfyUI? This node will crash. The model is loaded with .cuda().half() and there's no fallback - if you run without a GPU, skip this one. That's the #1 gotcha and it's baked into the code, not the README.
  • Model path wrong. The file name must be exactly ArcaneGANv0.4.jit in the pack's own models/ folder, not in ComfyUI's main models/ directory.
  • It's an obscure pack. Zero Google impressions, one-line Chinese README, and the category is 🔥🔥🔥ljeasynode🔥🔥🔥/风格化 (that's "stylization"). If you see error spam from the pack, you're mostly on your own - but at ~150 lines of Python, the source is readable enough to debug.

The workflow takeaway: generate your base image, run this once for the Arcane finish, upscale if you want it big. Compared to hunting for the perfect Arcane LoRA and burning twenty seeds, it's one node and a file you download once. Just remember the GPU requirement.

Category🔥🔥🔥ljeasynode🔥🔥🔥/风格化

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
widthINT512256–4096
heightINT512256–4096

Outputs (1)

NameTypeDescription
IMAGEIMAGE