Reference
The system.
Dark ground, one accent, a serif for display and a sans for everything else. The videos are the only saturated thing on any page.
Colour
Every one is named for its job. Switch the theme in the footer — the names do not change and neither does any component.
- GroundThe page. Everything else sits on it.
- SurfaceA card, a field, a dropzone.
- Surface raisedThe one above that: a hover, a well.
- LineHairlines between sections.
- Line strongThe edge of anything you can act on.
- AccentThe brand. Sparingly.
- Accent solidWhat a filled button is painted in.
- InkText.
- Ink mutedSecond-voice text.
- Ink faintCaptions and meta.
Type
display · Instrument Serif
Your mark, in motion
title · Instrument Serif
One picture is all it takes
lead · Geist
Upload a logo, or paste your address and upload nothing at all.
body · Geist
A draft takes about two minutes, which is long enough that we email you rather than ask you to watch a spinner.
The mark
Drawn and animated by the page — an SVG and two keyframes, about a kilobyte. Under reduced motion it holds still.
Buttons
Video
Poster first, muted, looping, and it does not start at all for a reader who asked for less motion — they get the poster and a control. The clip below is a test pattern drawn by ffmpeg, not a generation.
The studio
The real form and the real result panel, against sample data. They are here so that both can be looked at — and checked on a phone — without three accounts and a rendered video between you and them.
Your logo
Drop a logo here
PNG, JPEG or WEBP, up to 10 MB. You can paste one too.
Pick a style
Make it
Add a logo above and this lights up.
Liquid Metal
Ready
6 seconds · 768p · took 2.5 minutes. Happy with it? The 2K version is the same take at four times the detail.
When we refuse a file
Generated by the same function the browser and the route handler both call, so what is printed here is what a customer really reads.
empty
that file is empty.
too_big
that file is 10.1 MB; the limit is 10 MB.
unsupported_format
that file is a PDF; send a PNG, JPEG or WEBP
When a video does not work
A failed job stores a slug, and the slug is for us. These are what it becomes on the page — emitted from the worker’s own exception hierarchy, where the sentence sits beside the failure that raises it. A particular failure may say something more specific, and that sentence is stored on the job.
brief_unusable
We could not work out what to animate from that page. Tell us the brand name and we will use that.
configuration_error
This feature is not available right now. Please try again later.
database_error
Something went wrong on our side. Your credits have not been used.
database_integrity_violated
Something went wrong on our side. Your credits have not been used.
generation_failed
That video did not come out. Your credits have been returned — try a different image or template.
generation_timeout
Your video is taking longer than usual. We are still working on it.
image_invalid
We could not read that image. Try a PNG or JPEG under 10 MB.
insufficient_credits
You do not have enough credits for that video.
internal_error
Something went wrong on our side. Your credits have not been used.
media_processing_failed
We could not finish preparing that video. Your credits have been returned.
moderation_rejected
Our video provider would not generate that. Try a different image or wording.
network_error
That took longer than expected. We are trying again.
not_found
We could not find that.
page_blocked
That site blocks automated visitors, so we could not read it. Upload your logo and we will animate that instead.
page_empty
There was not enough on that page for us to work from. Try your home page, or upload your logo instead.
page_not_found
We could not find that page. Check the link and try again.
page_redirect_loop
That link keeps redirecting and never arrives anywhere. Try the address it should end at.
page_requires_login
That page is behind a sign-in, so we could not read it. Try a public page, like your home page.
page_too_slow
That page took too long to load. Try a simpler page, or upload your logo.
permanent_error
Something went wrong on our side. Your credits have not been used.
prompt_invalid
Something about that request was not quite right.
provider_balance_exhausted
We could not generate that right now. Your credits have not been used.
provider_request_invalid
Something went wrong on our side. Your credits have not been used.
provider_unavailable
Our video service is having a moment. We are trying again.
rate_limited
We are busy right now. Your video is queued and will start shortly.
retryable_error
That took longer than expected. We are trying again.
scrape_failed
We could not read that page. Try another link, or upload your logo instead.
url_invalid
That link does not look like a public web address.
validation_error
Something about that request was not quite right.