# Transcribe Short Video

> Transcribe local short-video and audio files into timestamped Chinese or multilingual text, JSON, and SRT using a local faster-whisper workflow. Use when the user provides downloaded MP4, MOV, MKV, WEBM, MP3, WAV, M4A, AAC, or FLAC material and asks for speech transcription, subtitles, or a transcript for a downstream OCR or knowledge-ingestion workflow.

- Skill: `babyracoonbbq/transcribe-short-video` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add babyracoonbbq/transcribe-short-video`
- Raw SKILL.md: https://api.skillmd.com/api/skills/babyracoonbbq/transcribe-short-video/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: BabyRacoonBBQ (https://skillmd.com/u/babyracoonbbq)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/babyracoonbbq/transcribe-short-video

---


# Transcribe Short Video

Transcribe locally. Keep source media and transcripts private unless the user explicitly requests publication.

## Workflow

1. Verify that the input is a local file or directory. Do not use this skill to bypass platform access controls or download protected content.
2. Check dependencies with `python scripts/transcribe.py --check`.
3. If dependencies are missing, read `references/setup.md`. Explain the missing component and install only within the user's approved environment.
4. Run the script on one file or a directory. For Chinese-heavy material, keep `--language zh`; use `--language auto` for mixed or unknown speech.
5. Inspect `raw.json` and `transcript.txt` for obvious recognition errors, especially product names, platform names, prices, and English tool names. Preserve uncertain wording instead of silently inventing it.
6. Return the transcript directory to the caller. Leave summarization, tagging, and Library routing to the ingestion skill.

## Commands

```powershell
python scripts/transcribe.py <input> --output-root <directory> --language zh
python scripts/transcribe.py <input-directory> --output-root <directory> --language auto
python scripts/transcribe.py <input> --output-root <directory> --force
```

The script writes one folder per source file containing:

- `raw.json`: source metadata, detected language, duration, and timestamped segments.
- `transcript.txt`: readable timestamped transcript.
- `subtitles.srt`: subtitle file.

It skips an existing complete output unless `--force` is supplied. Default model is `large-v3`, with GPU `float16`; if GPU loading fails it retries `int8_float16`, then CPU `int8`. Use `--model turbo` or `--model medium` only when resource constraints require it.

## Boundaries

- Do not perform OCR, screenshots, summarization, or knowledge-base writes here.
- Do not add speaker diarization in v1.
- Do not commit source media, transcripts, cookies, or model caches.
- Do not claim a transcript is verbatim when audio is unclear. Mark uncertain spans during review.


