How a Powers of Zen video gets made
Continuous-zoom shorts that loop through many scales, produced and posted by a pipeline that runs on one desktop GPU. This page covers the daily loop, how one video is built frame by frame, and the technology behind it.
The daily loop
Journeys are written at midnight, rendered overnight, and posted on a fixed cadence. I touch it twice: approving a video and choosing its music.
One video is a circular chain of worlds
Each card's target is something contained in its scene, and that target's surface becomes the next scene. The last card contains the first, closing the chain into a loop.
- Play startwhere the video opens: the composer's choice, the top of the scale.
- Render startwhere the chain begins rendering: an abstract realm that is easy to establish cold, and that keeps the planet card mid-chain.
- The seamthe one exotic wrap, subatomic back to cosmic. It is a morph on the beat, not a zoom, and it gets more frames rather than more force.
- Every other stepa true optical zoom into a contained object, ten times deeper per card.
Inside one card: zoom and denoise are musical
Every card is one bar. The camera arrives, looks, then plunges, and the world flips exactly on the downbeat. These curves come from the engine's rendering formulas.
The frame loop
The only memory is the previous frame. It is cropped toward a tracked target, given depth motion, and handed to the diffusion model, which paints the next frame. Everything else steers that one step.
The planet descent
The model could never grow a planet out of inherited texture, and the tracker never once locked one. So the globe is supplied as pixels at an exactly scheduled size, while the space around it stays alive.
Closing the loop without a visible seam
The first frame of any render is the only one not born from the chain, so it is thrown away. An extra lap re-renders that world mid-dive, and the tail homes onto the frames that lead into the opening.
Music that lands on the morphs
Ten takes are generated overnight at the video's tempo. Each is measured, stretched by a percent or two, and slid until its deep accents sit on the bar lines, then looped seamlessly.
Everything we built
Each piece, what it is for, and where it lives.
Format & authoring
Three-layer format
FORMAT fixed signature · STYLE deck · JOURNEY cards. Bounded variation stays on brand.
PLAN.mdWorld-card journeys
A circular nesting chain: each card's target is contained in its scene and becomes the next scene.
journeys/*.jsonGrammar compiler
Turns cards into prompts plus per-frame zoom, denoise, exponent and approach schedules.
engine/grammar.pyStyle deck
13 curated looks; the composer names one, never writes the look.
styles/deck.jsonREALMS + VARIATIONS
What exists at each scale and how journeys differ; feeds the composer.
journeys/REALMS.mdTempo as a knob
frames per beat sets bpm (5→144, 7→103, 9→80); all musical geometry scales with it.
engine/dive.pyThe zoom engine
Feedback zoom
Crop the last frame, re-imagine it. Build-in only; build-out was rejected.
engine/dive.pyArrive · look · plunge
One breathing zoom curve per card, ×10 per card, uniform bars.
engine/grammar.pyOn-beat morph
Denoise peaks on the downbeat with a 2-frame pickup; seams get more frames, never more force.
engine/dive.pyTracker v3
Point emergence, then Florence-2 object lock; exact propagation through the crop; frozen thirds anchor.
engine/track.pyDepth ControlNet
Holds the target's structure while every pixel regenerates (strength 0.45).
engine/dive.py10ⁿ counter
Odometer pinned to the real cumulative zoom, honest across seams.
engine/dive.pyDepth & population
Parallax residual
Near content expands faster than far; the missing depth cue of a crop-zoom.
engine/warp.pyResolve-on-approach
Animated depth scaffolds (sea, lattice, surface, web): a realm resolves out of the old texture as countless instances.
engine/scaffold.pyLooming scaffolds
Per-instance distance, painter's occlusion: size, brightness and motion agree.
engine/scaffold.pyCamera vocabulary
Roll, orbit, dolly, tilt compiled per card; parked below the noise floor, kept inert.
engine/camera.pyPlanet descent
Planet plate
A globe rendered from the next card's scene, composited at an exact scheduled size every frame.
engine/plate.pyLive arrival
Space held by masked IP-Adapter, not a pixel blend; globe denoise capped absolutely.
engine/plate.pyEnter / grow
The globe slides in from a frame edge or swells from a point of light; never just appears.
engine/plate.pySpans the bar line
Orbit view on the beat, keeps growing, hands off when the frame is inside the disc.
engine/plate.pyPlate gates
Caption checks re-roll a void that came out as jewellery or a surface with a horizon.
engine/plate.pyPosition audit
Moves the render start so the planet card sits mid-chain; records the play start.
scripts/plate_position_audit.pyLoops, seams, openings
Loop lap
Render card 0 again mid-chain and cut the cold first card: the loop home is born from the chain.
engine/grammar.pyTrajectory homing
The tail aims at the frames leading into the opening: IP-Adapter for the world, depth for the landing.
engine/dive.pyPlay order
Assembly rotates the finished loop to the composer's opening; render order is free.
engine/dive.pyFrame-0 establish
A wide, target-free first prompt with scale-aware wording and anti-close-up negatives.
engine/grammar.pyFigure gate
Captions frame 0; re-rolls a lone figure before an hour is wasted.
engine/figure.pyRepair family
Replace an opening or a tail, or re-render from any card, without redoing the video.
scripts/replace_*.pyCast & captions
Mascot cameos
13 hidden characters, scale-matched to the card, pasted world-attached; the find-the-character hook.
output/mascots/canonCaption writer
Local LLM writes five caption options, YouTube description and world chain.
scripts/caption.pyMusic
Music deck
10 lanes × rhythm feels with a deep-downbeat doctrine.
styles/music_deck.jsonACE-Step generation
Ten takes at the video's tempo, overnight, so approval costs seconds.
scripts/music_gen.pyAligner
Measure the track's own bar, stretch, kick-weighted phase search, seamless loop.
scripts/align.pyBeat · sync · fit
Deep-pulse presence, accents on morphs, phrase length equals the bar.
scripts/align.pyRe-rank
Re-judges every take on disk without a GPU.
scripts/music_gen.pyPipeline & posting
Midnight refill
A coordinator briefs parallel composers; the script audits and queues only passers.
scripts/journey_refill.pyNight batch
Queue order within a time budget; render, ingest, caption, music; backpressure at 20 ready.
scripts/night_batch.pySingle source of truth
pipeline.json for videos, journeys.json for decisions; writers merge into a fresh read.
scripts/pipeline.pyCadence gate
Posts every 19 hours, remaps the 01–07 dead zone, advances only on verified success.
scripts/post_gate.pyPoster
Drives a real Chrome over CDP; trusted clicks, caption verified on the live page, self-heals.
scripts/poster.pyAudience analytics
Instagram and YouTube stats; qscore = engagement against what reach predicts.
scripts/ig_analyze.py