gettr-transcribe
Download audio from a GETTR post or streaming page and transcribe it locally with MLX Whisper on Apple Silicon (with timestamps via VTT). Use when given a GETTR URL and asked to produce a transcript. Summarization is handled by the caller.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/kevin37li/gettr-transcribeGettr Transcribe (MLX Whisper)
Quick start
# 1. Parse the slug from the URL (just read it — no script needed)
# https://gettr.com/post/p1abc2def → slug = p1abc2def
# https://gettr.com/streaming/p3xyz → slug = p3xyz
# 2. Get the audio/video URL via browser automation (see Step 1 below)
# For /streaming/ URLs: extract the .m4a audio URL
# For /post/ URLs: extract the og:video .m3u8 URL
# 3. Run download + transcription pipeline
bash scripts/run_pipeline.sh "<AUDIO_OR_VIDEO_URL>" "<SLUG>"
To explicitly set the transcription language (recommended for non-English content):
bash scripts/run_pipeline.sh --language zh "<AUDIO_OR_VIDEO_URL>" "<SLUG>"
Common language codes: zh (Chinese), en (English), ja (Japanese), ko (Korean), es (Spanish), fr (French), de (German), ru (Russian).
This outputs:
./out/gettr-transcribe/<slug>/audio.wav./out/gettr-transcribe/<slug>/audio.vtt
Summarization is handled separately by the caller (see your prompt for summarization instructions).
Workflow (GETTR URL → transcript)
Inputs to confirm
Ask for:
- GETTR post URL
- Language (optional): if the video is non-English and auto-detection fails, ask for the language code (e.g.,
zhfor Chinese)
Notes:
- This skill does not handle authentication-gated GETTR posts.
- This skill does not translate; outputs stay in the video's original language.
- If transcription quality is poor or mixed with English, re-run with explicit
--languageflag.
Prereqs (local)
mlx_whisperinstalled and on PATHffmpeginstalled (recommended:brew install ffmpeg)
Step 0 — Parse the slug and pick an output directory
Parse the slug directly from the GETTR URL — just read the last path segment, no script needed:
https://gettr.com/post/p1abc2def→ slug =p1abc2defhttps://gettr.com/streaming/p3xyz789→ slug =p3xyz789
Output directory: ./out/gettr-transcribe/<slug>/
Directory structure:
./out/gettr-transcribe/<slug>/audio.wav./out/gettr-transcribe/<slug>/audio.vtt
Step 1 — Get the audio/video URL via browser automation
Use browser automation to navigate to the GETTR URL and extract the media URL from the rendered DOM.
For /streaming/ URLs (primary path)
Streaming pages provide a direct .m4a audio download. Extract it by deriving from the og:video meta tag:
- Navigate to the GETTR streaming URL and wait for the page to fully load (JavaScript must execute)
- Extract the audio URL via JavaScript:
const ogVideo = document.querySelector('meta[property="og:video"]')?.getAttribute("content"); // Replace .m3u8 with /audio.m4a to get the direct audio download URL const audioUrl = ogVideo.replace(".m3u8", "/audio.m4a"); - Use the
.m4aURL for the pipeline in Step 2
The .m4a URL is a direct file download (no HLS), so it downloads faster and more reliably than the .m3u8 stream.
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-kevin37li-gettr-transcribe": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
gettr-transcribe-summarize
Download audio from a GETTR post (via HTML og:video), transcribe it locally with MLX Whisper on Apple Silicon (with timestamps via VTT), and summarize the transcript into bullet points and/or a timestamped outline. Use when given a GETTR post URL and asked to produce a transcript or summary.
mlx-whisper
Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).