Installation and configuration

From GitHub to your first transcript.

This developer release uses a Chrome extension, a local Native Messaging host, FFmpeg, and Spokenly. Allow about ten minutes for the first setup and model download.

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

  1. Install and open the current sideload macOS build of Spokenly.
  2. Open Dictation Models or Transcribe File.
  3. Download NVIDIA Parakeet TDT 0.6B v3.
  4. Select it as the model for file transcription.
  5. Enable Voice for AI Agents (MCP) so the local server is available.
  6. Optional: enable Local-only mode to disable Spokenly's online features.
Download the model inside Spokenly. You do not need a second Hugging Face or MLX copy for this extension. Spokenly manages the Apple-optimized FluidAudio/Core ML conversion.

3. Install the extension

Clone or download the public repository:

git clone https://github.com/Lemelson/x-post-toolkit.git
cd x-post-toolkit
  1. Open chrome://extensions or your browser's equivalent extensions page.
  2. Enable Developer mode.
  3. Choose Load unpacked.
  4. Select the cloned x-post-toolkit folder.

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

  1. Open a supported X video post or Google Drive video preview.
  2. Select the injected Download or Transcript action.
  3. Follow the bottom-right progress message.
  4. 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.