Video to SRT
Workflow
- Create a new top-level task folder for the request in the workspace.
- Locate the user's local media file and confirm the language choice only if it is unclear.
- Run
scripts/run_local_subtitles.shfrom this skill folder. - Default to
--language zhand--model small. Switch to--language autofor mixed language audio. Switch to--model mediumonly when the user wants better accuracy and accepts slower runtime. - Inspect the generated
.srtfile by checking the first and last few cues before handing it off. - Return the subtitle path and mention that editors which accept
SRT, including Jianying desktop, can import it.
Stable Defaults
- Keep dependency installation inside a local virtual environment created by
scripts/run_local_subtitles.sh. - Keep caches local to the skill folder. This avoids macOS cache permission issues.
- Keep
HF_HUB_DISABLE_XET=1enabled. This avoids a common Hugging Face Xet download failure. - Prefer
SRT. It is the simplest subtitle format for broad editor compatibility. - Override
VENV_DIR,HF_HOME, orXDG_CACHE_HOMEonly when reusing an existing environment or model cache is helpful.
Commands
Use the wrapper script for the normal path:
scripts/run_local_subtitles.sh "/absolute/path/to/video.mp4" --output-dir "/absolute/path/to/task/output" --copy-next-to-input
Use these common variants:
scripts/run_local_subtitles.sh "/absolute/path/to/video.mp4" --language auto --output-dir "/absolute/path/to/task/output" --copy-next-to-input
scripts/run_local_subtitles.sh "/absolute/path/to/video.mp4" --model medium --output-dir "/absolute/path/to/task/output" --copy-next-to-input
Validation
- If the wrapper needs to install packages or download a model, request permission when required by the environment.
- Confirm that the final
.srtexists. - Preview the first and last cues with
sed -n '1,24p'andtail -n 24. - If the user wants a faster import workflow, keep a copy beside the source media with
--copy-next-to-input.
Resources
scripts/run_local_subtitles.sh: create or reuse a local virtual environment, install dependencies, configure stable cache paths, and run transcription.scripts/transcribe_to_srt.py: transcribe media and write timecoded SRT output.scripts/requirements.txt: minimal dependency list for the workflow.