Rendered by the captions.js engine, not a mock-up.

Beasty caption style

Beasty is a free animated caption style for captions.js: Permanent Marker black in uppercase, the spoken word in #ff0000, with the "pop" word animation at the bottom of the frame. Use it live in the browser or burn it into an MP4 with FFmpeg.

Use it

Browser: overlay on a <video>
import captionsjs, { getPreset } from "captions.js";

captionsjs({
  video: document.querySelector("video")!,
  captions, // word timings: see the Whisper and Deepgram guides
  preset: getPreset("Beasty"),
});
Burn into an MP4 (needs ffmpeg)
npx captions.js burn video.mp4 words.json --preset "Beasty"

No servers? Render it through the captions.js Cloud API (early access).

Node.js
import { burnCaptions } from "@captionsjs/server";

await burnCaptions({ video: "video.mp4", captions: "words.json", preset: "Beasty" });

Style details

FontPermanent Marker, black
CaseUPPERCASE
Text color#ffffff
Active word#ff0000
Outlinenone
Shadownone
Animationpop
Positionbottom
Lines on screen1

Pop: Each word pops up as it is spoken, the punchy look of short-form edits.

Make it yours

A preset is a plain object. Clone it and change colors, font or animation; the browser and the FFmpeg render both take the result.

const base = getPreset("Beasty");
const mine = {
  ...base,
  captionsSettings: {
    ...base.captionsSettings,
    style: { ...base.captionsSettings.style, highlightColor: "#ff2e88" },
  },
};

More pop styles

All caption styles