◉GEMINI LABEN
●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — deep-research-pro-preview-12-2025 は 10/23 に停止、残り6日。移行先は deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●MCP — ツール結果が 8.5万トークンに膨らんだ事例を、ADK で 310 トークンに包んで抑えた報告が出ています●FLASH — gemini-3.7-flash と 3.5-flash は新しい Flash モデルに自動で回されます(10/08)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — deep-research-pro-preview-12-2025 は 10/23 に停止、残り6日。移行先は deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●MCP — ツール結果が 8.5万トークンに膨らんだ事例を、ADK で 310 トークンに包んで抑えた報告が出ています●FLASH — gemini-3.7-flash と 3.5-flash は新しい Flash モデルに自動で回されます(10/08)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…
記事一覧/API / SDK
◈ API / SDK/2026-04-02中級

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

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

Gemini TTSText to Speech音声生成3Gemini API248音声合成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-10-14
config に「Extra inputs are not permitted」が出たら、キーの綴りを一つずつ疑います
google-genai SDK で config を渡した途端に pydantic の ValidationError(extra_forbidden)が出る原因は、ほぼ綴りの一字違いです。手元で再現した出力と、呼び出し前に怪しいキーを洗う関数、text が None になる場合の見分け方を書き残します。
◈ API / SDK2026-10-08
停止日のない非推奨をどう扱うか — 画像モデルの移行先を、3つの条件で選び直す
10月6日に gemini-nano-banana-2.1 が GA になり、gemini-3.1-flash-image は停止日の書かれないまま非推奨になりました。解像度・参照画像・検索の3条件で移行先を選ぶ表と、確認用の短いスクリプトをまとめます。
◈ API / SDK2026-09-29
『F6号』と『A4くらい』が同じ列に並ぶ作品台帳を、Gemini の読み取りと号数表の換算で cm に揃えるまで
作家さんの作品台帳に『F6号』『41×31.8cm』『A4くらい』が混ざっていました。Gemini API には読み取りだけを頼み、換算は号数表、向きは画像で決める小さな道具を、動くコードとともに一本ずつ組み立てます。