Render the set from a new angle
Give it the picked main image of an empty set and where a new camera stands; get the
same set, empty, from that camera, with the same design, materials, light, screen
content and signage. Make one angle per camera position the script needs, then stage the
cast into the picked angles with nano-banana-stage-cast-in-set. The main image comes
from nano-banana-design-empty-set; without a picked one, start there.
Inputs
- The picked main image at full size (
sets/<set>/raw/main_<letter>.png, the 2K render, not the 1080p copy). - One camera note per angle, written into the job folder
(
sets/<set>/angles/<name>.md): where the camera stands, what it looks at, the lens, what fills the frame, and which shots it serves. "From behind the contestant's chair, eye level, 35mm: the LED wall fills the upper two thirds…" - Optional extra references, after the main image: the brand swatch with its note, and
crops of single elements from the main image for reverse angles (below). Make a crop
with the
--boxoption ofpython-conform-to-1080p,--sizeequal to the box.
Run it
Call describe("fal/fal-ai/nano-banana-pro/edit") before the first run in a job. The
main image is always first in image_urls:
run("fal/fal-ai/nano-banana-pro/edit", {
"prompt": "<the prompt below>",
"image_urls": ["sets/<set>/raw/main_d.png", "references/brand/lime_swatch.png"],
"aspect_ratio": "16:9", "resolution": "2K", "num_images": 1,
"output_format": "png", "safety_tolerance": "5"
}, into="sets/<set>/angles/raw", unit="host_podium")
One take per angle to start, three for a reverse angle. Angles are independent calls:
start them all with wait: false, then follow them with tasks(wait: true, calls: [...], until: "any"). A take that fails (a network error, the content filter) doesn't
lose the others; run it again as soon as it fails and it takes the next letter. Save
each prompt beside its take, then conform every take to 1920x1080 with
python-conform-to-1080p.
Prompt
The proven template; <kind> as in the main image's prompt:
Image 1 is the main image of a <kind>. Photograph the SAME set again from a different camera position:
<the camera note>
This is the same physical set on the same day: every element keeps its exact design, shape, materials, colours, lighting, screen content and signage from Image 1, and its position relative to the other elements. Work out from Image 1 where each element stands and show only what this camera would actually see from where it stands: elements behind the camera or out of its view are absent; elements the main image could not show (backs of furniture, the other side of the room) are designed to match the rest of the set.
Image 2 is <note>
Image 3 is <note>
The set is empty: no people anywhere. Photorealistic, the same light, haze and colour grade as Image 1, sharp detail. Any lettering is crisp and spelled exactly as in Image 1.
Leave out the Image 2… lines when there are no extra references.
Reverse angles flip furniture
A camera behind a piece of furniture tends to come back with the piece turned to face it, or with the set redesigned. For a view from behind the host podium, these fixed it:
- Crops of the podium and the desk from the main image as extra references: "Image 2 is the host podium as the audience sees it, its front; this camera sees it from behind."
- In the camera note, which way the piece's lit face points, and where the audience is relative to the frame ("the podium's lit front faces away from us, toward the audience beyond the top of frame").
Even then about 1 take in 3 was right, so make three.
What you get
A 2K render per call in angles/raw/, conformed to 1920x1080 in angles/. Six angles
from one main image kept the design, the brand colour, the signage and the title's
spelling.
Tips and traps
- Geography holds for most angles, but a soft position ("a little left of centre") can still put a wall on the wrong side. Check every take against the main image.
- Takes that repeat the show title on another wall ("QUIZ TIME!" on a side panel too) are rejects.
- People ask for a head-on view of the podium for a presenter speaking to camera, and for tight views of seating areas: a first wide of a seating area carries too much foreground.
- For a framing tighter than any angle, crop an angle rather than render a new one
(
nano-banana-stage-cast-in-set, Inputs).
Check it
Put the angles on a review page, one row per angle with its takes and the main image
beside them, and a notes box each; re-render an angle from the notes as a new letter.
Check each take against the main image and description.md: every element on the side
it should be for this camera, furniture facing the right way, no redesigned walls or
screens, lettering only where it belongs, no people.


