CSGO_Sampler
One image for the subject, one for the style
- content_image
- style_image
- csgo
- blip_processor
- blip_model
- images
This is the node you actually touch. Feed it a content image (subject, composition) and a style image (the look you want), and out comes one image that keeps the content image's subject and framing while rendering it in the style image's visual language. Same cat, painterly canvas. Same composition, ink-wash rendering. That's the CSGO trick: unlike a single IP-Adapter or plain img2img, it doesn't have to compromise between "keep the content" and "adopt the style" - those are two separate token streams in the model.
How it works
Important reality check: CSGO_Sampler is not running ComfyUI's native sampler. It calls the diffusers CSGO pipeline that CSGO_Loader built, inside the node. Both input images get upscaled to your width/height, then generation runs. Two behaviors catch people out:
- If you've wired in a
Blip_Loader, the content image gets auto-captioned and that caption becomes the prompt - your typed prompt is ignored. BLIP wins. Unplug it if you want your own text. - Set
text_onlyto true and the content image is replaced with a black frame: style transfer from the style image plus your prompt, with no content constraint at all.
Inputs that matter
content_image,style_image- the two references. Everything flows from these.content_scale(default 0.5) andstyle_scale(default 1.0) - how hard each stream pushes. If the output ignores the style, raisestyle_scale(it goes to 10). If it's a mess that abandons the content, dropcontent_scale. These two plus the next one are the dials you'll actually turn.controlnet_scale(default 0.6) - how strongly the tile ControlNet holds the content structure in place. Higher = content sticks better, style has less room.prompt/negative_prompt- used as the caption unless BLIP is connected. The defaults (a sane negative) are fine to keep.cfgdefaults to 10,stepsto 25,width/heightto 1024². The high CFG is a CSGO habit; the defaults are a fine starting point before you tune scales.num_sample,seed- the usual.
Output is a plain images (IMAGE) - the pipeline decodes inside the node, so wire it straight into a Save Image or Preview.
Install
Same pack as the rest: ComfyUI Manager → search ComfyUI_CSGO_Wrapper, or git clone https://github.com/smthemex/ComfyUI_CSGO_Wrapper into custom_nodes and restart. You need CSGO_Loader's models already in place (see the CSGO_Loader page for the full list and token settings). It also needs diffusers + transformers installed - the pack's requirements.txt is fully commented out, so nothing auto-installs.
Where people get burned
- Your prompt is being ignored because a Blip_Loader is connected upstream. Check for it first.
- Black images → attach the SDXL VAE in
CSGO_Loader. Classic symptom of a missing/broken VAE. - Slow, VRAM-hungry. This runs a full diffusers SDXL pipeline per generation, on top of ComfyUI's own memory. CPU offload is on, but on modest GPUs you wait. It's a "let it cook" node, not a fast iteration node.
- The
csgomodel input only accepts whatCSGO_Loaderproduced - don't try to feed it a normal checkpoint.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| content_image | IMAGE | — | |
| style_image | IMAGE | — | |
| csgo | MODEL | — | |
| prompt | STRING | a cat | — |
| negative_prompt | STRING | text, watermark, lowres, low quality, worst quality, deformed, glitch, low contrast, noisy, saturation, blurry | — |
| num_sample | INT | 11–100 | — |
| width | INT | 1024256–4096 | — |
| height | INT | 1024256–4096 | — |
| content_scale | FLOAT | 0.500.1–1 | — |
| style_scale | FLOAT | 1.000.1–10 | — |
| cfg | FLOAT | 10.000.1–30 | — |
| steps | INT | 251–100 | — |
| seed | INT | 42-1–2147483647 | — |
| controlnet_scale | FLOAT | 0.600.1–1 | — |
| text_only | BOOLEAN | false | — |
| blip_processoropt | MODEL | — | |
| blip_modelopt | MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |