Communitygithub.com

memex-lab/product-launch-video-skill

Erzeuge natürlich klingende, ausdrucksstarke Sprache aus Text mit Google Gemini TTS. Ideal für Voiceovers, Erzählungen, Podcasts und jede Text-zu-Sprache-Aufgabe.

Was ist product-launch-video-skill?

Dieses Skill ermöglicht es, mit Google Gemini TTS aus Text hochwertige Sprachaufnahmen zu generieren. Es unterstützt über 70 Sprachen, 30 vorgefertigte Stimmen und eine flexible Steuerung von Stil und Emotion durch natürliche Sprachbefehle sowie Inline-Audio-Tags. Der Kern des Skills ist ein Skript (`generate-tts.mjs`), das mehrere Textsegmente in einem einzigen API-Aufruf kombiniert, um eine konsistente Stimme über alle Segmente hinweg zu gewährleisten – ein Problem, das bei separaten Anfragen auftreten kann. Das Skript erkennt dann automatisch Pausen zwischen den Segmenten und trennt sie in einzelne Audiodateien auf, was es besonders nützlich für Voiceover-Skripte oder Podcast-Folgen macht. Das Skill ist für die Entwicklerumgebung ausgelegt und erfordert Node.js 18+, ffmpeg, das `@google/genai` npm-Paket und den API-Key `GEMINI_API_KEY`. Es kann sowohl auf der Kommandozeile als auch in CI/CD-Pipelines eingesetzt werden.

Funktioniert mit~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/memex-lab/product-launch-video-skill/tree/main/skills/gemini-tts

In Ihrer bevorzugten KI fragen

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

Dokumentation

Gemini Text-to-Speech

Erzeuge natürliche, ausdrucksstarke Sprache aus Text mit Google Gemini TTS. Unterstützt über 70 Sprachen, 30 vorgefertigte Stimmen und Stilkontrolle über natürliche Sprachbefehle und Audio-Tags.

Voraussetzungen: Node.js 18+, ffmpeg, @google/genai npm-Paket, GEMINI_API_KEY Umgebungsvariable.

Verfügbare Skripte

  • scripts/generate-tts.mjs — All-in-One TTS-Generator mit konsistenter Stimmführung, split basierend auf Stille und automatischem Trimmen.

Schnellstart

Einzelner Text-zu-Sprache

npm install @google/genai
GEMINI_API_KEY=your-key node scripts/generate-tts.mjs \
  --text "Hallo, willkommen zu unserem Produkt!" \
  --output-dir public/vo \
  --voice Kore

Mehrsegment-Voiceover (konsistente Stimme)

Erstelle eine segments.json:

[
  { "id": "intro", "text": "Willkommen zu unserem Produkt-Launch." },
  { "id": "features", "text": "Hier sind die drei Funktionen, die Sie lieben werden." },
  { "id": "close", "text": "Starten Sie noch heute auf unserer Webseite." }
]

Ausführen:

GEMINI_API_KEY=your-key node scripts/generate-tts.mjs \
  --segments segments.json \
  --output-dir public/vo \
  --voice Kore \
  --director-notes "Tonalität: Warmherzig, selbstbewusst, inspirierend. Stil: Professioneller Erzähler mit einem Lächeln in der Stimme. Akzent: Neutrales amerikanisches Englisch. Tempo: Moderato."

Ausgabe (JSON auf stdout):

{
  "success": true,
  "segments": [
    { "id": "intro", "file": "public/vo/vo-intro.mp3", "duration": 3.25 },
    { "id": "features", "file": "public/vo/vo-features.mp3", "duration": 4.10 },
    { "id": "close", "file": "public/vo/vo-close.mp3", "duration": 2.80 }
  ],
  "totalDuration": 10.15,
  "fullAudioFile": "public/vo/vo-full.wav"
}

Skript-Optionen

FlagStandardBeschreibung
--segments DATEI—JSON-Datei mit [{id, text}] Segment-Definitionen
--text TEXT—Einzelner Text zum Generieren (Alternative zu --segments)
--output-dir VERZ—Ausgabeverzeichnis für Audiodateien (erforderlich)
--voice NAMEKoreName der vorgefertigten Stimme (siehe Stimmentabelle)
--model NAMEgemini-3.1-flash-tts-previewGemini TTS Modell-ID
--director-notes TEXT—Anweisungen zur Performance: Stil, Tempo, Akzent, Atmung, Artikulation. Kontrolliert nicht Geschlecht/Alter (dafür --voice verwenden).
--retries N3Maximale Wiederholungsversuche bei API-Fehlern
--trim / --no-trim--trimStille an Segmentgrenzen entfernen
--format FORMATmp3Ausgabeformat: mp3 oder wav

Exit-Codes

CodeBedeutung
0Erfolg
1Fehlende erforderliche Argumente oder Umgebungsvariablen
2API-Fehler nach erschöpften Wiederholungen
3ffmpeg nicht installiert oder Verarbeitung fehlgeschlagen
4Datei-I/O-Fehler

Funktionsweise (Mehrsegment)

