GEMINI LABEN
SUNSET — 画像生成モデルの停止まで残り6日です。imagen-4.0 系と Gemini 3 Image 系が8月17日に止まりますMIGRATE — 移行先として gemini-3.1-flash-image が案内されています。generate_images から generate_content への書き換えが必要ですCHECK — 移行後に同じプロンプトで同じ絵が出る保証はありません。必要な生成物は停止前に確保しておく判断が要りますCLASSROOM — 8月17日は Gemini in Classroom のモバイル提供が始まる日でもあります。web は8月10日に全年齢の学生へ広がりましたDEPRECATION — Grok 4.1 ファミリーの停止は8月20日、gemini-robotics-er-1.6-preview は8月31日で、後継は er-2 系ですCHANGELOG — Gemini API の changelog は7月30日が最新のままです。直近の大きな変更は Gemini 3.6 Flash と 3.5 Flash-Lite の GA ですSUNSET — 画像生成モデルの停止まで残り6日です。imagen-4.0 系と Gemini 3 Image 系が8月17日に止まりますMIGRATE — 移行先として gemini-3.1-flash-image が案内されています。generate_images から generate_content への書き換えが必要ですCHECK — 移行後に同じプロンプトで同じ絵が出る保証はありません。必要な生成物は停止前に確保しておく判断が要りますCLASSROOM — 8月17日は Gemini in Classroom のモバイル提供が始まる日でもあります。web は8月10日に全年齢の学生へ広がりましたDEPRECATION — Grok 4.1 ファミリーの停止は8月20日、gemini-robotics-er-1.6-preview は8月31日で、後継は er-2 系ですCHANGELOG — Gemini API の changelog は7月30日が最新のままです。直近の大きな変更は Gemini 3.6 Flash と 3.5 Flash-Lite の GA です
記事一覧/API / SDK
API / SDK/2026-04-02中級

Gemini TTS API完全入門:スタイル指定で感情豊かな音声を生成する

Google Gemini 2.5 FlashとProのTTS(Text-to-Speech)APIの使い方を徹底解説。音声スタイルの指定方法、複数話者対応、プロンプトで感情・トーンを制御するテクニックまで、実践的なコード例とともに学べます。

Gemini TTS2Text to Speech音声生成3Gemini API207音声合成3

Gemini TTSとは

Gemini TTS(Text-to-Speech)APIは、テキストを自然な音声に変換するGoogle公式サービスです。Gemini 2.5 FlashとProで利用でき、単なる機械音ではなく、スタイルや感情を指定して生成できるのが特徴です。

従来のTTSとの違い

従来のテキスト読み上げ(Google Cloud TTSなど)は、あらかじめ録音された音声データを組み合わせるため、音質は高いものの表現力が限定的でしました。一方、Gemini TTSは生成型AIの技術を活用し、プロンプトでスタイルや感情を指定することで、より人間らしく柔軟な音声出力が可能です。

主なユースケース

  • ポッドキャスト制作 — 複数の話者キャラクターを作成
  • ナレーション・動画字幕 — YouTubeやTikTokの字幕読み上げ
  • ゲーム開発 — キャラボイスの動的生成
  • アクセシビリティ — 視覚障害者向けコンテンツ読み上げ
  • 学習教材 — 言語学習用の発音補助

Gemini TTSの基本仕様

対応モデル

  • Gemini 2.5 Flash — 高速・低コスト(推奨)
  • Gemini 2.0 Pro — 高品質出力

利用可能な音声タイプ

Gemini TTSは、モデルの学習データに含まれる複数の音声タイプから選択できます。以下は代表的なものです:

  • Breeze — ニュートラル、読み上げ向け
  • Melody — 温かみのある、親友との会話風
  • Sage — 落ち着いた、講演者向け
  • Ember — エモーショナル、ストーリーテリング向け
  • Juniper — 高エネルギー、キッズコンテンツ向け
  • Orbit — 深い、映画ナレーション向け

料金体系

  • Gemini 2.5 Flash: $1 / 100万文字(音声出力)
  • Gemini 2.0 Pro: $2 / 100万文字
  • Free Tier: 月間1,000リクエストまで無料(API Tier別)

APIセットアップと基本的な使い方

ステップ1: Gemini API キーを取得

Google AI Studio にアクセスし、API キーを生成します。

# 環境変数に設定
export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"

ステップ2: Pythonライブラリをインストール

pip install google-generativeai

ステップ3: 最小限のコード例

import google.generativeai as genai
 
genai.configure(api_key="YOUR_GEMINI_API_KEY")
 
# テキストを音声に変換
response = genai.GenerativeModel(
    model_name="gemini-2.5-flash",
    system_prompt="You are a voice actor with expertise in audio narration."
).generate_content(
    genai.Part.from_data(
        mime_type="text/plain",
        data="Hello, world! This is a test of Gemini TTS."
    )
)
 
# 音声ファイルとして保存
with open("output.mp3", "wb") as f:
    f.write(response.parts[0].inline_data.data)

音声スタイルとトーンの制御

プロンプトで感情を指定

Gemini TTSの力は、プロンプト指定にあります。音声の感情やトーンを詳細にコントロールできます。

例1: 親友とのカジュアルな会話風

