Communitygithub.com

screen-recording-voiceover

Transforma uma gravação de tela silenciosa (demonstração de produto, tutorial, walkthrough, reprodução de bug) em um vídeo narrado com um único comando. Encontra as etapas na gravação, ajuda a escrever uma linha por etapa, narra cada linha com uma voz salva ou clonada, inicia cada linha exatamente no momento da etapa, acelera ou congela quadros automaticamente quando uma linha é longa, mixa música opcional com redução automática, normaliza o volume e gera legendas SRT/VTT (opcionalmente incorporadas).

O que é screen-recording-voiceover?

Esta skill automatiza a tarefa tediosa de sincronizar narração com gravações de tela. Em vez de o usuário editar manualmente áudio e vídeo, ela primeiro analisa a gravação para detectar etapas (cliques, ações) usando `scenes.py`. Em seguida, gera um modelo de roteiro que o usuário ou a IA preenche com uma frase descritiva por etapa. A magia acontece no `voiceover.py`: ele envia cada frase para a API Miragea, que sintetiza a voz (a partir de uma voz salva ou clonada de um clipe de áudio público) e sincroniza cada linha exatamente com o início da etapa correspondente. Se a narração for mais longa que a ação, o vídeo é acelerado (até 1.15x) ou o último quadro da etapa é congelado até a fala terminar, deslocando as linhas seguintes para manter a sincronia perfeita. Opcionalmente, adiciona música de fundo com redução automática durante a fala, normaliza o volume para ~-16 LUFS (padrão YouTube/web) e gera legendas SRT/VTT que podem ser incorporadas ao vídeo. O custo é baseado em caracteres processados pela Miragea, e linhas inalteradas são reutilizadas do cache sem custo adicional. A skill é ideal para desenvolvedores que precisam criar demos, tutoriais, walkthroughs ou relatórios de bug narrados sem edição manual complexa, economizando horas de trabalho.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yyert123/miragea-skills/tree/HEAD/screen-recording-voiceover

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Narração de gravação de tela

A parte lenta de narrar uma gravação de tela não é a voz, é a sincronia: alinhar cada frase com o clique que ela descreve e corrigir os lugares onde a frase é mais longa que a ação. Esta skill faz ambos automaticamente e nunca deixa a narração derivar ou se sobrepor.

Quando usar

  • "Adicione uma narração a esta demonstração / tutorial / gravação de tela."
  • "Gravei minha tela silenciosamente, narre-a" ou "Não quero usar minha própria voz / sotaque."
  • "Faça a narração coincidir com o que acontece na tela."

Passos

  1. Verifique se MIRAGEA_API_KEY está definida (nunca a imprima). Voz: pergunte uma vez o ID da voz Miragea do usuário, ou uma URL pública de um clipe da voz dele mais as palavras exatas. Sugira export MIRAGEA_VOICE_ID=... para que nunca seja perguntado novamente. Apenas clone uma voz que o usuário possua ou tenha permissão para usar.

  2. Encontre as etapas e crie um modelo de roteiro:

    python3 scripts/scenes.py demo.mp4      # -> demo.frames/*.jpg, demo.frames/steps.json, demo.script.txt
    
  3. Observe os quadros em demo.frames/ (você pode ler imagens) e escreva uma frase clara por etapa no demo.script.txt após cada timestamp, substituindo o comentário # step. Mantenha-se dentro da dica ~N palavras para que a linha caiba antes da próxima etapa. Mescle, mova ou exclua etapas livremente. Se o usuário forneceu seu próprio roteiro, coloque suas frases nos timestamps correspondentes.

  4. Verifique o tempo sem gastar nada:

    python3 scripts/voiceover.py demo.mp4 demo.script.txt --dry-run
    

    Encurte qualquer linha marcada como will freeze se o usuário quiser zero quadros congelados.

  5. Renderize:

    python3 scripts/voiceover.py demo.mp4 demo.script.txt --voice VOICE_ID            # legendas como arquivos
    python3 scripts/voiceover.py demo.mp4 demo.script.txt --burn --music bed.mp3      # legendas incorporadas + música com redução
    
  6. Forneça ao usuário os caminhos do JSON impresso: video (MP4 narrado), voice_track (WAV para o editor dele), srt/vtt. Mencione frozen_seconds se for maior que zero.

  7. Para alterar uma linha, edite o roteiro e execute o passo 5 novamente: linhas inalteradas vêm do cache gratuitamente.

Formato do roteiro

[00:00] Bem-vindo à Acme. Aqui está o painel que você vê após fazer login.
[00:04] Clique em Novo Projeto, digite um nome e escolha a equipe que deve possuí-lo.
[01:02.5] É isso. Seu projeto está pronto.

Timestamps aceitos: [mm:ss], [h:mm:ss], mm:ss.s, 12.5s. Linhas começando com # são comentários.

Como a sincronia funciona

  • Cada linha começa exatamente no seu timestamp; 0,25 s de margem são mantidos antes da próxima etapa.
  • Uma linha mais longa que seu espaço é acelerada, no máximo --max-speed (padrão 1.15x, ainda natural).
  • Se ainda assim não couber, o vídeo segura o último quadro daquela etapa até a frase terminar, então continua. Linhas posteriores são deslocadas pela mesma quantidade, então a sincronia nunca é perdida.
  • As legendas são temporizadas a partir do comprimento real falado de cada linha (máximo 2 linhas x 42 caracteres).
  • O volume é normalizado para aproximadamente -16 LUFS (padrão YouTube/web). Música, se fornecida, tem volume reduzido sob a fala.

Opções

FlagPadrãoO que faz
--voice ID / --ref-url URL --ref-text TEXTenvVoz Miragea salva, ou clone a partir de um clipe público (texto exato = tarifa 1x mais barata)
--modelexpressiveou standard
--max-speed1.15Aceleração máxima antes de congelar quadros
--burndesligadoIncorporar legendas no vídeo
--music FILEnenhumMúsica de fundo, em loop e com redução automática
--keep-audiodesligadoManter o som original da gravação, baixo, sob a voz
--dry-runMostrar o plano de slots com uma taxa de fala estimada; sem chamadas de API
-o FILEVIDEO.voiceover.mp4Caminho de saída; o original nunca é modificado

Custo e limites

A fala é cobrada por caractere pela Miragea (1x com uma voz salva ou texto de referência exato; taxas ao vivo em GET https://miragea.ai/v1/capabilities). Uma demonstração de 3 minutos geralmente tem 2.000-3.000 caracteres. Cada linha deve ter menos de 2.000 caracteres. Clipes de referência devem ser URLs públicas até que o endpoint de upload da Miragea seja lançado.

Solução de problemas

  • no timestamp / not after the previous line -> corrija a linha do roteiro mencionada no erro.
  • no voice chosen -> passe --voice ou defina MIRAGEA_VOICE_ID.
  • 401 chave errada, 402 recarregue em miragea.ai, 429 aguarde e execute novamente (linhas em cache não são cobradas novamente).
  • Muitas ou poucas etapas do scenes.py -> --threshold 0.02 (mais) / 0.08 (menos), --min-gap.

Veja examples/ para um roteiro real, o JSON do plano e as legendas que ele produziu.

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/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

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.

Habilidades Relacionadas