StableZero123_Conditioning_motorway_edition
Conditioning a single-view 3D render
- MOTORWAY 🚌💨
- MOTORWAY 🚌💨
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(defaultclip_vision) - the CLIP vision model (the Zero123 variant).INPUT_init_image_key(defaultinit_image) - the input image of your object.INPUT_vae_key(defaultvae) - the VAE matching your Zero123 checkpoint.width/height(default256×256) - output latent size. Zero123 is a low-res model; don't crank this.batch_size(default1) - how many views to generate.elevation(default0, -180 to 180) - camera tilt, in degrees.azimuth(default0, -180 to 180) - camera rotation around the object.OUTPUT_positive_key/OUTPUT_negative_key(defaultspositive/negative) - where the generated conditioning goes.OUTPUT_latent_key(defaultlatent) - 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.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — | |
| INPUT_clip_vision_key | STRING | clip_vision | — |
| INPUT_init_image_key | STRING | init_image | — |
| INPUT_vae_key | STRING | vae | — |
| width | INT | 25616–16384 | — |
| height | INT | 25616–16384 | — |
| batch_size | INT | 11–4096 | — |
| elevation | FLOAT | 0.0-180–180 | — |
| azimuth | FLOAT | 0.0-180–180 | — |
| OUTPUT_positive_key | STRING | positive | — |
| OUTPUT_negative_key | STRING | negative | — |
| OUTPUT_latent_key | STRING | latent | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — |