sd1 / sdcpp / createVariant
Restyle a picture on any SD 1.5 checkpoint — no downloads, no VRAM
- model
- image
- vae_model
- loras
- embeddings
- api_config
- images
- errors
- workflow_id
- raw_json
The img2img version of the SD 1.5 cloud node. You hand it an image and a prompt, it re-renders that image on the SD 1.5 checkpoint of your choice, running on Civitai's sdcpp fleet rather than your machine. In practice this is the "try a checkpoint on my existing character render" or "run my sketch through 1.5's chaos" node - with the whole 1.5 catalog as the filter, and nothing downloaded.
It's worth being honest about what 1.5 img2img is best at in 2026: restyling, lo-fi draft variation, and anything where you want the model to interpret loosely. If you need pixel-faithful edits, modern editing models do that better - 1.5 variant work is about vibe and iteration, and the cloud billing means you'll want to be deliberate about how many iterations.
How it works
Same Orchestration API client as the rest of the pack, with engine: sdcpp, ecosystem: sd1, operation: createVariant. Your input image gets encoded and used as the starting latent; the sampler walks away from it by an amount controlled by strength. Output arrives as a native ComfyUI IMAGE.
The inputs that matter
- prompt (required) - what you want the variant to be.
- model (required,
CIVITAI_AIR) - wire a Civitai Model Selector, pick any 1.5 checkpoint via its Browse button. - image (required,
IMAGE) - the source to re-render. Anything in your graph:LoadImage, a prior generation, a mask. - strength - the whole game. Low (0.3–0.5) preserves the source with a style pass; high (0.7–0.9) throws the original away almost entirely. On 1.5, even "preserving" is loose - expect the model to do its own thing with your input at anything above ~0.5.
- clip_skip - default 2, matching what most 1.5 checkpoints expect.
- embeddings, negative_prompt, vae_model, loras, u_cache - the same optional toolkit as
createImage, wired through the pack's selector loaders.
Install
Standard pack install: ComfyUI Manager → "Civitai Comfy Nodes" → Install → restart, or clone https://github.com/civitai/civitai-comfy-nodes.git into custom_nodes and pip install -r civitai-comfy-nodes/requirements.txt (only requests), then restart.
Common issues
Credentials first, always: a Civitai Auth node into api_config or the CIVITAI_API_TOKEN env var (key at civitai.com/user/account); headless installs need the env var.
The trap specific to 1.5 variants is over-strength. The model is an old, chaotic base - at 0.8 you're basically re-rolling the dice on a new image that happens to share the palette. If your goal is "same picture, different look," keep strength under 0.5 and remember the output re-renders at the node's width/height (default 512×512), so a high-res input won't come back at the same size.
Billing, one more time: every run is a Buzz charge. With quantity going to 12, a single unattended test batch is an expensive oops. Set it to 1, tune strength, then scale.
Inputs (21)
| 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 | — | |
| clip_skipopt | INT | 20–2147483647 | — |
| u_cacheopt | COMBO | 3 options: , off, normal | |
| widthopt | INT | 51264–2048 | — |
| heightopt | INT | 51264–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 | — |