Zura V3 · Saved angle
Reload a Planned Camera Angle Without Regenerating It
- IMAGE
A multicam plan is only worth anything if the render pass is looking at the same nine angle stills you picked from. Zura V3 · Saved angle is how that happens: it reads a previously generated angle picture off disk and hands it back as an image.
One frame out, three widgets in. Unglamorous, and load-bearing.
Inputs
project and signature are strings - exactly the ones in the plan JSON that Zura V3 · Pick camera angles produced. angle_id is an integer 1–9, matching the 3×3 grid: 1–3 are the left/front/right wide row, 4–6 medium, 7–9 close.
The output is IMAGE. Wire it wherever a single reference still is wanted - that's usually the picture slot of a video-model reference chain.
Where the file comes from
The planning pass writes ComfyUI/output/zura_multicam_v3/<project>/<signature>/angle_<id>.png, alongside source.png and a manifest.json. The signature isn't the filename of your video; it's a 16-character hash over the frame shape and sampled pixels of the first, middle and last frames. That's what makes the plan clip-specific, and it's why re-trimming or re-encoding the source quietly invalidates everything you planned.
Validation here is strict in a good way. signature must match exactly sixteen lowercase hex characters or you get Invalid source signature. A missing file gives you Missing saved angle N. Run Plan angles first. - a message that names the fix instead of the symptom, which is rarer than it should be.
Do you wire this yourself?
Normally no. Zura V3 · H3 multicam render expands one of these internally for every angle the plan actually uses, and passes the project and signature out of the plan JSON. You'd reach for it manually when you're building a take by hand, or when you want to re-render one angle outside the multicam flow - the saved stills are just PNGs in your output folder, and this node is the tidy way to pull them back in without a LoadImage and a path you'll typo.
It's also a decent debugging tool. Plan a clip, open the project folder, and you can see exactly which still was used for which angle - nine PNGs with predictable names. When a render comes back with the wrong camera, that's where you find out whether the plan was wrong or the render was.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/ZURAVFX/ComfyUI_zura_nodes
Restart ComfyUI, or add Zura Nodes through ComfyUI Manager. This node needs nothing beyond the pack: no models, no extra pip packages. It does need the planning pass to have run at least once, because there is no fallback - no saved angle means an error, not a blank image.
The two ways to get a missing-angle error
First, you changed the source. Any trim, re-encode or different frame count changes the signature and therefore the folder. Re-run the planning pass. Second, you typed the project or signature by hand and got a character wrong; copy them out of the plan JSON rather than retyping, especially the signature. project is also sanitised when written - anything outside letters, digits, _ and - becomes -, and it's truncated at 48 characters - so a fancy project name in the gallery won't be the folder name on disk.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| project | STRING | — | |
| signature | STRING | — | |
| angle_id | INT | 11–9 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |