Nodes/ComfyUI_agilly1989_motorway/StableZero123_Conditioning_motorway_edition
ComfyUI Node

StableZero123_Conditioning_motorway_edition

Conditioning a single-view 3D render

By agilly1989·Created 2 years ago·Updated about a year ago· 7
StableZero123_Conditioning_motorway_edition
  • MOTORWAY 🚌💨
  • MOTORWAY 🚌💨
INPUT_clip_vision_keyclip_vision
INPUT_init_image_keyinit_image
INPUT_vae_keyvae
width256
height256
batch_size1
elevation0.0
azimuth0.0
OUTPUT_positive_keypositive
OUTPUT_negative_keynegative
OUTPUT_latent_keylatent

Stable Zero123 is Stability's "image to 3D view" model: give it one picture of an object and it renders that object from a different angle. StableZero123_Conditioning is the node that turns your init image, a CLIP vision encoder, a VAE, and a requested camera angle into the conditioning + latent the sampler needs. This is the Motorway edition - all three inputs come out of the pipe by key, and the outputs go back in.

The way it works: your image is processed through CLIP vision (which extracts the "what am I looking at" signal), the VAE encodes it into the latent space the model samples in, and your elevation/azimuth numbers tell the model which direction to pretend the camera moved. Run that through the sampler and you get the object rotated to your requested view. For a 3D-looking single frame of a subject, it's a fun, distinct result - not a true 3D mesh, but a view synthesis.

What to set

  • INPUT_clip_vision_key (default clip_vision) - the CLIP vision model (the Zero123 variant).
  • INPUT_init_image_key (default init_image) - the input image of your object.
  • INPUT_vae_key (default vae) - the VAE matching your Zero123 checkpoint.
  • width / height (default 256 × 256) - output latent size. Zero123 is a low-res model; don't crank this.
  • batch_size (default 1) - how many views to generate.
  • elevation (default 0, -180 to 180) - camera tilt, in degrees.
  • azimuth (default 0, -180 to 180) - camera rotation around the object.
  • OUTPUT_positive_key / OUTPUT_negative_key (defaults positive / negative) - where the generated conditioning goes.
  • OUTPUT_latent_key (default latent) - where the encoded latent goes.

Output is the MOTORWAY with positive, negative, and latent stored, ready to feed a KSampler.

Installing it

cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway

Restart; it's under agilly1989 Nodes → Motorway-ed → conditioning → 3d_models. Manager has the pack. No pip dependencies.

Where people get burned

Model pairing matters: the CLIP vision encoder and VAE must match the Zero123 checkpoint you loaded, or the conditioning and latent won't align and you'll get mushy results. Also, the model was trained on relatively centered, clean product-style shots - feed it a busy scene and the "rotate the object" trick gets confused because it doesn't know what the object is.

On the Motorway side: keys are case-sensitive and exact. 'MotorwayClass' object has no attribute 'hash_' means a key isn't in the pipe - verify clip_vision, init_image, and vae were written upstream before this node executes. And the pack is beta; the auto-cloned motorway-ed nodes have been toggled on and off across releases, so a vanishing node after update is upstream churn, not a broken install.

Categoryagilly1989 Nodes/Motorway-ed/conditioning/3d_models

Inputs (12)

NameTypeDefaultDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨
INPUT_clip_vision_keySTRINGclip_vision
INPUT_init_image_keySTRINGinit_image
INPUT_vae_keySTRINGvae
widthINT25616–16384
heightINT25616–16384
batch_sizeINT11–4096
elevationFLOAT0.0-180–180
azimuthFLOAT0.0-180–180
OUTPUT_positive_keySTRINGpositive
OUTPUT_negative_keySTRINGnegative
OUTPUT_latent_keySTRINGlatent

Outputs (1)

NameTypeDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