
Video Transcription
Turn uploaded video into timed transcripts and subtitle-ready artifacts through PostPlus hosted Whisper video-to-text.
Install
npx skills add https://github.com/postplusai/postplus-skills --skill video-transcriptionWhat is this skill?
- 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
Adoption & trust: 2 installs on skills.sh; 8 GitHub stars; 1/3 security scanners passed (skills.sh audits); trending (+200% hot-view momentum).
Recommended Skills
Journey fit
Shelved under Build → integrations because execution goes through PostPlus hosted `media-file` and `media-generation` endpoints, not local ffmpeg-only workflows. The skill is a released API capability (`transcription-whisper-with-video`) with async submit/poll semantics typical of media SaaS integrations.
Common Questions / FAQ
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.
SKILL.md
READMESKILL.md - Video Transcription
# 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-analysis` instead 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 - Released endpoint key is `transcription-whisper-with-video` through hosted `media-file` and `media-generation`. - Use `enableTimestamps: true` 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 `durationSeconds` from the source video 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, `generationHandle`, 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 --json` only when constructing or repairing an unknown request shape. - Hosted media capability: `postplus media capability --request <hosted-capability-request.json> --output <result.json>`. - Use the capability request shape required by the selected workflow; do not call provider APIs directly. - If the CLI returns a quote-confirmation challenge, run `postplus quote confirm --json --challenge-file <challenge.json>` and retry with the returned token.