Google GenMedia Toolkit
GoogleのネイティブマルチモーダルGeminiモデルを活用した、ジェネレーティブメディア作成と会話型編集のための統合コマンドライン&スクリプトツールキットです。
前提条件
このツールキットのすべてのスクリプトは uv run で実行する必要があります。
uv run scripts/<script_name>.py "プロンプト" [オプション]
ツール&リファレンス一覧
| ツール | スクリプト | リファレンスガイド | 説明 |
|---|---|---|---|
| 画像生成 | scripts/genimage.py | references/genimage.md | Nano Bananaシリーズ(Gemini 3.1 Flash / Pro):テキスト→画像、4K、インペインティング、スタイル変換、14枚の参照画像、Search Grounding、マルチターン編集。 |
| 動画生成 | scripts/genvideo.py | references/genvideo.md | Gemini Omni Flash(gemini-omni-1.1-flash):テキスト/画像→動画、フレーム補間、マルチターン動画編集、時間延長。 |
| 音楽生成 | scripts/genmusic.py | references/genmusic.md | Google Lyria 3(Clip & Pro):30秒クリップ、歌詞付きフル楽曲、画像→音楽スコアリング。 |
| 音声合成 | scripts/text2speech.py | references/text2speech.md | Gemini TTS:30種類のプリセット音声、単一話者ナレーション、台本ベースのマルチスピーカー対話。 |
1. 画像生成・編集:genimage.py
Nano Banana モデルシリーズ(デフォルトは gemini-3.1-flash-image、他に gemini-3-pro-image、gemini-3.1-flash-lite-image)を使用して画像の生成と編集を行います。14種類のアスペクト比で最大4K解像度、最大14枚の参照画像によるマルチイメージ合成、Google Search Grounding、マルチターンの会話型編集に対応しています。
クイック例
# テキスト→画像(2K解像度、16:9ワイドスクリーン)
uv run scripts/genimage.py "ネオンライトと空飛ぶ車が雨に煙る未来的なサイバーパンク都市、シネマティックな照明" -a 16:9 -s 2K -o city.jpg
# オブジェクトインペインティング / 要素変更
uv run scripts/genimage.py "提供された猫の画像を使って、頭に小さな編み物の魔法使いの帽子をかぶせてください。気持ちよさそうに座っているように見せてください。" -i cat.png -o cat_with_hat.png
# マルチターン会話型編集
uv run scripts/genimage.py "このインフォグラフィックをスペイン語に更新してください。他の要素は変更しないでください。" --previous-id "v1_interaction_id..." -o infographic_spanish.png
👉 詳細なプロンプトエンジニアリングテンプレート(フォトリアリズム、ステッカー、タイポグラフィ、プロダクトモックアップ、スタイル変換)と解像度テーブルについては、references/genimage.md を参照してください。
2. 動画生成・編集:genvideo.py
Gemini Omni Flash(gemini-omni-1.1-flash)を使用して、統合サウンドデザイン付きのシネマティック動画を作成、編集、延長します。テキスト→動画、画像→動画、最初と最後のフレーム補間、ステートフルなマルチターン会話型編集、動画クリップの延長に対応しています。
クイック例
# テキスト→動画(1080p、連続した途切れのないショット、サウンドデザイン付き)
v run scripts/genvideo.py "夜明けの霧深い松林の山々の上を滑空する、連続した滑らかなドローンショット。サウンドデザイン:そよ風、遠くの鳥のさえずり。台詞なし。" -a 16:9 -r 1080p -o sunrise.mp4
# 最初と最後のフレーム補間
uv run scripts/genvideo.py "夏の緑豊かな森林から星空の夜の雪景色への、スムーズなシネマティックトランジション。" -i summer.jpg -i winter.jpg -o season_transition.mp4
# ステートフル動画編集(マルチターン)
uv run scripts/genvideo.py "バイオリンを不可視にしてください。他の要素はすべてそのままにしてください。" --previous-id "v1_video_id..." -o invisible_violin.mp4
# 動画延長(クリップ末尾に3〜10秒追加)
v run scripts/genvideo.py "シーンを続けてください:黄昏時になり、カメラが山々を横切ってパンします。" -v clip.mp4 --task extend -o extended_clip.mp4
👉 カメラモーションテクニック、オーディオデザイン戦略、大規模/4K動画のURI配信オプションについては、references/genvideo.md を参照してください。
3. 音楽・楽曲生成:genmusic.py
Google Lyria 3(lyria-3-clip-preview は30秒クリップ/ループ用、lyria-3-pro-preview は複数セクションのフル楽曲用)を使用して、高忠実度の音楽トラックとサウンドトラックを合成します。
クイック例
# インストゥルメンタル サウンドトラックテーマ
uv run scripts/genmusic.py "エネルギッシュなストリングスと感動的なブラスクレッシェンドを備えた、高揚感のあるシネマティックオーケストラサウンドトラック、120BPM、インストゥルメンタルのみ" -o epic_theme.mp3
# 構造化された歌詞とボーカル付きフル楽曲
uv run scripts/genmusic.py "ノスタルジックな80年代アナログシンセリード、パンチの効いたドラム、ネオンドリームを歌うボコーダーボーカルを備えたメロディックシンセウェイブトラック" -m lyria-3-pro-preview -l lyrics.txt -o synthwave_song.mp3
# 画像→音楽(ビジュアルムードサウンドトラック)
uv run scripts/genmusic.py "このファンタジー風景の神秘的な落ち着いた雰囲気を捉えた、アンビエントサウンドトラックを作曲してください。" -i landscape.jpg -o ambient_bgm.mp3
👉 5次元プロンプトエンジニアリング(ジャンル、ムード、楽器編成、テンポ、ボーカル)と構造化された歌詞タグについては、references/genmusic.md を参照してください。
4. テキスト音声合成:text2speech.py
Gemini TTS(gemini-3.1-flash-tts-preview)を使用して、自然で表情豊かな音声を合成します。30種類のプリセット音声、インライン感情キュー([sighs]、[laughs]、[whispering]、[excitedly])、単一話者ナレーション、台本ベースのマルチスピーカー対話に対応しています。
クイック例
# 感情キュー付き単一話者ナレーション
uv run scripts/text2speech.py "[sighs] おかえりなさい...[excitedly] 今日は何か特別なものを作りましょう!" -v Puck -o welcome.wav
# ファイルから記事を読み上げ
uv run scripts/text2speech.py -f article.txt -v Charon -o article_narration.wav
# マルチスピーカー台本対話
uv run scripts/text2speech.py "Alice:[excitedly] おはようBob!新しいGemini画像モデルはもう試した?
Bob:[laughs] もちろんAlice!テキストレンダリングと思考モードは本当に衝撃的だよね。" -s "Alice:Aoede" -s "Bob:Fenrir" -o podcast_dialogue.wav
👉 全30のプリセット音声の完全なディレクトリ、感情タグディレクトリ([xxx])、対話台本フォーマットガイドラインについては、references/text2speech.md を参照してください。