Gemini TTS GARANTIERT KEINE Stimmkonsistenz über separate API-Anfragen hinweg. Das Skript löst dies, indem es:

  1. Alle Segmente in EINEN Prompt mit [3 Sekunden Pause]-Markierungen dazwischen kombiniert
  2. Eine einzelne durchgehende Audiodatei in einem API-Aufruf generiert
  3. Stillelücken mit ffmpeg silencedetect erkennt, unter Verwendung adaptiver Schwellenwerte (Start bei noise=-35dB, d=1.5s, schrittweise Lockerung). Wird eine exakte Übereinstimmung gefunden, wird sie direkt verwendet. Tritt ein Schwellenwertsprung auf (zu wenige → zu viele), wird die Audio mit schnellerer Sprechgeschwindigkeit neu generiert, um die Pausen zwischen den Segmenten deutlicher zu machen, und die Erkennung dann wiederholt.
  4. An den Stille-Mittelpunkten in einzelne Segmentdateien aufteilt
  5. Restliche Stille (~1.5s pro Seite) von jedem Segment trimmt, dabei 0.15s Atemraum belässt

Modelle

ModellAm besten geeignet für
gemini-3.1-flash-tts-previewNeuestes, am steuerbarsten, 200+ Audio-Tags (Standard)
gemini-2.5-flash-preview-ttsSchnell, gute Qualität, allgemeine Verwendung
gemini-2.5-pro-preview-ttsHöchste Qualität, komplexe Performances

Stimmen

30 vorgefertigte Stimmen:

StimmeGeschlechtCharakterTonhöhe
AchernarWeiblichSanftHöher
AchirdMännlichFreundlichMitteltief
AlgenibMännlichRauchigTiefer
AlgiebaMännlichGlattTiefer
AlnilamMännlichFestMitteltief
AoedeWeiblichLeichtMittel
AutonoeWeiblichHellMittel
CallirrhoeWeiblichLässigMittel
CharonMännlichInformativTiefer
DespinaWeiblichGlattMittel
EnceladusMännlichHauchigTiefer
ErinomeWeiblichKlarMittel
FenrirMännlichAufgeregtMitteltief
GacruxWeiblichReifMittel
IapetusMännlichKlarMitteltief
KoreWeiblichFestMittel
LaomedeiaWeiblichFröhlichHöher
LedaWeiblichJungHöher
OrusMännlichFestMitteltief
PuckMännlichFröhlichMittel
PulcherrimaMännlichDirektMittel
RasalgethiMännlichInformativMittel
SadachbiaMännlichLebhaftTiefer
SadaltagerMännlichSachkundigMittel
SchedarMännlichGleichmäßigMitteltief
SulafatWeiblichWarmMittel
UmbrielMännlichLässigMitteltief
VindemiatrixWeiblichSanftMittel
ZephyrWeiblichHellHöher
ZubenelgenubiMännlichLässigMitteltief

Regieanweisungen (--director-notes)

Anweisungen zur Performance für die ausgewählte Stimme. Gib nur an, was wichtig ist – zu viele Vorgaben schränken die Kreativität des Modells ein und können die Ergebnisse verschlechtern.

Die drei häufigsten Anweisungen sind Stil, Tempo und Akzent, aber du kannst alle relevanten individuellen Anweisungen zur Performance hinzufügen.

  • Stil — Emotionale Qualität und Vortragscharakter. Beschreibe ausführlich: "Ansteckende Begeisterung – der Zuhörer soll das Gefühl haben, Teil von etwas Aufregendem zu sein" funktioniert besser als nur "energetisch". Du kannst Eigenschaften schichten und Begriffe aus der Voiceover-Branche wie „stimmliches Lächeln“ verwenden.
  • Tempo — Gesamte Geschwindigkeit und Rhythmusvariation. Kann von "Sprich so schnell wie möglich" bis "Unglaublich langsam und fließend, Wörter verschmelzen miteinander, null Dringlichkeit" reichen.
  • Akzent — Sei spezifisch. "Britisches Englisch, wie in Croydon, England gesprochen" funktioniert viel besser als "Britischer Akzent".
--director-notes "Stil: Begeisterter und frecher GenZ-Beauty-YouTuber. Tempo: Extrem schnell, rasanter Vortrag wie bei Kurzvideo-Influencern. Akzent: Southern California valley girl aus Laguna Beach."

Audio-Tags

Inline [eckige Klammern] im Segmenttext für wortweise Steuerung. Überschreibt Regieanweisungen lokal.

[flüstert] [schreit] [aufgeregt] [ernst] [kurze Pause] [lacht] [sehr schnell] [sehr langsam] [sarkastisch] [neugierig]

Kreative Tags funktionieren auch: [wie dracula], [verschwörerisch flüsternd]

Beispiel: "[aufgeregt] Das ändert alles! [kurze Pause] Lass mich dir zeigen, wie."

Referenzen

  • Prompting Guide — Fortgeschrittene Prompt-Entwicklung für Stil, Emotion und Akzent

Individual skills in this repo

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

Verwandte Skills