Video Transcript
Produce a faithful transcript, with raw text retained for comparison. Run the
bundled scripts/transcribe.py; resolve its path relative to this Skill's
directory. Paths below assume the current directory is the Skill root.
Choose the input and engine
- If a complete, readable transcript already exists, use it for interpretation
instead of retranscribing.
--from-textformats existing UTF-8 plain text. SRT/VTT need cue parsing first; they are not accepted as plain transcript text. - Prefer local ASR unless the user has chosen cloud processing or an established
preference authorizes it.
--engine groquploads audio to Groq; never silently fall back from local processing to a cloud service. - For a strict “offline / nothing leaves my machine” request, use
--offlinewith existing local files, executable, and model. Do not read the resulting transcript into a remote agent context; report file paths and process status. Local transcription without this strict constraint may be followed by normal agent review. - For web inputs, use
references/sources.md. For missing dependencies, usereferences/setup.md. The downloader does not bypass access controls.
Run
# Local media. Set WHISPER_CPP_BIN and WHISPER_MODEL during setup.
python scripts/transcribe.py recording.mp4 --output transcripts/session-01
# Explicitly authorized cloud transcription; key comes from GROQ_API_KEY.
python scripts/transcribe.py recording.mp4 --engine groq --output transcripts/session-02
# Strict offline mode.
python scripts/transcribe.py recording.wav --offline --output transcripts/session-03
# Existing text: no media processing or API calls.
python scripts/transcribe.py raw.txt --from-text --output transcripts/session-04
For local mixed speech, use the known dominant language as a hint (for example
--language zh for a Chinese course with English phrases) and check that both
languages survive. In a synthetic test, local auto rendered Chinese speech in
English; explicit zh retained both. If the language is unknown, start with
auto and inspect a short sample before a long run. Groq auto-detects per chunk.
Language selection is a recognition hint, not a request to translate.
Inspect --help for explicit model and tool
paths. The output directory must be new; source files remain untouched.
Review and deliver
- A zero exit code plus a nonempty
transcript.mdmeans the pipeline completed, not that every word is correct. Readmetadata.jsonfor warnings. - Except in strict offline mode, compare beginning, middle, ending, names, and
numbers with
raw.txtand available source evidence. Inspect audio around uncertain words when tools allow. Do not invent inaudible words. - Formatting preserves all nonblank lines by default. Repeated-line removal
(
--deduplicate) and simplified Chinese conversion (--simplified) require a relevant user request. Raw text always survives for comparison. - Keep transcription separate from summaries. Correct terms only with evidence; describe remaining uncertainty. Do not label a merely generated draft verified.
- Deliver the transcript bundle, name the engine, and state any material limits. A failed chunk aborts the job; do not present partial text as a complete result.
The bundle contains transcript.md, raw.txt, metadata.json, and local-engine
raw.srt when produced. Segmentation boundaries may cut words in cloud mode;
see references/sources.md for current limits.