Video Transcript TXT for Openclaw

Convert one or more local videos into clean, timestamped TXT transcripts without modifying the original media.

156554395
v1.0.0
Aug 10, 2026
0
229
0

Install & Download

1. ClawHub CLI

The fastest way to install a skill directly from the registry.

npx clawhub@latest install video-transcript-txt

2. Manual Installation

Copy the skill folder to one of these locations

Global
~/.openclaw/skills/
Workspace
<project>/skills/

Priority: Workspace > Local > Bundled

3. Prompt Installation

Copy this prompt to OpenClaw to install it automatically.

Help me install video-transcript-txt using Clawhub. If Clawhub is not installed, install it first (npm i -g clawhub).

Prefer to download?

Get the raw skill files in a ZIP archive.

What is Video Transcript TXT?

Video Transcript TXT is an Openclaw Skills workflow for transcribing complete local video files into readable plain-text documents with start and end timestamps for every valid speech segment. It uses uv, ffmpeg, ffprobe, and openai-whisper, while defaulting to Chinese (zh) when no language is specified.

The skill is designed for reliable single-file and batch transcription. It preserves source videos, rejects incomplete downloads, stores Whisper intermediate files only in temporary system directories, prevents unauthorized overwrites, and reports transcript paths, segment counts, media duration, and actual processing time.

Video Transcript TXT Use Cases

  • Transcribe a locally stored lecture, interview, meeting, webinar, or presentation.
  • Extract searchable spoken content from one or more video files.
  • Generate timestamped TXT files for editing, research, archiving, or knowledge management.
  • Batch-process multiple videos with bounded parallelism and per-file status reporting.
  • Measure both total successful video duration and real elapsed processing time.
  • Re-run transcription safely without overwriting existing results unless the user explicitly authorizes --force.
  • Process multilingual content by selecting the appropriate Whisper language code.

How Video Transcript TXT Works

  1. Validate each absolute input path, confirm it is a regular file, reject incomplete-download suffixes such as .downloading, .part, and .partial, and verify that the output is a .txt file.
  2. Check that uv, ffmpeg, and ffprobe are available before processing begins.
  3. Determine the default output path as <video filename>_整理版.txt in the source video's directory, unless a custom output path is supplied.
  4. Refuse to overwrite an existing final TXT unless the user has explicitly approved replacement and --force is provided.
  5. Use ffprobe to obtain the source video's media duration.
  6. Create a system temporary directory for all Whisper intermediate outputs.
  7. Run Whisper through uv run --with openai-whisper whisper, using the selected model and language, with generated JSON and other intermediate formats kept out of the video directory.
  8. Read the JSON segments array, retain valid segments, sort them chronologically, and format each line as [HH:MM:SS.mmm - HH:MM:SS.mmm] text.
  9. Atomically replace or create the final TXT, then remove the temporary directory on both success and failure while leaving the source video untouched.
  10. Emit the final TXT path, valid segment count, video duration, processing duration, and a machine-readable SUMMARY_JSON: line.
  11. For multiple videos, the main agent preflights all inputs, dispatches one video per sub-agent with a default concurrency limit of 2 and a maximum of 3, continues independent jobs after an individual failure, and summarizes successful and failed items.

Video Transcript TXT Setup

Requirements

Install or make available:

  • uv
  • ffmpeg
  • ffprobe
  • The skill script at ~/.claude/skills/video-transcript-txt/scripts/video_transcript_txt.py
  • Network access or a populated Whisper model cache when the selected model must be downloaded

Verify the command-line dependencies before running:

command -v uv
command -v ffmpeg
command -v ffprobe

Run a single video

uv run ~/.claude/skills/video-transcript-txt/scripts/video_transcript_txt.py \
  "/absolute/path/to/video.mp4"

The default output is created beside the source video as <video filename>_整理版.txt.

Choose an output path

uv run ~/.claude/skills/video-transcript-txt/scripts/video_transcript_txt.py \
  "/absolute/path/to/video.mp4" \
  --output "/absolute/path/to/result.txt"

Select a model, language, or cache directory

uv run ~/.claude/skills/video-transcript-txt/scripts/video_transcript_txt.py \
  "/absolute/path/to/video.mp4" \
  --model small \
  --language zh \
  --model-dir "~/.cache/whisper"

Supported operational options include --model (default small), --language (default zh), --model-dir (default ~/.cache/whisper), and --force. Use --force only after explicit user authorization to overwrite an existing final TXT.

Video Transcript TXT Data Schema & Taxonomy

Input and output organization

Item Format or rule
Input One or more absolute paths to complete local video files
Default output <video filename>_整理版.txt in the video's directory
Custom output A user-supplied .txt path via --output
Final transcript One TXT file per successfully processed video
Source media Never deleted, moved, or modified
Intermediate files Whisper JSON and related outputs exist only in a system temporary directory and are always cleaned up

Transcript line format

Each valid segment is written in chronological order using:

[HH:MM:SS.mmm - HH:MM:SS.mmm] text

The transcript does not invent speaker identities or silently correct names, numbers, dosages, or technical terms based on context.

Machine-readable metadata

The terminal emits a SUMMARY_JSON: record for automation. Per-video summary fields include:

  • Source video absolute path
  • Final TXT absolute path
  • status: success or error
  • Failure reason, when applicable
  • Video duration in seconds
  • Valid segment count
  • Actual single-video processing time in seconds
  • Whisper model and language

For batch runs, the aggregate report tracks successful and failed counts, each output path, each video's duration, each processing time, total duration of successfully processed videos, and wall-clock elapsed time for the complete batch. These two duration measurements remain explicitly separate.

Video Transcript TXT Advanced Features

  • Timestamp precision down to milliseconds for every retained speech segment.
  • Whisper model selection through --model, with small as the default.
  • Language selection through --language, defaulting to zh when unspecified.
  • Configurable Whisper model caching through --model-dir.
  • Safe overwrite controls that require explicit authorization before --force is used.
  • Atomic final-output replacement to reduce the risk of incomplete TXT files.
  • Temporary-directory isolation and cleanup on both successful and failed runs.
  • Batch orchestration through a main agent and one-video-per-sub-agent execution.
  • Concurrency limits of two videos by default and up to three when resources and video lengths permit.
  • Graceful serial fallback when sub-agents or parallel execution are unavailable.
  • Failure isolation: one failed video does not block unrelated videos in the same batch.
  • Machine-readable SUMMARY_JSON: output for downstream agents, scripts, and Openclaw Skills integrations.
  • Clear distinction between aggregate media duration and wall-clock processing time during parallel execution.

SKILL.md


Loading

Related Openclaw Skills

METADATA

Github Stars: 0
forks: 0

Featured*