---
title: Explainers
description: "What to say to turn an article, notes, or a topic into a faceless explainer — where every visual is invented, not captured."
---
import { DocsVideo } from "/snippets/docs-video.jsx";
The last page pointed the agent at a website. This one drops the site. Your
text is the whole input. Every visual is invented, not captured.
## Your first win
Paste your text into one `/hyperframes` prompt.
That is enough for a finished explainer. No site, no footage, no design
decisions yet.
Verified, from the [examples](/prompting/examples) page — a ~60-second vertical
explainer from pasted text:
> /hyperframes Turn this into a ~60-second 1080x1920 vertical explainer: [paste your text]. One idea per scene, big typography, diagrams over stock footage, brand color #FF5533 on off-black. Male TTS voice, calm. Embedded captions, keywords highlighted in the brand color.
*Rendered from the prompt above, unedited.*
Note the `~`. When you supply a script, the runtime follows the spoken words. So
ask for *about* a minute, not exactly one. See the
[anatomy](/prompting/anatomy) for the rest of the skeleton.
## What this makes
A faceless explainer. Your text becomes a narrated video — an article, notes, a
topic, a brief. Every visual is invented per scene: typography, abstract
graphics, diagrams, data-viz.
Asked for an explainer, the agent settles a look, shapes your text into a
teaching story, generates TTS narration, and builds the video scene by scene.
**Faceless means there is nothing to capture.** No site, no footage, no asset
inventory. The visuals are designed downstream.
Give it the source instead when you do have something to show:
- A product to sell → its URL ([product launch](/prompting/product-launch))
- A real site to show → its URL with a tour brief
([product launch](/prompting/product-launch))
- A GitHub PR → the PR link ([code and PRs](/prompting/code-and-prs))
## The knobs that matter
You can steer all of these from the prompt, before you have learned any
technique.
| Knob | What to say | Why it matters |
| --- | --- | --- |
| **Verbatim vs summarized** | "use my wording verbatim" or "restructure it freely" | Verbatim keeps your voice but locks the word count. Summarized lets it cut and reorder for pace. |
| **Duration** | "~60 seconds", never "60 seconds" | With a script, the narration sets the real length. A hard number forces the agent to trim or pad the words. |
| **Scene density** | "one idea per scene" | A faceless scene has one invented focal to animate. Two ideas leave nothing to build the motion around. It reads as a text dump. |
| **Angle** | "concept" / "how-to" / "listicle" / "story" | The angle decides the story shape. The agent reshapes your text into it instead of reading your paragraphs in order. |
| **Caption style** | "embedded captions, keywords highlighted in the accent color" | Captions are burned in. Naming the highlight color ties them to your palette instead of a default pill. |
| **Palette** | "brand color #FF5533 on off-black" | There is no site to borrow from, so the agent picks a palette. A named accent and ground personalize it. |
| **Voice** | "male TTS voice, calm" / "warm female voice" | Gender and tone are prompt words. The provider is the agent's decision. |
Scene density is the single biggest quality lever here. "One idea per scene"
turns a dense paragraph into a paced sequence. The agent reorders and
compresses your text to hit it. That is what makes an explainer teach instead
of recite.
## Variants
> /hyperframes Make a ~30-second 1920x1080 explainer on how HTTPS keeps a request private, for a non-technical audience — the takeaway: your data is sealed before it leaves the browser. Concept angle: one idea per scene, big geometric type, a simple lock-and-key diagram as the centerpiece (swap the metaphor with the topic). Near-black ink on off-white with a deep-blue accent. Female TTS voice, warm and clear. Embedded captions, key terms highlighted in the accent color.
Shorter runtime, landscape for YouTube or an embed. Fewer scenes means the
topic has to compress. Naming the takeaway tells the agent what to keep.
*Rendered from this prompt with the topic swapped to HTTP caching (cache diagram as the metaphor), unedited — 26s, because the narration sets the length.*
> /hyperframes Make a ~45-second 1080x1920 listicle: "5 habits of fast-shipping teams". Listicle angle — one habit per scene, each with a big number and a one-line label, escalating energy toward #1. Off-black with a lime accent. Male TTS voice, upbeat. Embedded captions, the habit label highlighted each scene.
The listicle angle gives each item its own scene. Every scene reuses the same
number-and-label shape. The result reads as a countdown, not a wall of
points.
> /hyperframes Make a ~60-second 1920x1080 how-to on setting up a CI pipeline, for developers. How-to angle: one step per scene, each built around a simple node-and-arrow diagram that draws on as the narration explains it. Charcoal with a teal accent. Calm male TTS voice. Embedded captions, the step name highlighted.
A how-to leans on diagrams as the load-bearing visual. Describe the diagram
*shape* per step — "node-and-arrow", or "a pipeline that fills left to
right". Let the agent invent the specifics.
## Common failure modes
**"60 seconds" instead of "~60 seconds".** Same rule as on the
[product launch page](/prompting/product-launch#common-failure-modes). It bites
harder here, because the script is the whole video. You cannot know a supplied
script's spoken duration until the TTS renders.
- ❌ `a 60-second explainer from this text: ...`
- ✅ `a ~60-second explainer from this text: ...`
**Cramming ideas into a scene.** Every faceless visual is invented around a
single focal. Overload the scene and there is no clear thing to animate.
- ❌ `explain all five caching layers in one scene`
- ✅ `one idea per scene — one caching layer at a time`
**Asking it to capture or pull real imagery.** There is no capture step. A
faceless explainer invents its visuals.
- ❌ `pull screenshots from the site and explain the feature`
- ✅ that's a site or product video — give it the URL
([product launch](/prompting/product-launch))
**Leaving the look unspecified when you care.** There is no brand to read, so
the agent picks the palette. If you have colors, name them.
- ❌ `make it look on-brand`
- ✅ `brand color #FF5533 on off-black`
The matching guide is [Faceless explainer](/guides/faceless-explainer) — what to give the agent, what it confirms before building, and what it returns.
*Next: [Code changes and PRs](/prompting/code-and-prs) — point the agent at a merged GitHub PR instead of a blank page.*