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

sdxl / sdcpp / createVariant

Re-render any image on an SDXL checkpoint you don't even have locally

By civitai·Created 2 months ago·Updated about a month ago· 42
sdxl / sdcpp / createVariant
  • model
  • image
  • vae_model
  • loras
  • embeddings
  • api_config
  • images
  • errors
  • workflow_id
  • raw_json
prompt
output_format
image_metadata
negative_prompt
sample_method
schedule
steps20
cfg_scale7.00
seed0
quantity1
u_cache
width1024
height1024
strength0.70

The img2img sibling of the SDXL createImage node. Where the create node starts from noise, this one starts from a picture you feed it: you drop in an image, type what you want it to become, and Civitai's sdcpp engine re-renders it on the SDXL checkpoint you picked. It's the "try my LoRA on this existing render" node - great for restyling, seed-to-seed variation, and testing a checkpoint against a base image before you bother downloading anything.

Same cloud model as the rest of the pack: nothing runs locally, jobs are billed in Buzz, and the output comes back as a native ComfyUI IMAGE that wires straight into a preview or save node.

How it works

It's a createVariant recipe on the Orchestration API (engine: sdcpp, ecosystem: sdxl). Your input image is encoded and sent to the fleet, and the sampler runs with it as the starting latent instead of pure noise. The one control that makes this different from createImage is strength - the amount of the original image that survives into the result.

The inputs that matter

  • prompt (required) - what the variant should look like.
  • model (required, CIVITAI_AIR) - wire a Civitai Model Selector; its Browse button searches generation-capable SDXL checkpoints.
  • image (required, IMAGE) - any image in your graph: a LoadImage, a previous generation, even a mask or crop from elsewhere. This is what gets re-rendered.
  • strength - the key knob. High (0.8–1.0) lets the model run loose and change composition; low (0.3–0.5) keeps the source almost intact and only shifts style. Start around 0.6 and adjust.
  • steps / cfg_scale - 20 / 7 by default, the usual SDXL starting point. On an img2img job the effective work is per-step, so you rarely need more.
  • negative_prompt, loras, embeddings, vae_model, u_cache - same optional inputs as the create node, all fed through the pack's selector loaders.

Install

Standard pack install - Manager search "Civitai Comfy Nodes", or git clone https://github.com/civitai/civitai-comfy-nodes.git into ComfyUI/custom_nodes, pip install -r civitai-comfy-nodes/requirements.txt (just requests), restart.

Common issues

Credential errors dominate here too: wire a Civitai Auth node into api_config or set CIVITAI_API_TOKEN (create it at civitai.com/user/account) if you run headless.

Where people actually get burned is strength + prompt mismatch. Ask for a total rewrite at strength 0.3 and you get a color shift, not a new image; ask for a tiny tweak at 0.9 and you get a different picture entirely. The other classic is feeding a huge image in - the sdcpp engine re-renders at the node's width/height (default 1024×1024), so don't pre-upscale the input and expect the detail to survive.

Also remember each run is a billable Buzz job. It's easy to burn a few dozen Buzz dialing in a strength; it's a feature, not a bug, that the node prints the cost on its face.

CategoryCivitai/Image/sdxl/sdcpp

Inputs (20)

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
sample_methodoptCOMBO16 options: , euler, heun, dpm2, dpm++2s_a, dpm++2m, +10
scheduleoptCOMBO12 options: , simple, discrete, karras, exponential, ays, +6
stepsoptINT201–150
cfg_scaleoptFLOAT7.000–30
seedoptINT00–4294967295
quantityoptINT11–12
vae_modeloptCIVITAI_AIR
lorasoptCIVITAI_LORAS
embeddingsoptCIVITAI_EMBEDDINGS
u_cacheoptCOMBO3 options: , off, normal
widthoptINT102464–2048
heightoptINT102464–2048
strengthoptFLOAT0.700–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