---
title: "Data → Infographic Video — numbers in, a legible animated chart reel out"
tier: hero
format: short-form-video
theme: b2b | data | finance | analytics | marketing
persona: B2B marketer, analyst, founder, data team, agency
duration: "a metrics table → 20–40s 9:16 (or 16:9) data reel in ~5–10 min"
budget_usd: "$0.40–$2.50 (a few atmospheric b-roll keyframes + ONE hyperframes chart overlay + music)"
caps: ["create_media", "cosmos-3-image", "flux-dev", "hyperframes-render", "ffmpeg-mux", "music", "sonilo-t2m"]
skills: ["hyperframes-overlays", "short-form-video"]
showcases: ["/chapters/data-to-infographic-video-example.html"]
status: "live — plays the legible-text moat where it's strongest. AI video can't render a chart or a number; hyperframes-render does, crisply, over atmospheric b-roll."
reliability: 4.4 # hyperframes chart overlay is deterministic; only the b-roll keyframes touch the model tier
---

# Data → Infographic Video — the format competitors physically can't make

Paste a metrics table — *"Q3 revenue $4.2M (+38% YoY), 1,240 new customers, NPS 67, churn 2.1%"* — and get a
**9:16 (or 16:9) data reel**: atmospheric AI b-roll for the *mood*, and a **pixel-perfect hyperframes overlay** for the
*numbers* — animated counters, a bar/line chart, KPI stat boxes, a headline. Every pure-generative tool (Runway, Pika,
Sora) renders a chart as mush; **hyperframes renders it as crisp HTML/SVG**. This is the B2B-native format that turns
your moat into a deliverable.

## What you'll get

> **A finished reel = atmospheric b-roll + a crisp animated data overlay + music + 20–40s.** Generate 1–3 abstract /
> atmospheric keyframes (`cosmos-3-image` / `flux-dev` — data-center, abstract gradients, city-at-night) for the
> background feel, then lay **ONE `hyperframes-render` document** over it: count-up KPI numbers, an SVG/CSS chart that
> draws in, labeled stat boxes, a title — all animated in CSS, all legible. Mux a calm-confident `music` bed. The
> numbers are HTML, so they're **always exact and instantly editable** — never trust a model to render "$4.2M."

## The cap chain

```
metrics (a table / a few KPIs) + a headline
  → agent normalizes the data: pick 3–5 headline KPIs + one chart series + the title
  → create_media (cosmos-3-image / flux-dev)   # 1–3 atmospheric b-roll keyframes, abstract, no text
       (or a slow Ken-Burns video bed)
  → hyperframes-render                          # ONE HTML doc over the b-roll:
       • count-up KPI tiles (CSS @property / JS counters)
       • an SVG/CSS bar or line chart that animates in
       • a title + a source/footnote line
       • aspect_ratio: "9:16" (social) or "16:9" (deck/LinkedIn)
  → music / sonilo-t2m                          # calm-confident, ~90–110 BPM, instrumental
  → ffmpeg-mux                                  # bed under the reel, audio_fill:"loop"
```

## The overlay is the product

`hyperframes-render` carries everything AI can't:
- **KPI tiles** — big count-up numbers with labels + delta arrows (▲ +38%).
- **One chart** — a bar/line/donut drawn with CSS/SVG, animating in over ~2s.
- **A title + a footnote** (source, period) — crisp, brand-colored.
- Optional brand-kit palette so it matches the company's deck.

## Variations

- **Earnings / KPI recap** (9:16 social or 16:9 LinkedIn).
- **Before/after** — two stat columns with a delta.
- **Leaderboard / ranking** — animated rows.
- **Survey / NPS** — gauge + breakdown bars.

## Quality bar (definition of done)

- ✅ Every number is **exact and legible** (it's HTML, not generated pixels).
- ✅ At least one chart **animates in** (a static number is a slide, not a reel).
- ✅ The b-roll sets mood without competing with the data; the bed covers the full duration.
- ✅ Aspect matches the destination (9:16 social, 16:9 deck/LinkedIn).

## Watch-outs

- **Never** let the model render the data — keep all numbers/charts in the hyperframes layer.
- Keep b-roll abstract/atmospheric (on-policy, no text, no fake charts) so it doesn't fight the overlay.
- Match `aspect_ratio` to the channel up front; re-rendering the overlay is cheap, re-rendering b-roll isn't.
