How do you add AI subtitles to a video?
- Open the editor, drop your video on it and cut your sequence (or open a project you saved).
- Click AI tools in the top bar, open the settings (gear icon), pick OpenAI or OpenRouter and paste your API key.
- On the Subtitles tab, choose The open sequence, set the spoken language or leave it on automatic, and press Transcribe.
- FilmCraft mixes the sequence’s sound with its own WAV export, the panel sends it in parts of up to 5 minutes, and the captions arrive as a new caption track at the top of the timeline.
- Fix words and timings in the Text panel’s Captions tab, set the size, color and position, then export: in Export mode’s Captions section pick Burn Captions Into Video, or Create Sidecar File for an SRT or WebVTT file beside the MP4.
Captions follow a common layout: up to two lines of 42 characters, at most 6 seconds each, with a new caption after a pause or a finished sentence. The panel also offers the result as an .srt download for YouTube or any other player.
Transcribe one clip for text-based editing
Choose One clip instead and pick an interview or a voice recording from your project. The panel stores the words as that clip’s transcript, the same thing FilmCraft’s desktop transcription makes, so the Text panel’s Transcript tab works in the browser: select words to mark In and Out, extract or lift a passage, and remove filler words or long pauses in one step. With “Also make captions” ticked, captions are laid out wherever the clip is cut into the open sequence, and they move with it.
This reads the clip’s original file and decodes its sound with the browser, which handles MP4 and MOV with AAC, WebM, MP3 and WAV. If a format won’t decode, put the clip on a sequence and use The open sequence: FilmCraft decodes it with its own decoders.
Voice-over from a script
The Voice-over tab reads up to 4,096 characters in a voice you pick: OpenAI voices such as marin, cedar or coral, or on OpenRouter the voices of each model, such as Gemini’s Kore and Puck. With OpenAI and OpenRouter you can describe the delivery (“calm documentary narrator”), and OpenAI takes a speed. Add to timeline imports the audio and places it on a new audio track at the playhead, ready to mix, duck under music or cut. Disclose AI voices where your platform asks you to.
Title cards, thumbnails and frame edits
The Images tab generates stills for an edit: a title card background with room for text, a thumbnail, a B-roll still, lower-third artwork with a transparent background (OpenAI models). Edit a frame takes the Program monitor’s frame at the playhead, or a still from the Export Frame button, and asks the model to remove the background, replace it, clean something up or relight it. Add to timeline puts the image on a new video track at the playhead; animate it with Motion keyframes and add titles with the Type tool.
Supported providers
| Provider | Subtitles (speech to text) | Voice-over (text to speech) | Images |
|---|---|---|---|
| OpenAI | whisper-1 | gpt-4o-mini-tts | gpt-image-2.5-flare |
| Google Gemini | — | — | gemini-3.1-flash-image |
| OpenRouter | openai/whisper-large-v3-turbo | google/gemini-3.8-flash-tts | google/gemini-3.1-flash-image |
| Custom (OpenAI-compatible) | any model your API serves | any model your API serves | any model your API serves |
The defaults are suggestions; Load models in the panel lists what your key can use. For subtitles, pick a model that returns word timestamps: whisper-1 on OpenAI, whisper-large-v3-turbo or whisper-large-v3 on OpenRouter or Groq. The custom option works with any service that implements OpenAI’s /audio/transcriptions, /audio/speech or /images/generations and accepts browser requests; Groq’s https://api.groq.com/openai/v1 is a fast choice for transcription.
Privacy: what goes where
| Data | Where it goes |
|---|---|
| Your API key | Stays in your browser. Sent only to the provider, in the request header. |
| The audio you transcribe | Mixed and cut into 16 kHz mono WAV parts on your device, then sent straight to the provider you picked. |
| Your script, prompt or chosen frame | Sent from your browser straight to the provider. |
| Your footage and the rest of your project | Never leaves your device. |
| filmcraft.run servers | Serve the static app files. They receive none of the above. |
The provider’s own terms and data policy apply to what you send them. Silent parts of the audio are skipped, and frames are scaled to 2048 pixels on the long side before upload.
No key? FilmCraft still captions by hand
You can import an SRT, WebVTT or SCC file you already have (File › Import), or type captions yourself with Sequence › Captions › Add Caption at Playhead and edit them in the Text panel. The built-in Text to Speech panel has offline voices too; they sound synthetic, but need no key. See how to trim and cut a video online for the editing basics.
FAQ
Do I have to pay to use the AI tools?
You pay your AI provider for what you use, at their normal API prices. filmcraft.run charges nothing and adds no markup, because the request never passes through us. Transcription is usually billed per minute of audio, speech per character or token.
Where is my API key stored?
In your browser only. By default it lasts for the current tab (sessionStorage). Tick “Remember my key on this device” to keep it in localStorage instead, and use “Forget all keys” in the panel settings to delete it.
Why not FilmCraft’s own transcription?
FilmCraft can transcribe on the desktop with a Whisper model running on your CPU, but that feature is optional, off by default and never built for the web. The AI panel fills the gap in the browser and writes into the same Transcript and caption features.
How accurate are the caption timings?
The panel asks for word timestamps (verbose_json), so captions start and end on the words. FilmCraft snaps them to the sequence’s frames on import. If a model returns only phrase timings, the panel spreads the words over each phrase and tells you so.
Can I use a Gemini key?
For images, yes. The panel uses Gemini keys for images only. For subtitles and voice-over use OpenAI, OpenRouter (which serves Whisper models and Gemini voices, among others) or an OpenAI-compatible API such as Groq.
Does the AI edit my video?
No. The panel makes captions, transcripts, narration and stills, and FilmCraft puts them on the timeline. Every cut, grade and mix stays yours, and every addition is an ordinary clip or caption you can undo.
Why does a request fail with a CORS or network error?
The custom provider option needs an API that accepts requests from browsers. OpenAI, OpenRouter, Google Gemini and Groq do. Some self-hosted or regional gateways don’t; use one of the built-in providers instead.