Livestream chat that never happened

Generate believable fake chat as a transparent video overlay. Drop it straight onto your timeline — no green screen, no compositing.

preview loading…
Checkerboard is transparency — that area is empty in the exported file.

Describe it, don't script it

“at 10s I clear the board, at 5s my cat walks by.” Claude writes the chat; timing, names and pacing stay under deterministic control.

Audience size changes everything

40 viewers is the same few regulars talking in sentences. 40,000 is unique names posting fragments and echoing each other.

Real transparency

HEVC-with-alpha or ProRes 4444 .mov. Not a chroma key, not a black box you have to blend.

Reads like a conversation

Chat drifts busier and quieter on its own, surges after a moment, and replies land seconds later — never instantly.

Four platforms

Each is a data file, not a code path — new ones are cheap.

TikTok LiveTranslucent pills, circular avatars, floating hearts
Instagram LiveNo pills, white names, heavy shadow
Facebook LiveRounded pills, pastel names, thumbs reactions
TwitchDark panel, username: inline, no reactions

How it works

Point it at a video, or just say what happens.

python3 -m streamchat.cli \
  --analyze clip.mov \
  --describe "at 22s I clear the board" \
  --style tiktok --viewers 900 \
  --out chat.mov
Claude never touches pixels. It writes the messages; the renderer owns every timestamp, username and frame. The same seed produces byte-identical output, so a re-render is never a re-roll.
Stream Chat Generator — local tool, nothing leaves your machine except generation. Open the app