TurundusSisu

Blogipostituse heliversioon

Loob blogipostitusest helijutustuse: kokkuvõte, täistekst või kahe kõnelejaga dialoog.

AAgriciDaniel·Turundus·MIT

Kogu oskus — vaikeversiooni hoitakse GitHubis; sinu muudatused jäävad sinu enda klooni.

Kasuta seda oskustLaadi alla .zip
Kuidas see töötab?
  • ChatGPT avab uue vestluse, kuhu oskus on laaditud. Kui see on lingi jaoks liiga pikk, kopeeritakse see lõikelauale — lihtsalt kleebi.
  • Claude töötab samamoodi. Püsivaks paigaldamiseks laadi alla .zip ja lae see üles: Claude → Settings → Capabilities → Skills (Pro/Team/Enterprise).
  • Kopeeri oskus kopeerib oskuse, et saaksid selle kleepida mis tahes assistenti, sh Grok.

Blogi heli: Gemini TTS jutustus blogipostitustele

Loo professionaalne blogisisu helijutustus Google'i Gemini TTS abil. Kolm režiimi: kokkuvõte (200–300-sõnaline räägitud ülevaade), täisartikli ettelugemine või kahe kõneleja taskuhäälingudialoog. 30 häält, 80+ keelt, HTML5-manustatav väljund.

Kiirülevaade

Käsk Mida see teeb
/blog audio generate <file> Loo blogipostituse helijutustus
/blog audio voices Näita saadaolevaid hääli koos omadustega
/blog audio setup Kontrolli/seadista Gemini TTS API-võti

Eeldused

Kasuta alati run.py ümbrist

# CORRECT:
python3 scripts/run.py generate_audio.py --text "..." --voice Charon --json

# WRONG:
python3 scripts/generate_audio.py --text "..."  # Fails without venv

API-võtme kontroll (väravamuster)

Enne heli loomist kontrolli API-võtit:

test -n "${GOOGLE_AI_API_KEY:-}" && echo "GOOGLE_AI_API_KEY is set" || echo "GOOGLE_AI_API_KEY is not set"

Seadistamine

/blog audio setup jaoks:

  1. Kontrolli, kas GOOGLE_AI_API_KEY on keskkonnas seatud
  2. Kui blog-image kasutab projekti .mcp.json-i, veendu, et viidatud keskkonnamuutuja on eksporditud
  3. Kui mitte, juhata kasutaja aadressile https://aistudio.google.com/apikey
  4. Kontrolli proovikäiguga: python3 scripts/run.py generate_audio.py --text "Test" --dry-run --json

Hääle valimine

/blog audio voices jaoks:

Lae references/voices.md ja esita kasutajale häälekataloog.

Küsi kasutajalt, millist häält ta eelistab, või soovita sisutüübi põhjal: - Artikli jutustamine: Charon (Informative) või Sadaltager (Knowledgeable) - Õpetus/juhend: Achird (Friendly) või Sulafat (Warm) - Uudised/analüüs: Rasalgethi (Informative) või Schedar (Even) - Elustiil/heaolu: Aoede (Breezy) või Vindemiatrix (Gentle) - Dialoogi saatejuht: Puck (Upbeat) või Laomedeia (Upbeat) - Dialoogi ekspert: Kore (Firm) või Charon (Informative)

Loomistöövoog

/blog audio generate <file> jaoks:

Samm 1: Loe blogipostitust

Loe fail ja ekstrakti: - Pealkiri (H1-st või frontmatter'ist) - Täissisu (markdown-keha) - Ligikaudne sõnade arv

Samm 2: Vali režiim

Küsi kasutajalt (või vali automaatselt, kui ta määras --mode):

Režiim Millal kasutada Väljund
Kokkuvõte Kiire heliülevaade (1–2 min) 200–300-sõnaline räägitud kokkuvõte
Täis Täielik ettelugemine (5–15 min) Terve artikkel loomuliku kõnena
Dialoog Taskuhäälingu stiilis (3–8 min) Kahe inimese vestlus artiklist

Samm 3: Valmista tekst ette

Claude valmistab teksti ette; skript teeb ainult TTS-i.

Kokkuvõtterežiim: Kirjuta 200–300-sõnaline räägitud kokkuvõte artiklist. Reeglid: - Kirjuta loomuliku kõnena, mitte kirjaliku tekstina - Ava artikli põhileiu või -vastusega - Kata 3–5 peamist õppetundi - Lõpeta tegevusele suunava nõuandega - Ei mingit markdown'i, ei „Selles artiklis...“, ei metakommentaari - Kasuta vestluslikke üleminekuid („Siin on, mis loeb...“, „Põhileid on...“)

Täisrežiim: Puhasta markdown-sisu selgeks räägitavaks tekstiks: - Pealkirjad muutuvad loomulikeks üleminekuteks („Järgmisena vaatame...“) - Lingid muutuvad lihttekstiks (eemalda URL-id, säilita ankrutekst) - Pildid ja graafikud: jäta välja või kirjelda lühidalt („Nagu andmed näitavad...“) - Koodiplokid: kirjelda sõnadega („Kood kasutab for-tsüklit, et...“) - Loendid: teisenda loomulikeks lauseteks - Eemalda frontmatter, skeemimärgistus, HTML-sildid - Lisa lühike sissejuhatus: „See on [pealkiri], avaldatud [kuupäev]."

Dialoogirežiim: Kirjuta artiklist 2 inimese vestlusskript: - Speaker1 = saatejuht (uudishimulik, esitab häid küsimusi) - Speaker2 = ekspert (asjatundlik, annab selgeid vastuseid) - Vorminda iga rida kujul: Speaker1: What's the key takeaway here? - Kata artikli põhipunktid vestluslikult - 15–25 vooru (annab umbes 3–8 minutit) - Loomulik, mitte kaelkangestunud („That's a great point“, mitte „Indeed, as the research indicates“)

