Communitygithub.com

yyert123/remotion-narration

Verwandle ein Videoskript in einer einzigen Aktion in eine Voiceover pro Szene für Remotion – eine MP3 pro Szene mit einer gespeicherten oder geklonten Stimme, gemessene Längen umgerechnet in durationInFrames, Untertitel auf Wortebene im Remotion-Caption-Format und eine SRT-Datei.

Was ist remotion-narration?

Dieses Skill automatisiert die Erstellung eines Voiceover-gesteuerten Remotion-Compositions. Es generiert für jede Szene eine separate MP3-Datei mit einer gespeicherten oder per Referenzklon erstellten Stimme, ermittelt die exakte Audiolänge und berechnet daraus `durationInFrames`, `startFrame` sowie Untertitel auf Wortebene im nativen Remotion-`Caption[]`-Format. Zusätzlich wird eine SRT-Datei ausgegeben. Das Skill ist ideal für Entwickler, die mit Remotion (oder jedem React-/Code-Video-Tool) arbeiten und eine einfache, präzise Synchronisation von Szenen mit Sprachaufnahmen benötigen – ohne GPU oder ElevenLabs. Es unterstützt sowohl gespeicherte Stimmen (via `--voice`) als auch Stimmenklonen (via `--ref-url`), bietet automatische Wiederaufnahme bei Unterbrechungen und erkennt unveränderte Szenen, um Kosten zu sparen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yyert123/miragea-skills/tree/HEAD/remotion-narration

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht remotion-narration?

Schreibt alles, was eine Remotion-Composition benötigt, um von ihrem Voiceover gesteuert zu werden: Audio pro Szene, exakte Laufzeiten, Startframes und Untertitel. Die Szenenlängen stammen aus dem tatsächlichen Audio, sodass nichts driftet.

Wann verwenden

  • Der Benutzer hat ein Skript (Markdown, Text oder JSON) und ein Remotion-Projekt und wünscht eine Vertonung.
  • Szenen sollen genau so lange dauern wie ihr Voiceover; Untertitel sollen dem Wortlaut folgen.

Schritte

  1. Stelle sicher, dass MIRAGEA_API_KEY gesetzt ist (niemals ausgeben). Wähle die Stimme:

    • --voice VOICE_ID – eine im Miragea-Konto des Benutzers gespeicherte Stimme, oder
    • --ref-url https://... – einen öffentlichen Clip der zu klonenden Stimme (mit Zustimmung des Benutzers) plus --ref-text "genaue Wörter im Clip" für den günstigeren 1x-Tarif.
  2. Schreibe das Skript. Jede ## Überschrift (oder leerzeilengetrennter Absatz) wird zu einer Szene:

    ## intro
    Lernen Sie Retake kennen, den schnellsten Weg, einen Versprecher zu korrigieren.
    ## demo
    Geben Sie das richtige Wort ein. Retake spricht den Satz neu ein und fügt ihn ein.
    
  3. Generiere in den Remotion-Ordner public/:

    python3 scripts/narrate.py script.md --voice VOICE_ID --out public/narration --fps 30
    
  4. Verwende public/narration/narration.json in der Composition (siehe examples/Narrated.tsx): totalFrames für durationInFrames, startFrame / durationInFrames jeder Szene für eine <Sequence>, staticFile('narration/' + scene.file) für <Audio> und scene.captions (Remotion Caption[]: text, startMs, endMs, timestampMs, confidence) mit @remotion/captions createTikTokStyleCaptions() für animierte Untertitel.

  5. Bearbeite das Skript und führe es erneut aus: unveränderte Szenen werden aus dem Manifest ohne Kosten wiederverwendet; falls ein Lauf mittendrin abbricht, bleiben fertige Szenen erhalten und der nächste Lauf setzt fort.

Optionen

FlagStandardBedeutung
--fps30Bildrate für die Frame-Berechnung
--pad0.4Sekunden Luft nach jeder Szene
--captions mirageajaZeitsteuerung der Untertitel aus dem generierten Audio (genau; +3 Punkte/s)
--captions estimateKostenlos: verteilt Wörter nach Länge
--modelexpressivestandard folgt der Referenzstimme genauer
--speed1.00,25–4

Szenen länger als 2.000 Zeichen werden an Satzenden geteilt und automatisch zusammengefügt.

Fehlerbehebung

  • wähle eine Stimme -> --voice oder --ref-url übergeben. Referenz-URLs müssen öffentlich, unter 1.024 Zeichen lang und direkt ausgeliefert werden (GitHub-Rohdaten, S3/R2-öffentliche Objekte funktionieren; signierte Weiterleitungen möglicherweise nicht).
  • 401/402/429 -> Schlüssel, Guthaben, Ratenlimit. Ein erneuter Durchlauf ist immer sicher.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills