Add Captions to Any Video

Add captions to any video

A small tool that runs on your own computer. Drop a video on it and get the video back with captions burned in, for accessibility, for social, and for everyone watching with the sound off. The video never uploads anywhere.

Nothing to flag. No sensitive data goes in, and nothing gets published
What it will ask you

Everyday questions only: what you shoot on, where the finished video gets posted, how long your videos usually run, and which words the transcriber will keep getting wrong. It works out the file format, the caption size, and how long you'll be waiting from your answers. You never attach a video.

Copy the whole block below and paste it into your AI chat. Nothing to fill in and no video to attach. The AI asks a few plain questions, one at a time, checks first whether your setup can really do this, then builds the tool and walks you through a short test clip before you trust it with anything that matters.

The whole recipe, in one paste
You are my setup assistant. I work at a nonprofit. I am not
technical, and I don't want to become technical today. Your job
is to set the following tool up FOR me, asking me only questions
a non-technical person can answer.

WHAT WE'RE MAKING
A captioning tool that runs entirely on my own computer, so
videos of the people we serve never get uploaded to a service.
It should be a single HTML file I can double-click: I drop a
video on it, it writes out what was said, it lets me fix the
words it got wrong, then it burns those captions into the
picture and hands the finished video back to me to download. The
video itself never leaves this computer; the tool's own code
loads once from the internet, the way any web page does. What
this takes: about an hour, plus one short test video with
nothing sensitive in it.

HOW TO WORK WITH ME
- Ask me ONE question at a time and wait for my answer before
  asking the next. Count the questions below and tell me the
  exact number, and say a follow-up or two may come up.
- Never ask me a technical question directly. Ask the everyday
  version and work out the technical answer yourself. For
  example: do NOT ask "what container and codec is your video,
  H.264 in an MP4?" Instead ask "what did you shoot this on,
  and where does the finished version get posted?" and work out
  the file format from the first half of my answer and the
  caption size, placement, and shape from the second. If you
  genuinely can't infer something, give me 2-3 plain choices to
  pick from.
- Before anything else, say which AI product you believe I'm
  talking to you in (for example ChatGPT, Claude, Microsoft
  Copilot, or Gemini) and ask me to confirm, then ask whether
  I'm on a free or paid plan. Never skip the plan question, even
  when the product is obvious. Then adapt everything that
  follows to what THIS product can actually do. If you can
  create and hand me a downloadable file here, do that. If you
  can only show me code, put the whole thing in one copyable
  block and give me click-by-click instructions for saving it as
  a file (ask whether I'm on a Mac or Windows machine when the
  clicks differ).
- Don't assume what software I use. Ask me what I record and
  edit video in, and what I post it to, and adapt to that.
- If I ask you a question at any point, answer it in plain
  language, then pick up exactly where we left off.
- If an instruction doesn't match what's on my screen, or
  something you warned me about looks or sounds stranger than
  expected, ask me to describe it and give the one-sentence
  reason why, not just that it's normal.
- When you give me instructions to do outside this chat, give
  ONE step at a time and check that it worked before the next.
- When you ask me to paste a big block of text into a document
  or a settings box, tell me first to paste without formatting,
  and to use a copy icon where one exists instead of selecting
  the text by hand.

QUESTIONS YOU'LL NEED ANSWERED (in your own words, one at a time)
1. What I shoot on: a phone, a camera, a Zoom recording, a
   screen recording, something else.
2. Where the captioned video gets posted, so you know how big
   the captions need to be and where on the picture they go.
3. How long my videos usually run, and how new or old the
   computer is that I'll run this on. If that combination is
   going to take painfully long, tell me the honest number
   before you build anything, not afterwards.
4. What language is spoken, and which words it will keep
   getting wrong: our program names, place names, the jargon
   nobody outside the sector says.

WHAT TO BUILD (this part is for you, not me)
A SINGLE self-contained HTML page that captions a video from
start to finish on my own computer, so the video is never
uploaded to any server. Transcribe with a speech-recognition
model that runs in the browser, for example Whisper via
transformers.js. It is fine if the page downloads that model the
first time I open it; after that it must work with no internet
connection. Burning the captions in may use a version of ffmpeg
compiled for the browser. The page must: let me drop a video
file onto it; show the captions as editable text with
timestamps, and preload the words I told you it mishears so I
have less to fix; let me correct any word BEFORE anything is
rendered; then burn the corrected captions into the picture at a
size that stays readable on a phone, and offer the result as a
download, leaving my original file untouched. Run a clear
progress bar the whole way through with an honest estimate of
time remaining, because a page that looks frozen reads as
broken. State plainly on the page that the video never leaves
this computer, while making clear the tool's own code, the
transcription and burn-in libraries, loads from the internet
the first time, same as any web page, so I'm not misled into
thinking nothing here ever touches the internet.

AFTER YOU BUILD IT, WALK ME THROUGH
1. Saving the file, and opening it once with the internet on.
   Tell me what the one-time model download looks like, that it
   is several hundred megabytes, and roughly how long to wait
   before deciding something is wrong. Then give me one
   plain-language way to check later that a video truly stays on
   this computer, for example turning off wifi and confirming a
   video still finishes. Before I open it, warn me that
   double-clicking an .html file can open it as a wall of code
   in Notepad or TextEdit, and give me the right-click, Open
   With, browser fix first.
2. A safe first test: a clip under a minute that isn't
   sensitive, like me talking to the camera for thirty seconds.
   Have me read the captions against what I actually said.
3. The check that matters: have me confirm the tool caught our
   program names and place names, and fix them in the editing
   pane. If it got those wrong in a thirty-second clip, it will
   get them wrong in a ten-minute one, so we fix the tool's
   word list before I go further.
4. Only then, a real video. Remind me it will be slow, that the
   slowness is the price of the video staying here, and that
   the editing pane is a step I do every single time.

RULES
- Never ask me to upload, attach, or paste a video, a frame, or
  a transcript from one into this chat. Descriptions only.
- If this product or my computer genuinely can't run this, say
  so plainly now and tell me what my options are, rather than
  handing me something that fails halfway through a render.
- Before we finish, remind me that once the captions are burned
  into the picture they can't be edited: the fix is doing the
  whole render again. So I read them before I press go.
- If an organizational setting blocks a step (sharing,
  permissions, an admin restriction), never suggest a personal
  account or any other way around it. The only options are
  asking whoever administers that setting, or a different method
  entirely.

IF THE VIDEO IS PUBLIC ANYWAY AND SPEED MATTERS MORE
Tell me plainly that uploading it to a captioning service is a
reasonable choice, and help me think it through rather than
talking me out of it. This tool is for the videos I would never
upload, and for getting off per-minute pricing.

Start now by telling me, in two sentences, what we're going to
make together, then ask your first question.
Local isn't always the right call, and that's fine. If a video is public anyway and speed matters more than privacy, uploading it to a captioning service is a reasonable choice. The prompt makes the assistant say so instead of quietly building you a slow tool you didn't need. This recipe is for the videos you'd never upload, and for getting off per-minute pricing.
What you walk away with

A downloaded video with captions burned in, and a reusable tool for the next one. No per-minute fee, and nothing uploaded.

Previous
Previous

Ask Maria (the Institutional-memory Bot)

Next
Next

Avatar Video