Nodes/civitai-comfy-nodes/sdxl / comfy / createVariant
ComfyUI Node

sdxl / comfy / createVariant

CreateVariant at 1024px, image in and variant out

By civitai·Created 2 months ago·Updated about a month ago· 42
sdxl / comfy / createVariant
  • model
  • image
  • vae_model
  • loras
  • control_nets
  • api_config
  • images
  • errors
  • workflow_id
  • raw_json
prompt
output_format
image_metadata
negative_prompt
sampler
scheduler
steps30
cfg_scale7.00
seed0
quantity1
width1024
height1024
denoise_strength0.75

This is the img2img node of the SDXL pair, and it's where the "variant" naming finally makes sense. sdxl / comfy / createVariant takes an image, takes your prompt, and produces a variant of that image - the same hosted-pipeline pattern as the SDXL createImage node, but with the one thing that makes it img2img: a required image input and a denoise_strength slider at 0.75. Wire a LoadImage into the image socket, describe the change, and the orchestration job handles the encode, denoise, and decode on Civitai's fleet. Billed in Buzz, results returned as a native IMAGE tensor.

If you've already read the SD1.5 createVariant article, skip ahead - this is the same design at 1024×1024 instead of 512. That resolution difference is exactly why the SDXL version is worth having: SD1.5 img2img is stuck in the low-res band, while SDXL variants keep the detail modern checkpoints actually produce. For restyling an existing render, recoloring, or "make it a version of this" workflows, this is the more useful variant node in the pack.

The inputs that matter

Required: prompt, model (CIVITAI_AIR socket → wire a Civitai Model Selector), and image (IMAGE → wire a LoadImage or any image output).

  • denoise_strength (0.75) - the whole node in one slider. 0.75 restyles while keeping composition; low values give subtle variation; near 1.0 and your input becomes barely more than a color guide. The single most important thing to learn here.
  • negative_prompt - still worth filling in.
  • steps (30) / cfg_scale (7) - SDXL defaults, same as createImage.
  • width / height - 1024×1024 default. Set these to match your input image's aspect ratio - the input gets resized to whatever you choose, and a squashed source is the most common silent quality killer.
  • vae_model / loras / control_nets - CIVITAI sockets from the Selector nodes; a hosted SDXL ControlNet pass over your own image is a legitimately slick trick.
  • sampler / scheduler, quantity, seed, output_format - standard.

Outputs: images (IMAGE), errors, workflow_id, raw_json.

Install and auth

The pack-wide one-time setup. ComfyUI Manager → Civitai Comfy Nodes, or:

cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt

Authenticate (Civitai account with Buzz): export CIVITAI_API_TOKEN=..., a Civitai Auth node, or the sidebar sign-in.

Where people get burned

The required image socket is the thing that trips up first-time users - ComfyUI won't run the graph until it's wired, which is correct behavior, but if you came from the createImage node expecting to just type a prompt, that's the difference. Second: aspect-ratio mismatch, as mentioned. Third and most honest: you're paying per variant call for a model class you can run locally with the free ComfyUI img2img nodes. This node earns its keep when you're on a machine without SDXL-class VRAM or when you want the exact checkpoint from the Civitai browser wired in with zero file management. Otherwise the local path is free, faster, and private - and the pack itself doesn't pretend otherwise.

CategoryCivitai/Image/sdxl/comfy

Inputs (19)

NameTypeDefaultDescription
promptSTRING
modelCIVITAI_AIR
imageIMAGEEither A URL, A DataURL or a Base64 string
output_formatoptCOMBO4 options: , jpeg, png, webP
image_metadataoptSTRINGExternal metadata that will be stored with the image
negative_promptoptSTRING
sampleroptCOMBO32 options: , euler, euler_ancestral, euler_cfg_pp, euler_ancestral_cfg_pp, heun, +26
scheduleroptCOMBO8 options: , normal, karras, exponential, sgm_uniform, simple, +2
stepsoptINT301–150
cfg_scaleoptFLOAT7.000–30
seedoptINT00–4294967295
quantityoptINT11–12
vae_modeloptCIVITAI_AIR
lorasoptCIVITAI_LORAS
control_netsoptCIVITAI_CONTROLNETS
widthoptINT102464–2048
heightoptINT102464–2048
denoise_strengthoptFLOAT0.750–1
api_configoptCIVITAI_CONFIGOptional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login.

Outputs (4)

NameTypeDescription
imagesIMAGE
errorsSTRING
workflow_idSTRING
raw_jsonSTRING