Skip to content
Back to skills

Video Translation

ASecurity

Translate existing video speech and produce an optional speaker-guided dub with exact source/VAD/transcript joins, local stems, bounded timing, executable technical QA and separate unresolved listening review.

  • 23 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added October 6, 2026
ai-agents

Works with

  • terminal

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add Galbaz1/video-research-mcp --skill video-translation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Video Translation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Video Translation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/galbaz1-video-translation/badge)](https://www.skillsdirectory.com/skills/galbaz1-video-translation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: video-translation
description: Translate existing video speech and produce an optional speaker-guided dub with exact source/VAD/transcript joins, local stems, bounded timing, executable technical QA and separate unresolved listening review.
---

# Video translation

## Installed workflow resources

For a Claude installer layout, use the adjacent managed support directory
`../video-research-resources/` and its `../video-research-resources/docs/integrations/qwen-dubbing.md`.
The repository-relative references below apply when using a source checkout or unpacked npm package. Installing resources does not activate optional runtimes, providers or external source components.

Inspect one durable project with get_video_translation_state. Follow the first
applicable route: validate/listen to a current delivery, resume a validated plan,
translate accepted evidence, or prepare/analyze a new source.
Read [the integration contract](../../docs/integrations/qwen-dubbing.md) for
operator configuration, strict schemas, limits, source mappings and readiness.

The complete workflow is source video → local stems/VAD → reconciled transcript →
spoken translation groups/references → local dubbed render → technical QA →
separately supplied listening review. Preparation/rendering are executable;
source interpretation and translation remain agent work. The external service
and isolated Qwen ChatCut must be independently licensed/configured. Missing or
unready service is terminal readiness evidence. Never auto-download/launch models,
select a credit/provider fallback or treat readiness as submission/voice authority.

## Source analysis

With explicit authority for the source and external operations, call
check_dubbing_service and prepare_video_translation_project using the actual
SHA256, project directory and languages. Preparation extracts full PCM, invokes
separate_dubbing_audio and detect_dubbing_speech through the exact contracts, and
stores returned audio locally. Never use server-local paths.
Pass the requested analysis_only, translation_only, full or resume target and
retain the user-approved style_brief. Standalone separation supports the source
model selector; detect_dubbing_speech accepts strict VadSettings for the verified
threshold/hop/minimum-run/padding controls. synthesize_dubbing_speech executes one
approved utterance/reference pair and returns local PCM with unresolved listening.

Use independently configured isolated ChatCut omni_call for speech, visible
subtitles, speakers and approximate absolute times. The documented entry point
is pinned to Qwen-MM-Plugins 07736672525443c7f8a3f6405eed37d2236f023f; installation
and availability remain unknown until checked. Do not silently change providers.
At duration <=600 seconds, request the complete source once; longer recordings
require ordered bounded windows, complete coverage and reconciled overlaps.

Reconcile audio, visible subtitles, VAD, continuity and audible boundaries. VAD is
speech presence, not speaker/sentence authority; low overlap is a review flag.
Do not invent OCR when subtitles are absent. Write Transcript to
analysis/transcript.json with source/VAD hashes, detected language,
evidence_windows, ordered source segments and unresolved_issues. Material
unresolved facts block rendering. Analysis-only stops after transcript review.

## Translation and per-group references

Author TranslationPlan in plan/translation_plan.json. Copy exact source/VAD/
transcript hashes and languages. Preserve meaning, names, tone and natural spoken
delivery. Consume each transcript segment exactly once and in order; merge
adjacent same-speaker items when appropriate, recording exact IDs/text/span and a
concrete reason. Never merge across speakers or hide omitted meaning with speed.

Choose an evidenced reference independently per group: its own clean speech
first, preferably >=1.5 seconds; adjacent same-speaker items with gaps <=1.2 seconds
next; nearby clean same-speaker speech if needed. Record IDs, interval and reason.
Never select another speaker or use real enrollment/registry operations. The
service retains its default emotion settings.

Call validate_video_translation_plan. Duration estimates are only diagnostics.
Revise only the affected translation/group/reference when evidence is unresolved
or speech cannot fit. Translation-only stops after validation.

## Render, resume and listening

Review the complete background stem; omit it only after a whole-stem decision.
Keep include when uncertain. Call render_video_translation with the valid plan.
It cuts exact references, uses journaled TTS candidates, preserves short speech
pace, borrows at most 0.3 seconds/half adjacent gaps, centers silence/fades and
accelerates at most 1.18x. Known overlong speech permits at most three candidates
for that group when the estimate is <=1.35x; cached candidates count toward the
total. Unknown/interrupted effects stop for reconciliation without another request.

Voices retain their source timeline. The full background is mixed when selected
with normalize=0; measured two-pass normalization is applied once to the final
mix. Supported source video/subtitle streams are copied into Matroska with
lossless dubbed audio. QA checks output identity, all streams, duration, full
decode, stream preservation, replaced audio, actual decoded mix and source/stem/
segment accounting. Unsupported streams fail explicitly. Each content-addressed
render preserves its outputs/failures; full/current.json selects a report.
Resume only content-matching completed effects. Never reset or rename unknown
intent to make it runnable again.
After a listening issue, pass regenerate_segment_ids for only the affected known
groups; keep successful groups unchanged. Unknown effects block even across
changed plans and generation names. Exhausted overlong speech requires revised
translation. Full source/stem refresh uses a new prepared project with fresh
evidence joins, preserving the earlier project.

Surface output/report links, segment count, every timing/risk flag and all
unresolved listening segments with time range, translated text and reason.
Inspect acceleration >1.12x, fill <60%, short references, merged units, silence,
retries, order/overlap, meaning, pronunciation, identity drift and mix balance.
Listen end to end even with no automatic flags. Write ListeningReview beside
the selected report, bound to output/plan hashes, with all five checks per segment:
translation, timing, voice_reference, natural_delivery and mix. Retain FAIL and
UNRESOLVED cases.

Call validate_video_translation_delivery. Never manufacture listening PASS from
technical QA, duration estimates, model confidence or filenames. Report supplied
review assertions separately from independent listening/service/model/native
qualification and Root's product acceptance.

Protocol/workflow attribution: QwenLM/Qwen-MM-Plugins at the pin above,
Apache-2.0 original code/skills. This is an independently authored integration
workflow; no original implementation, launcher or model is copied/bundled.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.