anima / comfy / createVariant
Anima variants from an existing image — same character, new pose, cloud-rendered
- image
- loras
- diffuser_model
- control_nets
- api_config
- images
- errors
- workflow_id
- raw_json
You've got an image you like and you want the same character redrawn - different expression, different framing, different vibe. That's the whole job of createVariant: Anima's img2img operation, running on the cloud. Same prompt comprehension you get from the text-to-image node, but starting from a source image instead of empty noise.
What it is
A recipe node under Civitai/Image/anima/comfy, sibling to the anima createImage node. Required inputs: prompt and image (an IMAGE socket - the tooltip mentions URL/DataURL/Base64, but on the canvas you wire in a LoadImage or a prior generation). The one extra dial is denoise_strength (default 0.75, 0–1), which controls how much of the source gets replaced. Everything else mirrors createImage: diffuser_model, steps (30), cfg_scale (4), seed, quantity, loras, control_nets, width/height, sampler/scheduler, output_format, image_metadata, api_config.
Outputs: images, errors, workflow_id, raw_json.
How it works
Same imageGen recipe, different operation discriminator. Your source image is packaged with the job, submitted to the orchestration API, and the returned blob is converted back into a native IMAGE in your graph. Locally nothing runs - the 2B Cosmos-Predict2 model lives on Civitai's fleet.
The workflow it's built for is character consistency: keep denoise_strength moderate (0.6–0.8) so the character survives, change the prompt to alter expression or background, and iterate. The KB's character-consistency material is the reference frame here - Anima's prompt adherence is exactly what makes variant-sweeps on one character viable.
Install & gotchas
Standard pack install: Manager → Civitai Comfy Nodes (publisher civitai), or comfy node registry-install civitai-comfy-nodes, or git clone + pip install -r requirements.txt. Auth via env var / OAuth / Civitai Auth node.
The traps:
denoise_strengthis the dial that decides everything. Too high and the character drifts into a different person; too low and you get a barely-different image. Start at 0.75 and adjust in small steps.- Source image leaves your machine. The input uploads with the job. Fine for your own drafts; think twice about anything with real-person likeness or licensing concerns.
- The same license caveat as its parent. Anima is non-commercial (CircleStone license, with the contentious clause the KB details). Cloud vs local doesn't change the terms of what you generate.
- Every variant is billed. A sweep of five seeds is five calls.
raw_jsonhas the cost per run.
Honest take: for iterating on one character, a local Anima install gives you unlimited variants for the price of electricity. This node is the right call when you don't have the card (Anima is slow locally) or you're testing whether the whole workflow is worth building around. Once you know it's your workflow, the math usually favors going local.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| 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 | — | |
| sampleropt | COMBO | 32 options: , euler, euler_ancestral, euler_cfg_pp, euler_ancestral_cfg_pp, heun, +26 | |
| scheduleropt | COMBO | 8 options: , normal, karras, exponential, sgm_uniform, simple, +2 | |
| stepsopt | INT | 301–150 | — |
| cfg_scaleopt | FLOAT | 4.000–30 | — |
| seedopt | INT | 00–4294967295 | — |
| quantityopt | INT | 11–12 | — |
| lorasopt | CIVITAI_LORAS | — | |
| diffuser_modelopt | CIVITAI_AIR | — | |
| control_netsopt | CIVITAI_CONTROLNETS | — | |
| widthopt | INT | 102464–2048 | — |
| heightopt | INT | 102464–2048 | — |
| denoise_strengthopt | FLOAT | 0.750–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 | — |