Communitygithub.com

ai-video-voice

Voiceover and subtitles for a short video: single-take TTS synthesis, audio-picture sync by real duration, subtitle timing from audio, mix normalized to -14 LUFS. Runs after ai-video-render, before review.

What is ai-video-voice?

ai-video-voice is a Claude Code agent skill that voiceover and subtitles for a short video: single-take TTS synthesis, audio-picture sync by real duration, subtitle timing from audio, mix normalized to -14 LUFS. Runs after ai-video-render, before review.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LaomaiAI/ai-video-skills/tree/HEAD/skills/04-voice

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation


name: ai-video-voice description: Voiceover and subtitles for a short video: single-take TTS synthesis, audio-picture sync by real duration, subtitle timing from audio, mix normalized to -14 LUFS. Runs after ai-video-render, before review.

ai-video-voice: 配音

When to use

The silent video (film.mp4) exists. This skill adds voiceover, subtitles, and the final mix. It never changes the picture.

1. Check the voice config first

Run the TTS config check before synthesizing (for example a doctor command if the TTS tool provides one). Report missing configuration to the user; do not silently switch to a different voice.

  • If the user asked for a personal voice and its config is missing or broken, pause only the affected voiceover. Do not silently swap in another voice.
  • Personal voice configs, recordings, reference clips, and model weights stay in a private directory. They never enter this repository.

2. Synthesize in one whole take

  • Synthesize the voiceover in one whole take, not stitched sentence by sentence. Stitching creates audible seams and drift.
  • If the voice model or reference clip changes, generate a new version of the voiceover. Never overwrite the old audio file.

3. Audio-picture sync uses real duration

  • Sync by the voiceover's real duration. Never time-stretch audio to fit a shot.
  • If footage is short, hold the last frame to fill the gap. If footage is long, cut the lowest-information segment.
  • Land heavy actions on strong beats. Move sound effects from the motion itself.

4. Subtitles follow the audio

  • Subtitle timing comes from the audio, not from the script estimate. Transcribe with a speech recognizer when available; without one, use the script plus silence detection (error can reach 0.4 seconds).
  • Correct misrecognitions against the script. Cut leading and trailing sentences that belong to neighbors.
  • Deliver captions.srt with the film. If the film is re-cut for an editor that adds its own subtitles, also deliver a no-subtitle video plus the .srt file.

5. Mix

  • Normalize the mixed audio to -14 LUFS.
  • Keep music, voiceover, and sound effects on one timeline with the picture.
  • Check audio peak and full decode before handing off to review.

Output contract

  • voiceover.wav (or .mp3), one whole take.
  • captions.srt.
  • mix-report.md (duration, peak, LUFS, subtitle source and error bound).

Rules

  • A missing voice config blocks voiceover only. It never blocks script or picture work.
  • Never claim a subtitle file is exact when it came from silence detection; write the error bound in the mix report.
  • No upload or deployment of audio without release authorization.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Related Skills