Description
Speak Input adds a microphone button to Advanced Custom Fields (ACF) so editors — and, where you allow it, front-end visitors — can dictate instead of type, in the WordPress admin or in any front-end form built with acf_form().
Click the microphone, speak, click again to stop. The recording is sent to your chosen speech-to-text engine and the transcript is inserted into the field a moment later — nothing is transcribed live while you speak, and nothing leaves your site until you stop recording.
Free
- Voice dictation for
textandtextareafields. - Deepgram as the transcription engine, using your own free Deepgram API key.
- A dedicated “Speak Input” tab in every ACF field’s settings, so you choose exactly which fields get a microphone button — off by default.
- Keyterm prompting: give Deepgram a list of names, jargon or product terms it should listen for.
- Dictation language follows the editor’s browser language automatically.
- Works in the admin and in front-end forms built with
acf_form(), including for anonymous visitors, with a configurable request limit to protect your API usage.
Speak Input Pro
Pro unlocks:
- Dictation for
wysiwyg(rich text) fields, in addition totextandtextarea. - A second transcription engine, OpenAI, selectable alongside Deepgram.
- Insertion modes per field: replace the whole field, append, insert at the cursor, or replace only the current selection.
- A configurable recording time limit per field.
- A site-wide and per-field context prompt (used by the OpenAI engine) to improve accuracy for names, jargon or the topic of your site.
- A fixed dictation language per field, with automatic WPML awareness.
- A diagnostics screen: a log of transcription attempts (engine, result, timing) to help you troubleshoot and, if needed, share with support — never your dictated text or audio, only metadata.
- Priority email support.
Find current Pro pricing and upgrade at speakinput.com/advanced-custom-fields.
“Speak Input Pro” is this plugin’s own paid tier — a separate product from “Advanced Custom Fields PRO”, the plugin this add-on extends. Speak Input, Free or Pro, works with either the free or the PRO version of Advanced Custom Fields.
Supported field types
- Text
- Textarea
- WYSIWYG (rich text editor) — Pro
Transcription engines
- Deepgram — Free and Pro. Requires your own Deepgram API key (a free tier is available).
- OpenAI (
gpt-transcribe) — Pro only. Requires your own OpenAI API key.
Privacy
Speak Input does not store your dictated audio. Recorded audio is sent to your chosen transcription engine for the sole purpose of producing a transcript, and is not retained by this plugin afterwards.
With Speak Input Pro, an optional diagnostics log records metadata about each transcription attempt — which engine was used, whether it succeeded, an error code if it failed, and how long it took — to help you troubleshoot issues or share details with support. This log never contains your dictated text or audio. It is stored in your own site’s database, has a configurable retention period, and can be cleared at any time from Settings > Speak Input ACF > Diagnostics.
External Services
Speak Input sends data to the following third-party services on your behalf. These calls only happen when you actively record and submit a dictation, or when the plugin checks your license — nothing is sent automatically or in the background.
- Deepgram — when Deepgram is your selected engine, your recorded audio is sent to Deepgram’s API (using the API key you provide in Settings) to be transcribed, and the resulting text is returned to your site. Deepgram Terms of Service · Deepgram Privacy Policy
- OpenAI (Pro only) — when OpenAI is your selected engine, your recorded audio is sent to OpenAI’s API (using the API key you provide in Settings) to be transcribed. OpenAI Terms of Use · OpenAI Privacy Policy
- Freemius — used to manage licensing for the Pro version. If you activate a Pro license, basic site and plugin data (such as your site URL and WordPress/plugin version) is shared with Freemius to validate your license; no dictated audio or text is ever sent to Freemius. Freemius Terms of Service · Freemius Privacy Policy
Your API keys for Deepgram/OpenAI are stored in your site’s own database and are never exposed to site visitors or included in any front-end output. If visitors can dictate through a front-end acf_form(), you may want to mention Deepgram (and, on Pro, OpenAI) in your own site’s privacy policy, since their recorded audio is processed by that service.
Screenshots