Samm 4: Vali hääl

Kui kasutaja valis hääle, kasuta seda. Vastasel juhul soovita režiimi põhjal: - Kokkuvõte/täis: vaikimisi Charon (Informative) - Dialoog: vaikimisi Puck (saatejuht) + Kore (ekspert)

Samm 5: Loo heli

Kirjuta ettevalmistatud tekst töökataloogi faili, seejärel kutsu:

# Single voice (summary or full mode)
python3 scripts/run.py generate_audio.py \
  --text-file blog_audio_prepared.txt \
  --voice Charon \
  --model flash \
  --output audio/post-slug.mp3 \
  --json

# Two voices (dialogue mode)
python3 scripts/run.py generate_audio.py \
  --text-file blog_audio_dialogue.txt \
  --voice Puck \
  --voice2 Kore \
  --model pro \
  --output audio/post-slug-dialogue.mp3 \
  --json

Mudeli valik: - flash (vaikimisi): vastab mudelile gemini-3.1-flash-tts-preview, hea kokkuvõtete ja tavalise jutustuse jaoks. - flash31: selgesõnaline alias mudelile gemini-3.1-flash-tts-preview. - legacy-flash25: säilitatud ainult vanema ühilduvuse jaoks. - pro või legacy-pro25: vastab mudelile gemini-2.5-pro-preview-tts, kasuta ainult vajadusel.

Samm 6: Edasta

Esita tulemus kasutajale: 1. Faili tee: kuhu heli salvestati 2. Kestus: inimloetav (nt „3:42“) 3. Manustuskood: valmis kleepimiseks HTML5 audiosilt 4. Kulu: hinnanguline API-kulu 5. Paigutussoovitus: kuhu blogipostituses manustis sisestada

Manustamisjuhend

Standardne HTML (Hugo, Jekyll, staatilised saidid)

<audio controls preload="metadata">
  <source src="audio/post-slug.mp3" type="audio/mpeg">
  Your browser does not support the audio element.
</audio>

MDX (Next.js, Gatsby)

<audio controls preload="metadata">
  <source src="/audio/post-slug.mp3" type="audio/mpeg" />
</audio>

WordPress

[audio src="audio/post-slug.mp3"]

Paigutus

Sisesta heliesitaja pärast sissejuhatust (esimese H2 alla) või artikli kõige algusesse sildiga: „Kuula seda artiklit“ või „Heliversioon“.

Sisemine API (blog-write'i jaoks)

Kui kutsutakse sisemiselt blog-write'ist:

Sisend: - text: ettevalmistatud tekst (Claude juba puhastanud) - voice: hääle nimi (vaikimisi: Charon) - voice2: teine hääl dialoogi jaoks (valikuline) - model: flash või pro - output_path: kuhu fail salvestada

Väljund:

### Audio Narration
- **Path:** /path/to/audio/post-slug.mp3
- **Duration:** 3:42
- **Voice:** Charon
- **Embed:** `<audio controls preload="metadata"><source src="audio/post-slug.mp3" type="audio/mpeg"></audio>`

Sujuv varuvariant: Kui GOOGLE_AI_API_KEY pole seatud, tagasta kohe ilma veata. Kirjutamistöövoog jätkub ilma helita. Ära kunagi blokeeri blog-write'i, sest heli loomine pole saadaval.

Vigade käsitlemine

Viga Lahendus
GOOGLE_AI_API_KEY pole seatud Hangi võti aadressilt https://aistudio.google.com/apikey
FFmpeg-i ei leitud Paigalda: sudo apt install ffmpeg. Kukub tagasi WAV-väljundile.
Päringupiirang Oota ja proovi uuesti. Kontrolli piiranguid aadressil https://aistudio.google.com/rate-limit
Tekst liiga pikk (>8 192 sisendtokenit) Jaga umbes 7 800-tokenisteks osadeks; skript tükeldab ja õmbleb ettevalmistatud teksti kokku
Tundmatu hääle nimi Käivita /blog audio voices, et näha kehtivaid valikuid
API-viga Kontrolli võtme kehtivust ja mudeli saadavust
API-võti puudub (sisemine kutse) Tagasta vaikselt: kirjutamistöövoog jätkub

Viitedokumentatsioon

Lae nõudmisel: ÄRA lae kõike käivitamisel: - references/voices.md: täielik 30 hääle kataloog, soovitused sisutüübi kaupa, dialoogipaaritused