Digest記事から編集部メンバー(最大5人)の対話形式ポッドキャストを自動生成する。
Digest記事から編集部メンバー(最大5人)の対話形式ポッドキャストを自動生成する。 VOICEVOX Engine(ローカルTTS)で音声化し、サイトに配信する。
http://127.0.0.1:50021 で起動していることpublished 状態で存在することcurl -s http://127.0.0.1:50021/version
起動方法の詳細は history-video-base スキルを参照。
Single Source of Truth: src/lib/editorial-members.ts
| speakerKey | 役割 | VOICEVOXモデル | speaker_id | ポッドキャストでの立ち位置 |
|---|---|---|---|---|
| editor | 若手編集者 | 白上虎太郎 ふつう | 12 | 司会(メインホスト) |
| engineer | エンジニア | 黒沢冴白 ノーマル | 100 | 技術解説 |
| designer | デザイナー | 四国めたん ノーマル | 2 | UX視点コメント |
| manager | マネージャー | 青山龍星 ノーマル | 13 | ビジネス視点コメント |
| desk | シニアデスク | No.7 アナウンス | 30 | まとめ役(締めのコメント) |
node scripts/generate-podcast.mjs <slug> --dump > /tmp/podcast-article.json
記事内容を元に、以下のルールで対話スクリプトJSONを /tmp/podcast-script.json に生成する。
"editor", "engineer", "designer", "manager", "desk" のいずれかDigest に「今日の論文紹介」セクションがある場合、ポッドキャストでは 時間を長めに割いて深掘り する。
→ references/example-podcast-script.json
history-video-base の「AI監査ポリシー」に従い、音声化前に必ず3レイヤーすべて実行する。
base-dictionary.json に辞書エントリがあるか確認base-dictionary.json と VOICEVOX ユーザー辞書の両方に追加audio_query API に投げ、返ってきたカタカナ読みを全文チェックpriority: 10 で辞書再登録し、修正後に全セリフを再テスト3レイヤーすべて通過してから音声合成に進む。
node scripts/generate-podcast.mjs <slug> --script /tmp/podcast-script.json
これで以下が実行される:
loudnorm=I=-16:TP=-1.5:LRA=11 で音量正規化)public/audio/<slug>.mp3 に保存contents.audio_url を更新| ファイル | 役割 |
|---|---|
scripts/generate-podcast.mjs | メインオーケストレーター(記事取得・DB更新) |
src/app/api/v1/podcast/route.ts | Podcast RSSフィード(iTunes互換XML) |
https://ai-solo-craft.craftgarden.studio/api/v1/podcastaudio_url が設定されている記事を自動でフィードに含める各音声モデルのライセンスに従ったクレジット表記が必要:
ショート動画のシーン画像をインプットに、VTuber風の対話動画(16:9 横長)を生成する。 TikTokショート動画の二次コンテンツとしてYouTubeに投稿する。
scenes.json + telop.ass → podcast-script.json → podcast.mp3 + podcast-timings.json → podcast-video.mp4
(ショート動画) (対話台本) (音声) (YouTube動画)
ショート動画の scenes.json(シーン定義)と telop.ass(テロップ=ストーリー)を参照し、
まい(講師役)とまお(生徒役)がシーン画像を見ながら会話する台本を作成する。
scenes形式 JSON: → references/example-scenes.json
重要なルール:
image はショート動画のシーン画像(scene01.jpg 〜)シリーズ別の注意:
画像の準備:
templates/{slug}/scene00.jpg 〜 に直接配置history-video-base の「AI監査ポリシー」に従い、動画生成前に必ず3レイヤーすべて実行する。
レイヤー1: 事実確認
レイヤー2: 読みAI監査