
Video Transcription
- 796 installs
- 19 repo stars
- Updated July 27, 2026
- postplusai/postplus-skills
video-transcription is a PostPlus media skill that transcribes remote or uploaded videos into timed transcripts and subtitle-ready outputs using hosted Whisper video-to-text for developers who need speech extraction from
About
video-transcription is a skill from postplusai/postplus-skills in the Media and Creative Production family that transcribes video into timed transcripts and subtitle-ready artifacts. It accepts remote HTTPS video URLs or local files after a PostPlus media-file upload, then runs hosted Whisper video-to-text to extract speech with timestamps. Developers reach for video-transcription when the input is video and the goal is caption generation, multilingual transcripts, edit-prep timing, or speech extraction—not semantic visual analysis, which belongs to the separate video-analysis skill. The skill fits content pipelines, accessibility captioning, and post-production workflows that need machine-readable timed text from spoken audio tracks.
- Hosted async path: submit writes request, response, manifest, generation handle, provider status, URLs, and artifacts wh
- Default `enableTimestamps: true` for subtitles and edit-prep timing decisions
- Derive `durationSeconds` from source video before submit for billing/preflight
- Use `video-analysis` instead when the user needs semantic visual analysis, not speech
- Media production family skill with explicit do-not-use and handoff boundaries
Video Transcription by the numbers
- 796 all-time installs (skills.sh)
- +50 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #317 of 1,335 Generative Media skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/postplusai/postplus-skills --skill video-transcriptionAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 796 |
|---|---|
| repo stars | ★ 19 |
| Security audit | 1 / 3 scanners passed |
| Last updated | July 27, 2026 |
| Repository | postplusai/postplus-skills ↗ |
How do you transcribe video to timed subtitles?
Turn uploaded video into timed transcripts and subtitle-ready artifacts through PostPlus hosted Whisper video-to-text.
Who is it for?
Developers building caption, transcript, or edit-prep pipelines who need hosted Whisper transcription from remote or uploaded video files.
Skip if: Tasks requiring semantic visual scene analysis of video frames rather than speech-to-text extraction from audio.
When should I use this skill?
The input is a video file and the goal is speech extraction, timed transcripts, captions, or multilingual subtitle generation.
What you get
Timed transcript text, subtitle-ready caption artifacts, and edit-prep timestamps extracted from video speech via Whisper.
- Timed transcript
- Subtitle-ready caption artifacts
Files
Video Transcription
Use When
- The input is a video file and the goal is speech extraction, timed transcript,
caption generation, multilingual transcript, or edit-prep timestamps.
- Use
video-analysisinstead when the user needs semantic visual analysis.
Do Not Use When
- The task belongs to ideation, QA, or another released skill listed in the handoff section.
- Required inputs are missing and guessing would change the result.
Execution Boundary
- Hosted video transcription runs through the public
postplus media transcribe
verb and is async. The generated example below shows the endpoint key.
- The transcription submit command accepts a remote HTTPS video URL. For a local
video file, first run the generic hosted upload step, read output.data.download_url from the upload result, then pass that HTTPS URL to --video.
- Request timestamps by default when results drive subtitles or edit decisions.
- Hosted video transcription is async. Submit writes request, response, manifest,
normalized transcript path, generation handle, provider status, provider URLs, and artifacts when already completed.
Source And Path
- Before submit, derive
durationSecondsfrom the source video or uploaded
source URL and include it in the hosted capability request input for billing/preflight.
- Start with one source file before larger batches.
- Keep internal requests, responses, normalized transcripts, and downloaded
artifacts under .postplus/video-transcription; keep final user-facing transcript exports outside .postplus.
Handoff
- If status is pending, return the manifest path, the
output.data.idgeneration
handle, and the poll command postplus media poll --handle <output.data.id>. Do not keep the conversation open just to poll.
- When completed, hand off
normalizedTranscriptPath, downloaded artifacts, and
final transcript paths to subtitle-packager if SRT/ASS is needed.
Stop Conditions
- Stop when required user intent, source evidence, or owned input artifacts are
missing and guessing would change the result.
- If an owned CLI or script command fails, report the exact error and stop. Do
not bypass the failure with metadata-only answers, readiness probing, local payload rewrites, fallback providers, or unpublished tools.
Public Command Boundary
- Choose the smallest matching command or workflow from the user input and run
it directly.
- Readiness diagnostics:
postplus doctor --skill video-transcription. - If an owned CLI or script command fails, report the exact error and stop. Do
not bypass the failure with metadata-only answers, readiness probing, local payload rewrites, fallback providers, or unpublished tools.
- Use
postplus media schema --jsononly when you need the full endpoint, flag,
and enum contract or are repairing an unknown request shape.
- Run the hosted transcription job with the generated command below; do not call
provider APIs directly.
- For a local file, first run
postplus media-file upload --skill video-transcription --input-file <video-file> --mime <video/mp4|video/quicktime|video/webm> --output <upload.json>. Then read the HTTPS output.data.download_url from <upload.json> and pass that URL as --video. Do not pass local paths, file:// URLs, or storageReference objects to postplus media transcribe.
- If the CLI returns a quote-confirmation challenge, run
postplus quote confirm --json --challenge-file <challenge.json>and retry with the returned token.
<!-- BEGIN GENERATED EXECUTION EXAMPLE -->
postplus media transcribe transcription-video \
--video <video> \
--duration-seconds <duration-seconds> \
--output <result.json><!-- END GENERATED EXECUTION EXAMPLE -->
Related skills
How it compares
Pick video-transcription over video-analysis when the deliverable is spoken-word timed text, not visual scene interpretation.
FAQ
What inputs does video-transcription accept?
video-transcription accepts remote HTTPS video URLs directly or local video files after upload through PostPlus media-file. Both paths feed hosted Whisper video-to-text for timed speech extraction.
When should I use video-analysis instead?
video-transcription fits speech extraction, captions, and timed transcripts from video audio. postplusai recommends video-analysis when the goal is semantic visual understanding of on-screen content rather than spoken words.
Is Video Transcription safe to install?
skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.