---
name: type-anim
description: Animated typography overlays for video. Drop a title card, drop announcement, callout, intro text, or release tag onto any clip — or render text alone on black. Built-in motion presets like kanye-zoom (crash-in), drain-stutter (frame glitch), brutalist (hard cut mono caps), rise-fade (cinema fade), noir-typewriter (letter-by-letter), tape-line (VHS scanlines). Pure ffmpeg drawtext, no ML deps. Use when the user asks for a title card, intro text, animated text, drop tag, callout, "put text on this clip", "make a release card", or wants typography that's not full lyric video.
---


# type-anim

Drop animated text onto any clip. Or render the text alone on black for an intro card.

## Title card on a clip

```bash
python3 ~/.claude/skills/type-anim/scripts/anim.py \
  --video clip.mp4 --text "DEMON_01" --preset kanye-zoom
# → clip_typed.mp4
```

## Standalone intro card (no input video)

```bash
python3 ~/.claude/skills/type-anim/scripts/anim.py \
  --text "DEMON_01" --preset brutalist --duration 3 --size 1920x1080
# → DEMON_01.mp4 — black bg, animated text
```

## Multi-line drop tag

```bash
python3 ~/.claude/skills/type-anim/scripts/anim.py \
  --video b_roll.mp4 \
  --text "OUT NOW\nWHEREVER YOU LISTEN" \
  --preset drain-stutter \
  --position bottom
```

## Available presets

- **kanye-zoom** — text crashes in big, settles, holds (Kanye / Trippie album-card style)
- **drain-stutter** — text glitch-stutters into place (Drain Gang frame-skip)
- **brutalist** — hard pop in / hard pop out, mono caps, full opacity
- **rise-fade** — gentle fade-up from black, hold, fade-out (cinema)
- **noir-typewriter** — letters appear one at a time, monospace
- **tape-line** — VHS-style: scanlines, slight chroma shift, tape jitter
- **club-flash** — strobing on/off with blur (rave / EDM drop)

## Flags

- `--video` — input clip (optional; if omitted, renders on black)
- `--text` — the text (use `\n` for line breaks)
- `--preset` — one of the presets above (default `kanye-zoom`)
- `--duration` — seconds (only for standalone — clip mode uses input length)
- `--size` — `WxH` (default `1920x1080` standalone, matches video otherwise)
- `--position` — `top` / `center` (default) / `bottom`
- `--font-size` — pixels (auto-scales by preset if omitted)
- `--font` — font path (default tries Menlo, Helvetica, Inter)
- `--color` — text color (default `white`)
- `--start` — second to begin animation (default 0)
- `--hold` — hold-on-screen seconds (default 2.0)
- `--output` — output file (default `<video>_typed.mp4` or `<text>.mp4`)

## Pairs well with

- `cover-art` — render typography for the static cover, then `type-anim` the same text in motion for the video
- `kromvision-engine` / `black-mirror` — drop a release card mid-edit
- `mp4x` — animate text into a transition between two clips
