stingo

Showcase

Every frame stingo makes, generated rather than curated.

Everything on this page was rendered by stingo, and regenerated by one command:

bun run tools/gallery.ts

Nothing here is a mockup or a screenshot taken by hand. If a frame below looks wrong, that is what the current code produces — which is the point of generating it rather than curating it.

#The demo

Fifty seconds, cut to a 128 BPM track. Unmute it.

#Blocks

Fourteen kinds of scene. Full field reference on the blocks page.

Captions are an overlay rather than a block — any scene with a say field gets them, and the spoken word is picked out as it lands.

#B-roll

Eleven generators — plus none, which has nothing to show. Deterministic from a seed, no footage required. Set bg: { kind: … } on any scene, or give bg a src and play your own media instead.

#Taste

The same scene under three profiles. Only the taste file changed.

#Transitions

Five frames spanning a cut. The outgoing scene plays the first half of the move, the incoming scene the second, both pushing the same way.

fade
fade
glitch
glitch
slide
slide
whip
whip
wipe
wipe

#One script, three shapes

Blocks size themselves from the stage, so the same scene renders to any canvas without a second layout. Same taste, same scene, three canvases.

horizontal
horizontal
square
square
vertical
vertical

#Talking head

Three layouts for a recorded take. See talking head.

#The films

The long examples are too large to serve from this site. They render from the repo in a couple of minutes:

bun stingo render examples/goroutines/video.yaml                  # 1080x1920
bun stingo render examples/goroutines/video.yaml --horizontal     # 1920x1080

Roughly five minutes, 53 scenes, every cut on a bar line.