1. Check the requirements
You need an Apple Silicon Mac, a Chromium-based browser, the current sideload macOS version of Spokenly, and enough free storage for Spokenly's Parakeet model and temporary audio.
Install FFmpeg and Python
If you use Homebrew, open Terminal and run:
brew install ffmpeg python
The Native Messaging host uses Python. FFmpeg downloads or reads the source media and creates a temporary 16 kHz mono WAV for transcription.
2. Configure Spokenly
- Install and open the current sideload macOS build of Spokenly.
- Open Dictation Models or Transcribe File.
- Download NVIDIA Parakeet TDT 0.6B v3.
- Select it as the model for file transcription.
- Enable Voice for AI Agents (MCP) so the local server is available.
- Optional: enable Local-only mode to disable Spokenly's online features.
3. Install the extension
Clone or download the public repository:
git clone https://github.com/Lemelson/x-post-toolkit.git
cd x-post-toolkit
- Open
chrome://extensionsor your browser's equivalent extensions page. - Enable Developer mode.
- Choose Load unpacked.
- Select the cloned
x-post-toolkitfolder.
The extension currently supports Chrome, Helium, Comet, Arc, Brave, Edge, Vivaldi, Chromium, and Opera on macOS.
4. Connect the Native Messaging host
From the repository folder, run:
./scripts/install_native_host.sh
The installer normally detects the unpacked extension ID and creates the browser-specific manifest. If detection fails, copy the extension ID from the extensions page and run:
./scripts/install_native_host.sh <extension_id>
Reload the extension, refresh the X or Google Drive page, and keep Spokenly open in the background.
5. Use it
- Open a supported X video post or Google Drive video preview.
- Select the injected Download or Transcript action.
- Follow the bottom-right progress message.
- After verification, the transcript is copied and added to browser-local history.
Open the extension popup to copy clean or timestamped text, export TXT or SRT, adjust timestamp frequency, include the post title, or change history retention.
Troubleshooting
“Native host is unavailable”
Run the installer again with the extension ID, reload the extension, and refresh the page.
“Spokenly is unavailable”
Start Spokenly, enable Voice for AI Agents (MCP), and confirm Parakeet v3 is selected for file transcription.
No MP4 is found
The post may be private, deleted, protected, region-restricted, expired, or use a media format that is not currently supported. The extension does not bypass access controls.
The result is incomplete
The extension rejects incomplete audio and transcripts instead of saving them. Try again and inspect ~/Library/Logs/xvdl-native-host.log if the problem continues.