text field.
wysiwyg field (Pro).
Installation
- Make sure Advanced Custom Fields (free or PRO) is installed and active.
- Upload the
speak-input-acffolder to/wp-content/plugins/, or install the plugin through the Plugins screen in WordPress. - Activate the plugin through the “Plugins” screen.
- Go to Settings > Speak Input ACF and add your Deepgram API key (a free account and starter credit are available at deepgram.com).
- Edit any ACF field group. Open a
textortextareafield’s settings and switch to the new “Speak Input” tab. Turn on “Enable voice dictation” for that field. - Save the field group. A microphone button now appears on that field wherever it’s used — in the admin, and in any front-end form built with
acf_form(). - (Optional) Upgrade to Pro at speakinput.com/advanced-custom-fields for
wysiwygfield support, the OpenAI engine, insertion modes, and the rest of the Pro features listed above.
FAQ
-
Do I need my own API key?
-
Yes. Speak Input doesn’t include or resell transcription — you sign up for your own Deepgram account (a free tier is available) and, on Pro, optionally an OpenAI account, then enter your API key in Settings > Speak Input ACF. Your key is stored on your own site and never exposed to visitors.
-
Does this need ACF PRO, or does the free version of Advanced Custom Fields work?
-
The free version of Advanced Custom Fields is enough for dictation on
textandtextareafields. Dictation onwysiwygfields is a Speak Input Pro feature, independent of whether you’re running free ACF or ACF PRO. -
Is “Speak Input Pro” the same as “Advanced Custom Fields PRO”?
-
No — they’re two separate products from two separate companies. “Speak Input Pro” is this plugin’s own paid tier; “Advanced Custom Fields PRO” is a separate upgrade sold by the makers of ACF. You can combine either version of Speak Input with either version of ACF.
-
Is my dictated audio or text stored anywhere?
-
No. Audio is sent to your chosen transcription engine (Deepgram or, on Pro, OpenAI) only to produce a transcript, and is not stored by this plugin. The optional Pro diagnostics log records only metadata about each attempt (engine, result, timing) — never the dictated text or audio. See the “Privacy” section above and the “External Services” section below for details.
-
Does this work on the front-end, not just the WordPress admin?
-
Yes. Speak Input works with any
acf_form()front-end form, including for visitors who aren’t logged in. To protect your API usage from abuse, requests from visitors without edit access are limited (20 requests per 10 minutes by default); both the request count and the time window are configurable in Settings > Speak Input ACF. -
Does “Fixed language” (or “Automatic”) force dictation into that language?
-
No. The language setting — whether it’s “Automatic” or a specific “Fixed language” you choose for a field — is a hint that helps the speech-to-text engine recognize your speech more accurately. It is not a translator and not a filter.
If you dictate in a language different from the one configured, most of the time the engine will still transcribe what you actually said, in the language you actually said it, rather than translating it or refusing to transcribe it. Setting a field to English does not mean speech in another language gets translated into English, and it does not prevent you from dictating in that other language.
-
Which browsers are supported?
-
Speak Input relies on your browser’s own microphone and recording APIs (
getUserMediaandMediaRecorder), available in current versions of Chrome, Firefox and Edge. Safari’s support for these APIs has historically been less consistent, so results there can vary by version. -
Yes. Voice dictation is off by default on every field. Turn it on per field from that field’s own “Speak Input” settings tab in ACF.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Speak Input – Voice Dictation for ACF” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Speak Input – Voice Dictation for ACF” 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.5
- Addressed WordPress.org Plugin Check warnings: removed the now-redundant manual translation loading (WordPress already auto-loads this plugin’s translations on WordPress.org), documented the intentional direct database query used only during opt-in uninstall cleanup, and renamed internal activation/deactivation/bootstrap functions to consistently start with the plugin’s prefix. No functional change.
1.0.4
- Fixed a fatal error in the free version: diagnostics logging (a Pro-only feature, physically excluded from the free package) was referenced without a safety check on plugin activation/deactivation, on every page load, and on every dictation request, crashing the free plugin. No change for Pro users.
- The diagnostics screen’s JS asset is now also physically excluded from the free package, alongside the rest of the diagnostics feature.
1.0.3
- The plugin’s text domain now matches its WordPress.org slug (
speak-input-voice-dictation-for-acf). - All Premium-only functionality — the OpenAI engine, wysiwyg support, insertion modes, recording time limit, prompts, and language controls — is now physically excluded from the free package (no change for Pro users).
1.0.2
- Renamed internal option, table and hook names to avoid conflicts with other plugins.
- The Pro-only Diagnostics feature is no longer bundled with the free version (no change for Pro users).
- Added
composer.jsonto the package and removed bundled translation files — translations are now managed through WordPress.org.
1.0.1
- Security hardening: added direct file access protection to two internal template files.
1.0.0
- Initial release.
- Voice dictation for
textandtextareafields, with Deepgram as the transcription engine. - Per-field “Speak Input” settings tab and global Deepgram keyterm prompting.
- Works in the admin and in front-end
acf_form()forms, including for anonymous visitors, with a configurable request limit. - Pro:
wysiwygfield support, OpenAI as a second engine, insertion modes, recording time limit, context prompts, fixed/WPML-aware language per field, and a diagnostics log.
