R12 · Stills · Imagined Worlds
Denoise
An image resolves out of noise in forty visible steps like a generation preview, then the camera dives through it into a page that renders card by card.
10.0s · 1920×1080 · 30fps · one take
The intro film for this site's Stills page. Its own prompt types out, an eye resolves out of diffusion noise in forty steps, the camera dives through the pupil into the page as it renders, and the last card pulls back into the wall of every still.
An original score composed in code. No spoken dialogue. On-screen text carries the story.
scene breakdown · select a scene to play
The prompt
The brief I gave Claude Code, with the HyperFrames skills installed, to start this film. Approvals and fixes came after, but this is where it began.
Make a 10-second 1920x1080 intro film in HyperFrames for the Stills page of my site, on #0b0a09. The page's own prompt "/imagine stills --curated --upscaled" types out in IBM Plex Mono with an ember #ff6d3b caret. On Enter, my still "Pure Form", a close-up of an eye, resolves out of noise like a generation preview: mosaic, blur, grain and grey fall away in forty visible steps while the HUD counts "step 00 / 40". The camera pushes in and dives through the pupil into the Stills page, which renders card by card in its real one, two and three column rhythm, each card denoising on the beat. The last card turns out to be one tile of a wall of all my stills: the camera pulls back as the other tiles resolve outwards from it, empty cells and a "/imagine" caret in the corner, and the wall dims under the title "Stills" in Fraunces with "Hand-picked from thousands of generations." below. No counts anywhere: the collection grows. Technique: one painter draws every frame from time; one denoise function draws any image at any step on a canvas (downscale for the mosaic, a blur filter, desaturation and seeded grain); camera keyframes with zoom in log space. Score: compose it in code with numpy, D major: a tick per typed letter, a click on each of the forty steps, a bell when the eye is clean, a whoosh into the dive, a rising note per card and one hit for the title.
Remix it
Swap the parts in braces and paste it in. Some starting points:
- A product range resolving into a shop's grid.
- A photographer's portfolio, starting from one portrait.
- A lookbook where the dive goes through a button.
- A team page, from one face to every face.
Make a {duration}-second {width}x{height} film in HyperFrames for {subject}, on {background}.
The prompt "{prompt}" types out, then {hero_image} resolves out of noise in forty visible steps
(mosaic, blur, grain and grey fall away) while the HUD counts them.
The camera dives through {focus_point} into {page}, which renders card by card, each card denoising on the beat.
The last card becomes one tile of a wall of {collection}; pull back as the tiles resolve outwards, then dim the
wall under the title "{title}".
One painter draws every frame from time; one denoise function draws any image at any step.
Score composed in code: a click per step, a rising note per card, one hit for the title.Ingredients
- stack
- HyperFramesCanvas 2DHTMLGSAPPython (score)
- length
- 10 s · 1920×1080 · 30 fps · one take
- steps
- 40 visible denoise steps, six seeded grain tiles
- palette
- #0b0a09 · #ece7dd · #ff6d3b · #99927f
- type
- Fraunces · Instrument Sans · IBM Plex Mono
- sound
- D major, composed in Python, -15 LUFS
- cost
- €0, all free and open source
how it's built
01 · 00:00
The prompt types
The page's own prompt types out with an ember caret, and on Enter the frame fills with noise.
02 · 00:02
One denoise function
One function draws any image at any of forty steps: drawn tiny and scaled up for the mosaic, blurred and greyed, with seeded grain on top that fades as the steps run out.
03 · 00:04
The dive
At the last step the canvas hands over to the clean image, which zooms 26 times about the pupil in log space.
04 · 00:05
The page renders
The page's cards are canvases in their real layout. Each starts on the beat and denoises in under a second while the camera moves down the column.
05 · 00:07
Card to wall
The last card and its tile in the wall share the same screen size at the swap, so the cut is invisible. The other tiles resolve outwards by their distance from it.
06 · 00:09
The title
The wall dims under the title, and the corner keeps an empty cell with a caret for the next prompt.
gotchas
- Quantise the progress into steps. A smooth denoise reads as a blur; forty hard steps read as a generation.
- Hand over from the canvas to a plain image before the big zoom: a frame-sized canvas goes soft scaled up 26 times.
- Match the last card and its wall tile in screen size at the swap, or the cut shows.
source
Take the whole project
MIT for the code, composition and score. The images (João Queirós' Midjourney stills, included so the film runs), the names Imagined Worlds and João Queirós and the site's own prompt and title are not included in the licence.