style_prompt = """
Generate speech for a friendly conversation between friends.
Tone: Warm, approachable, slightly enthusiastic.
Speaking style: Casual, conversational, as if chatting over coffee.
Text: "Hey! I just finished this amazing article about AI.
You've got to check it out when you have time!"
"""
 
response = genai.GenerativeModel("gemini-2.5-flash").generate_content(style_prompt)

例2: 落ち着いた講演者風

style_prompt = """
Generate speech for a professional presentation.
Tone: Confident, authoritative, measured.
Speaking style: Formal yet engaging, with natural pauses.
Text: "Today, we'll explore the fundamental principles of machine learning,
and how they're transforming industries worldwide."
"""

例3: ストーリーテリング(感情的、ドラマティック)

style_prompt = """
Generate speech for dramatic storytelling.
Tone: Emotional, dramatic, engaging.
Speaking style: Expressive, with dynamic energy shifts.
Pacing: Variable - slower for emotional moments, faster for action.
Text: "The sun set over the horizon as she realized everything had changed.
In that moment, she understood what she had to do."
"""

音声パラメータの制御

実際のAPI呼び出しでは、以下のパラメータで微調整します:

  • speed: 0.5〜2.0(遅い〜速い)
  • pitch: -10.0〜10.0(低い〜高い)
  • volume_gain_db: -16.0〜16.0(小さい〜大きい)
response = genai.GenerativeModel("gemini-2.5-flash").generate_content(
    genai.Part.from_data(
        mime_type="application/json",
        data={
            "text": "Your narration text here",
            "voice_config": {
                "pitch": 0.0,
                "speaking_rate": 1.0,
                "volume_gain_db": 0.0
            }
        }
    )
)

複数話者TTS

会話形式のコンテンツ(ポッドキャストやラジオドラマ)では、複数の話者を使い分ける点が肝心です。

話者ラベルの設定方法

multi_speaker_text = """
Host: Welcome to AI Talk Podcast! Today's guest is an AI researcher.
 
Guest: Thank you for having me! I'm excited to share what we've learned.
 
Host: Let's dive in. What's the biggest misconception about AI?
 
Guest: People often think AI can reason like humans, but...
"""
 
# 話者ごとに別々のAPI呼び出しを実行し、マージする
host_audio = generate_tts(multi_speaker_text, speaker="host", style="warm")
guest_audio = generate_tts(multi_speaker_text, speaker="guest", style="authoritative")
 
# オーディオミキシング
merge_audio(host_audio, guest_audio, output_file="podcast.mp3")

実用的なユースケース

ユースケース1: ポッドキャスト生成

スクリプトを複数の話者で読み上げ、BGM・効果音を加えて自動ポッドキャスト化。

ユースケース2: 動画ナレーション

YouTubeやTikTokの本編スクリプトを高品質音声で自動ナレーション化。長編動画制作の工数を90%削減。

ユースケース3: ゲーム音声

ゲーム内キャラクターの台詞をリアルタイム生成し、ストーリー分岐に応じた動的ボイス実装。

よくあるエラーと対処法

エラー1: 「API quota exceeded」

原因: 月間リクエスト上限に達した
対処: Free Tierからpaid planへアップグレード、または月の利用量を分散

エラー2: 「Invalid audio format」

原因: 出力形式がmp3/wavではない、またはビットレートが不正
対処: PCMやMP3 (128kbps以上) に限定、ffmpegで変換

エラー3: 長文での生成失敗

原因: 1回のリクエストで5,000文字を超える
対処: テキストを分割し、複数リクエストに分けて処理

プレミアム記事への誘導(自動表示)

Gemini TTSの応用例として、複雑なオーディオプロダクション技術(音声合成+AI生成コンテンツの知的財産保護、多言語ローカライゼーション戦略など)をより詳しく学びたい方は、プレミアム記事をご検討ください。

全体を振り返って

Gemini TTS APIは、テキストを人間らしい音声に変換できる強力なツールです。プロンプト指定による柔軟な表現力、複数話者対応、そして低コストな料金体系が特徴。ポッドキャスト・動画ナレーション・ゲーム開発など、幅広いユースケースで活躍します。

さっそくAPI キーを取得し、「Hello, world!」から始めてみてください。


参考書籍:

シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

API / SDK2026-08-08
打ち切りは失敗の合図ではありませんでした — ブロッキング挙動を伴う関数呼び出しの設計
呼び出しが返るまで待つ種類のツールをエージェントに持ち込むと、並列化と打ち切りの常識が反転します。サンドボックスで実測した数値とともに、再試行を観測へ振り替える設計をまとめました。
API / SDK2026-08-07
ストリーミング応答の日本語が静かに欠ける — バイト境界とイベント境界を実測で切り分ける
ストリーミング表示の日本語だけが欠ける現象を、ローカルの疑似SSEサーバで実測しました。壊れていた層は二つあり、片方は例外にすらならず、英語のテストでは検出率がゼロでした。
API / SDK2026-08-04
停止済みモデルの再試行は、成功レイテンシには出ませんでした
画像生成モデルの停止日が近づいています。停止済みモデルを呼んだときリトライ層が何をするのかを、モックサーバーで再現して計測しました。壊れ方は所要時間と待ち行列に出て、成功レイテンシには出ませんでした。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →