sdxl / sdcpp / createVariant
Re-render any image on an SDXL checkpoint you don't even have locally
- model
- image
- vae_model
- loras
- embeddings
- api_config
- images
- errors
- workflow_id
- raw_json
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: aLoadImage, 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.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| model | CIVITAI_AIR | — | |
| image | IMAGE | Either A URL, A DataURL or a Base64 string | |
| output_formatopt | COMBO | 4 options: , jpeg, png, webP | |
| image_metadataopt | STRING | External metadata that will be stored with the image | |
| negative_promptopt | STRING | — | |
| sample_methodopt | COMBO | 16 options: , euler, heun, dpm2, dpm++2s_a, dpm++2m, +10 | |
| scheduleopt | COMBO | 12 options: , simple, discrete, karras, exponential, ays, +6 | |
| stepsopt | INT | 201–150 | — |
| cfg_scaleopt | FLOAT | 7.000–30 | — |
| seedopt | INT | 00–4294967295 | — |
| quantityopt | INT | 11–12 | — |
| vae_modelopt | CIVITAI_AIR | — | |
| lorasopt | CIVITAI_LORAS | — | |
| embeddingsopt | CIVITAI_EMBEDDINGS | — | |
| u_cacheopt | COMBO | 3 options: , off, normal | |
| widthopt | INT | 102464–2048 | — |
| heightopt | INT | 102464–2048 | — |
| strengthopt | FLOAT | 0.700–1 | — |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| errors | STRING | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |