Generate timecoded SRT subtitles from local video or audio files. Use when a user wants a local low-cost subtitle workflow, asks to transcribe local media in...
Design & media
Audio SRT Workflow
Try itGenerate or align SRT subtitles from audio using this repository. Use when the user asks for subtitle generation, transcript-to-audio alignment, timing clean...
What it does
Generate or align SRT subtitles from audio using this repository. Use when the user asks for subtitle generation, transcript-to-audio alignment, timing clean...
The skill document
Audio SRT Workflow
Use this skill for end-to-end subtitle work.
This package is self-contained for runtime entrypoints:
scripts/align_to_srt.pyscripts/gui_app.pyscripts/srt_stats.pyscripts/make_preview_mp4.pyscripts/requirements.txt
Scope
- Mode A: audio + reference text -> aligned SRT
- Mode B: audio only -> auto subtitle SRT
- Timing QA with
srt_stats.py - Burned preview generation with
make_preview_mp4.py
Inputs To Collect First
- Audio path (
wav,mp3,m4a, ...) - Whether a reference transcript is available
- Output SRT path (or output directory)
- Language hint (
zh,en, ...) - Preferred run style: CLI, GUI, or Python API
Decision Rule
- If transcript exists, run Mode A (
align_to_srt.py --text ...). - If transcript does not exist, run Mode B via GUI or Python API (
run_auto_subtitle_pipeline).
Workflow
- Validate environment and paths.
- Choose Mode A or Mode B by transcript availability.
- Run subtitle generation from packaged scripts.
- Run timing diagnostics (
srt_stats.py). - If needed, render a preview mp4 with burned subtitles.
Resolve Skill Script Path
Set a local variable to your installed skill directory.
Codex default path:
SKILL_DIR="${CODEX_HOME:-$HOME/.codex}/skills/audio-srt-workflow"
OpenClaw/ClawHub install path example:
SKILL_DIR="/skills/audio-srt-workflow"
Environment Checks
Run these checks before execution:
python3 --version
ffmpeg -version
python3 -c "import faster_whisper; print('ok')"
If faster-whisper import fails:
# Review dependencies before installing:
cat "$SKILL_DIR/scripts/requirements.txt"
pip install -r "$SKILL_DIR/scripts/requirements.txt"
Mode A Command Template (Audio + Transcript)
python3 "$SKILL_DIR/scripts/align_to_srt.py" \
--audio "" \
--text "" \
--output "" \
--model small \
--language zh
Mode B Command Template (Audio Only)
GUI:
python3 "$SKILL_DIR/scripts/gui_app.py"
Or use Python API in scripts:
- Build config with
build_alignment_config(...) - Run
run_auto_subtitle_pipeline(...)
See command details in references/command-templates.md.
QA And Preview
Timing stats:
python3 "$SKILL_DIR/scripts/srt_stats.py" --srt ""
Preview video:
python3 "$SKILL_DIR/scripts/make_preview_mp4.py" \
--audio "" \
--srt "" \
--output ""
Output Conventions
- Default output uses
.srtextension. - Prefer dated naming for batch runs (for example
output_YYYYMMDD.srt). - Keep intermediate checks in a separate folder from final delivery files.
Notes
- For Chinese output (
zh), the pipeline strips commas/periods only. - If timings look off, inspect waveform snap related arguments before changing model size.
- This skill requires explicit invocation (
allow_implicit_invocation: false).
Related skills
For transcript or subtitle requests involving podcast URLs, public audio URLs/files, or raw transcript cleanup. Generates audio + SRT + TXT artifacts and can...
Export a standard .srt subtitle file from the MEASURED word timings in a job's input.json (written by elevenlabs-tts). Flattens the per-word timings into rea...
Transcribe audio and video with the transcribe.so CLI. Turns YouTube videos, podcasts (Apple Podcasts, Spotify, SoundCloud, Vimeo, Twitch, Loom), direct media URLs, and local audio or video files into speaker-labelled transcripts with timestamped segments, chapters, sections, cited Q&A, and subtitle files (SRT, VTT, karaoke VTT). Use when the user wants a transcript, show notes, chapters, subtitles, quotes, or answers grounded in a recording. 52 languages and dialects.
Transcribe uploaded audio through RunAPI with an OpenAI-compatible API. Use for one-off transcription, subtitle output, multilingual hints, or application integration. Prefer the RunAPI CLI for manual requests and the target-language SDK for production integration.
Translate SRT, VTT, and ASS subtitles safely