Communitygithub.com

yyert123/shorts-voiceover

Make a finished vertical short video (YouTube Shorts, TikTok, Instagram Reels; 1080x1920 MP4) from a plain-text script in one command, with AI voiceover in a saved or cloned voice, word-timed pop captions taken from the real speech, Ken Burns motion on images, cropped and looped B-roll clips or animated gradient backgrounds, auto-ducked background music and -14 LUFS loudness. Use when the user asks to turn a script, tips list, story or blog post into a Short/Reel/TikTok, make a faceless short wi

What is shorts-voiceover?

shorts-voiceover is a Claude Code agent skill that make a finished vertical short video (YouTube Shorts, TikTok, Instagram Reels; 1080x1920 MP4) from a plain-text script in one command, with AI voiceover in a saved or cloned voice, word-timed pop captions taken from the real speech, Ken Burns motion on images, cropped and looped B-roll clips or animated gradient backgrounds, auto-ducked background music and -14 LUFS loudness. Use when the user asks to turn a script, tips list, story or blog post into a Short/Reel/TikTok, make a faceless short wi.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yyert123/miragea-skills/tree/HEAD/shorts-voiceover

Ask in your favorite AI

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

Documentation

Shorts voiceover

Script in, upload-ready Short out. Unlike tools that guess caption timing from text length, this skill transcribes the finished voice track, so every caption pops exactly when the word is spoken.

When to use

  • "Turn this script / these tips / this post into a Short (or Reel, or TikTok)."
  • "Make a faceless short with voiceover and captions." "Use my voice."
  • "Make 5 shorts from these scripts" -> run once per script file.

Steps

  1. Check MIRAGEA_API_KEY is set (never print it). Voice: the user's Miragea voice id, or a public URL of a clip of their voice plus its exact words. Suggest export MIRAGEA_VOICE_ID=.... Only clone a voice the user owns or may use.

  2. Write the script: one short paragraph per scene, blank line between scenes, 120-170 words total for a 45-60 s Short. Open with a hook in scene 1. Optional @file at the start of a scene picks its background:

    Three quick tips to make any voiceover sound professional.
    
    @broll/desk.mp4
    First, record in a small room with soft furniture. Echo is harder to fix than noise.
    
  3. Render:

    python3 scripts/short.py tips.txt --voice VOICE_ID                       # gradient backgrounds
    python3 scripts/short.py tips.txt --media ./broll --music bed.mp3        # user's images/clips + music
    
  4. Give the user video and srt from the printed JSON. Offer edits: change a scene's text and re-run; only that scene is re-voiced and the rest comes from the cache.

What is automatic

StepHow
VoiceEach scene voiced with Miragea; 0.18 s breath between scenes
Caption timingFinished voice track transcribed by Miragea; 1-3 word UPPERCASE cues, lower third
ImagesCropped to 9:16, slow zoom in/out alternating per scene
ClipsCropped to 9:16, looped or trimmed to the scene's length, original sound dropped
No mediaAnimated gradient (4 palettes, rotating)
MusicLooped, at 30%, sidechain-ducked under the voice
Loudness-14 LUFS integrated, -1 dBTP (Shorts/TikTok/Reels target)
Re-runsVoice per scene and transcript cached; unchanged scenes are free

Options

FlagDefaultWhat it does
--voice ID / --ref-url URL --ref-text TEXTenvSaved Miragea voice, or clone from a public clip
--media DIRnoneImages/clips for scenes without @file, in name order
--music FILEnoneBackground music, auto-ducked
--lowercaseoffSentence-case captions
--no-captionsoffSkip captions (no transcription cost)
--modelexpressiveor standard
-o FILESCRIPT.short.mp4Output path

Cost and limits

Voice: per character (a 150-word Short is ~850 characters). Caption timing: 3 points per second of the finished voice (~75 points for 25 s); cached afterwards. Live rates: GET https://miragea.ai/v1/capabilities. Scenes must be under 2,000 characters. A warning is printed above 3 minutes (YouTube's Shorts limit).

Troubleshooting

  • media file not found -> paths after @ are relative to the script or --media folder.
  • No such filter: gradients -> ffmpeg is older than 6.1; upgrade, or pass --media with images.
  • 401 key wrong, 402 top up at miragea.ai, 429 wait and re-run (nothing cached is re-billed).

Use only music and footage you have the rights to. See examples/ for a real script and its output.

Individual skills in this repo

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

yyert123/remotion-narration

Turn a video script into per-scene voiceover for Remotion in one command - one MP3 per scene in a saved or cloned voice, measured durations converted to durationInFrames, word-level captions in Remotion's Caption format, and an SRT. Use when building a narrated video with Remotion (or any React/code video tool), when the user asks to "add voiceover", "narrate these scenes", "sync scenes to the narration" or "add captions that follow the voice". Voice and timing by Miragea, no GPU or ElevenLabs a

yyert123/screen-recording-voiceover

Turn a silent screen recording (product demo, tutorial, walkthrough, bug repro) into a narrated video in one command. Finds the steps in the recording, helps write one line per step, voices each line with a saved or cloned voice, starts every line exactly at its step, speeds up or freezes frames automatically when a line runs long ("freeze-sync"), mixes optional ducked music, normalizes loudness and writes SRT/VTT captions (optionally burned in). Use when the user wants to add AI voiceover or na

yyert123/video-captions

Caption any video or audio file in one command. Produces clean, readable SRT and WebVTT subtitles (whole words, 42-char lines, proper timing) and can burn them into an MP4, including big centred 1-3 word "pop" captions for TikTok, Reels and YouTube Shorts. Use when the user asks to add subtitles or captions to a video, make an SRT/VTT file, transcribe a talk or podcast into captions, or burn captions into a short-form video. English-first; speech recognition by Miragea.

Related Skills