Explainers that look like your brand, with your own footage and voice
Two days after explainers shipped, the first real brand kit went through — and the honest feedback was: colors and font carried over, the result still looked like our template. Dark gradient, rounded caption boxes, check-mark lists, pill button. Their brand boards are full-bleed posterized photography, a big white wordmark, light italic taglines; their decks are off-white with thin rules. None of that could be said in a brand kit.
Now it can.
Style, as data
A brand kit has a style block. Canvas (dark, light or your colors exactly), the glow on or
off, heading weight from light to bold, caption style, list markers, button style, corner radius,
logo size, and a lockup switch that puts a large centered wordmark on the title and end cards.
A full-bleed backgroundAssetId — photo or video — sits behind every scene, dimmed and optionally
tinted toward the brand for that duotone look; any scene can override it. A second logo for light
canvases. Every field is optional, so a kit that sets none still renders as before.
The same script rendered twice with different kits gives you two different brands, deterministically.
Your footage, as scenes
Brand kits now hold videos alongside images — product recordings, b-roll, founder clips, with a
one-line description each — and the script writer can place them as video scenes: full-bleed
or framed, from a chosen second in, with or without the clip's own sound. The clips you made with
generate_video, recorded with record_url or fetched from a link are already assets, so they
go straight in.
Your voice
Three ways to get sound on an explainer. Pass a music bed. Pass voiceover: true and we narrate
each scene, stretching scenes to fit the read — with the platform's voices, or with a voice from
your own ElevenLabs workspace once your key is connected to the account (GET /v1/voices lists
them; use a voiceId on /v1/voice, /v1/dialogue and explainers). Or pass voiceoverAssetId
and your own recorded or cloned track plays across the video.
POST /v1/dialogue makes a multi-speaker track — "customer talks to the product's voice agent" —
with per-line start and end times, so a cut can land on the lines.
Small things that were wrong
POST /v1/brands/{id} updates a kit in place (it was there; it was not documented). duration
with a script now rescales the scenes instead of being ignored. estimate: true works on
explainers. The tone field takes 2,000 characters, and the limits are in the schema.
Docs: Explainer videos.