Nodes/ComfyTV/Image Variations
ComfyUI Node

Image Variations

Fan one image into a batch of angles or scenes

By jtydhr88·Created 3 months ago·Updated about 15 hours ago· 725
Image Variations
  • image
  • images
  • image
force_run_token0
project_id
parent_output_id0
workflowFace 3-View
variant_count3
main_prompt
selected_index1
custom_params{}

You've got one good image and you want a set from it: the same character from three camera angles, or the next scene in a sequence. Image Variations is the multi-view / sequence fan-out node. It takes a single source image, prepends an angle or sequence keyword to your prompt, and emits a whole batch - so "same person, three views" becomes one Run instead of three hand-rewritten prompts.

ComfyTV is jtydhr88's canvas app (~190 stages, each its own node). Image Variations sits under ComfyTV → Image, and it's the stage you reach for when consistency matters more than novelty: it's built around keeping the subject the same while the framing changes.

How it works

The mechanism is in the workflow combo and the tooltip: "Multi-view (parallel angles) or sequence (chained next-scene) workflow. Each one fans the source image into its own fixed batch." Two flavors:

  • Face 3-View (the default) - multi-view: parallel camera angles of the same subject. Prompt gets an angle keyword prepended per frame.
  • Sequence - chained next-scene: each frame is the "next scene," for storyboard-style continuation.

main_prompt is the subject/scene description, and each frame's prompt gets the angle or sequence keyword prepended automatically - you write the through-line once, the node handles the per-frame variation. variant_count (1–25, default 3) is informational: the count is baked into the chosen workflow, so it tells you how many you'll get rather than being a knob.

Outputs: images (the full batch) and image (the selected_index cell, picked by clicking a thumbnail in the output grid). Wire the batch into a picker to choose your favorite angle.

The hidden inputs, explained once

force_run_token, project_id, parent_output_id, and custom_params are the internal inputs, all marked "Internal" in the schema and populated by the frontend's projectStore for per-node Run. You never set them by hand.

Installing it and getting a model

Same pack, same steps:

cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyTV

or ComfyUI Manager ("ComfyTV"), full backend restart, then ComfyTV → Image.

The pack declares no pip deps, but the default Face 3-View workflow runs on a real model stack. Per the README's models page it's Qwen-Image-Edit 2511 based: the base model in diffusion_models/, a Lightning 4-step LoRA plus a multiple-angles LoRA in loras/ (the angle fanning is exactly what that LoRA does), the Qwen 2.5 VL text encoder in text_encoders/, and the Qwen VAE in vae/ - download links in the models doc. The Sequence workflows swap in a different Qwen base with a "next-scene" LoRA instead. Missing model at run time is the most common failure. And the whole-pack gotcha: on ComfyUI Desktop, macOS, or multiple installs, clone into the running instance by absolute path, verify custom_nodes/ComfyTV/__init__.py isn't nested, and fully restart.

Common issues

  • The views don't look like the same person - multi-view consistency is hard; the workflow's shared-cast/reference setup is your main lever, and a more detailed main_prompt (face, hair, clothing) helps more than a vague one.
  • Fewer/more images than expected - variant_count is informational; the actual count is baked into the workflow. Pick a workflow with the batch size you want.
  • "Missing model" - the checkpoint isn't in your ComfyUI/models/ tree. Download per the models doc.
  • You want more variety, not views - that's not this node. Image Variations is for consistent multi-angle/sequence fans; raw novelty is Image Stage's job.
CategoryComfyTV/Image

Inputs (9)

NameTypeDefaultDescription
force_run_tokenINT00–2147483647Internal — bumped on Run to invalidate ComfyUI's input cache.
project_idSTRINGInternal — populated by the projectStore on the frontend.
parent_output_idINT00–2147483647Internal — lineage parent set by spawn handlers on the frontend.
workflowCOMBOFace 3-ViewMulti-view (parallel angles) or sequence (chained next-scene) workflow. Each one fans the source image into its own fixed batch.
variant_countINT31–25How many images this workflow will produce. Informational — the count is baked into the chosen workflow.
main_promptSTRINGSubject / scene description. Each frame's prompt prepends an angle or sequence keyword automatically.
selected_indexINT11–999Internal — 1-indexed cell pick for image-batch stages. Driven by clicking a thumbnail in the node's output grid.
custom_paramsSTRING{}Internal — JSON of user-defined parameter attachments/values for this node.
imageoptCOMFYTV_IMAGE

Outputs (2)

NameTypeDescription
imagesCOMFYTV_IMAGES
imageCOMFYTV_IMAGE