Description
Pick a video from the Media Library, click Generate Automatic Captions, then edit, style, preview and publish.
- Automatic transcription with timestamps (word-level when your provider supplies it)
- Visual caption editor: edit text and timing, drag on the timeline, split, merge, duplicate, search, undo/redo
- Caption styling, presets, animations and word highlighting
- Multiple caption tracks per video with a language selector
- SRT and WebVTT import/export, JSON export
[mwcap_video id="123"]shortcode and a Gutenberg block- Background processing with progress, so long videos never block a page request
- System Status screen with FFmpeg, memory, upload and cron checks
External services
Automatic transcription needs a speech-to-text service. You choose it in Settings Transcription:
- API provider — any OpenAI-compatible
/audio/transcriptionsendpoint. No provider is preselected: you enter the base URL and API key of the service you choose (for example OpenAI, Groq, or your own Whisper server). When you press Generate, the audio of the selected video (or the video file itself when FFmpeg is unavailable), the chosen language and your API key are sent to that service. See the provider’s terms and privacy policy. You must confirm this each time. -
Local / self-hosted — a Whisper-compatible server you run yourself. Audio is sent only to the URL you configure.
-
PayPal (optional donation link) — the Donate links in the plugin only open paypal.com when you click them. Nothing is sent to PayPal otherwise. See https://www.paypal.com/webapps/mpp/ua/privacy-full.
Nothing is sent until you start a transcription. No data is sent to the plugin author. You can also create captions manually or import SRT/VTT without any external service.
FFmpeg
FFmpeg is optional but recommended: it extracts and splits audio so long videos work. It is not bundled; install it on your server and, if needed, set its path in Settings Video. The plugin runs it with PHP’s proc_open() using an argument array (no shell), and only with the binary path an administrator configured. If your host disables proc_open(), the plugin falls back to sending small MP4/WebM files directly to the provider.
Blocks
This plugin provides 1 block.
- Video Captions A responsive video player with automatic, styled captions.
Installation
- Upload the plugin and activate it.
- Open Video Captions Settings and configure transcription.
- Open Caption Videos, select a video and generate captions.
FAQ
-
Captions never leave “Waiting to start”.
-
Background jobs use WP-Cron. If
DISABLE_WP_CRONis set, trigger wp-cron.php from a system cron. See System Status. -
Which videos work without FFmpeg?
-
MP4 or WebM files below your provider’s size limit (typically 25 MB for hosted providers). MOV and larger files need FFmpeg.
-
Why doesn’t the plugin use the WordPress AI Client?
-
Captions need accurate segment and word timestamps from a speech-to-text (transcription) model. The AI Client bundled with WordPress 7.x covers text, image, speech-generation, music, video and embedding tasks, but has no transcription capability, so it cannot return timestamped transcripts. The plugin keeps a provider interface (
mwcap_transcription_providerfilter) so a core-based provider can be added once transcription is available.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“mwangip Video Captions” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “mwangip Video Captions” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.



