# Transcribe Anything — guide skill for captions & subtitles

> **For AI agents:** find the right skill in one call — `curl -s "https://skills.varg.ai/api/search?q=<what the person wants>"` returns the matching use case and the best skills with install commands, as markdown (Russian works too). Full index: https://skills.varg.ai/llms.txt. Every page has a markdown twin: add `.md` to its path. Before generating anything, show the person the options on the use-case page.

Transcribe hours of audio or video with whisper, whisperX or cloud STT: word timestamps, speaker labels, SRT/VTT.

- **Type:** [Guide](https://skills.varg.ai/guides.md) · [Captions & subtitles](https://skills.varg.ai/browse/skills/captions.md)
- **Slug:** `swyx-transcribe-anything`
- **Status:** live
- **Publisher:** Shawn Wang (swyx) (community)
- **License:** MIT
- **Source:** https://github.com/swyxio/skills/tree/main/transcribe-anything
- **Works in:** Claude Code, Codex, Cursor
- **Requires:** ffmpeg, At least one ASR backend (openai-whisper or MLX Whisper by default), HF_TOKEN with accepted pyannote terms for diarization (optional), Provider keys only for cloud backends (OPENAI_API_KEY, GROQ_API_KEY, DEEPGRAM_API_KEY, ASSEMBLYAI_API_KEY, GEMINI_API_KEY)
- **Cost:** Free with local backends; cloud backends bill your own provider keys
- **Adoption:** 10 installs, 176 GitHub stars (GitHub + skills.sh, 2026-10-26)

## What it does

A backend-routing transcription guide from swyx: it prepares media with ffmpeg (audio extraction, silence detection and trimming, chunking under API size limits), then runs local Whisper, MLX Whisper, faster-whisper, whisper.cpp, insanely-fast-whisper or whisperX, or the OpenAI, Groq, Deepgram, AssemblyAI or Gemini APIs. It covers word-level timestamps (`word_timestamps=True`, whisperX alignment), pyannote or NeMo diarization with a QA gate, custom vocabulary and SRT/VTT export, although its default output is a Markdown transcript. Instructions only; the repo README says the collection reflects the author's own setup, and setup lines use `pip3 install --break-system-packages`.

## Use when

- Transcribe a video, audio file or podcast
- Word-level timestamps to drive captions
- Speaker labels on a long interview
- Very long files (1–8+ hours) that need chunking

## Not for

- Long diarization on a local CPU without explicit opt-in (the skill says not to)
- Styling or burning captions (pair with caption-animation or ffmpeg-captions-subtitles)

## Install

- Claude Code: `npx skills add https://github.com/swyxio/skills --skill transcribe-anything`
- Codex: `npx skills add https://github.com/swyxio/skills --skill transcribe-anything`
- Cursor: `npx skills add https://github.com/swyxio/skills --skill transcribe-anything`

**Models it drives:** whisper, whisperx, faster-whisper, gpt-4o-transcribe

## More captions & subtitles skills

- [3D Camera Captions](https://skills.varg.ai/skills/hyperframes-camera-3d-captions.md): Captions that live in 3D around a talking head: the camera flies through the words, heroes pass behind the speaker.
- [Remotion Captions](https://skills.varg.ai/skills/remotion-captions.md): Transcribe speech and burn in animated captions with Remotion, or import an existing SRT file.
- [ElevenLabs Speech to Text](https://skills.varg.ai/skills/elevenlabs-speech-to-text.md): Transcribe audio and video with word timestamps, speaker labels and keyterms, ready for subtitles.
- [ElevenLabs Speech to Text (inference.sh)](https://skills.varg.ai/skills/inference-sh-elevenlabs-stt.md): Transcribe audio with ElevenLabs Scribe, speaker diarization and forced alignment, via inference.sh.
- [Speech to Text](https://skills.varg.ai/skills/inference-sh-speech-to-text.md): Transcribe audio with ElevenLabs Scribe v2 or Whisper V3 Large, with timestamps and speaker labels.
- [Pretext Text Metrics](https://skills.varg.ai/skills/pretext-yaniv-golan.md): Measure and fit text without the DOM using pretext: auto-fit sizes, know line breaks before render, canvas/WebGL text.
