Step 4 / 全6ステップ

自分の声をクローンする&理想の声をゼロからデザインする

30種類の標準ボイスだけでは物足りないとき、Gemini 3.8 TTS の Voices API(/v1beta/voices) を使えば、「言葉の説明から新しい声をデザインする(Voice Design)」ことも、「わずか10〜30秒の録音から自分や声優の声をクローンする(Voice Replication)」ことも可能です。一度作成した声には専用の ID が発行され、何度でも同じ声でテキストを読み上げさせられます。

1. カスタム音声を作る2つの方法:Voice Design と Voice Replication

用途に応じて、以下の2つのエンドポイント機能(どちらも POST /v1beta/voices)を使い分けます。

比較項目音声デザイン(Voice Design)
type: "prompted"
音声の複製 / ボイスクローン(Voice Replication)
type: "replicated"
どうやって作る?自然言語の説明文(プロンプト)だけからゼロベースで新しい声を合成する(録音ファイル不要)実在の人物の録音ファイル(10〜30秒)+ 本人同意音声をアップロードして声質を複製する
こんなときに最適・ゲームやアニメのオリジナルキャラクター音声
・ブランド独自のAIコンシェルジュ・ナビゲーター
・声優の手配なしでユニークな声を作りたいとき
・自分の声でブログ・note記事や動画を自動朗読させたい
・社長や著者本人の声で多言語メッセージを発信したい
・収録済みの声優・ナレーターの追加セリフを合成したい
戻り値永続的な voice_... ID + 確認用の試聴音声(sample_audio)Stateful: 永続的な voice_... ID(サーバー保存)
Stateless: 暗号化された voicekey_...(サーバー非保存)

2. 音声デザイン(Voice Design):言葉から世界に一つの声を創る

Voice Design は、Hume AI の音声デザイン評価ベンチマークでスコア 71.4(世界1位)を記録した Gemini 3.8 の目玉機能です。「60代後半の穏やかな日本の天文学の老教授、少しハスキーで温かみのあるバリトンボイス」のように記述すると、その特徴を持った固有の声(voice_...)が生成されます。

Voice Design 実演:穏やかな老天文学者(カスタム音声風演出)

Voice Design で作成する「60代後半の温厚な天文学者」ペルソナで星空を語るナレーション実演

gemini-3.8-flash-ttsVoice: Sadaltager
Direct (style):"warm, thoughtful astronomer in his late 60s speaking with quiet wonder and gentle cadence"
Speech (text):

土星の輪のずっと向こう側を見つめてごらん。 <short pause> 今、君の瞳に届いたそのかすかな光の粒はね、何百万年も前にあの星を旅立ったものなんだよ。

0:00/0:16

Voice Design プロンプト設計の黄金ルール:「不変の個性」と「その場の感情」を分ける

Voice Design(POST /v1beta/voices)の prompt には、「その人物が生まれつき持っている不変の声質・年齢・性別・アクセント・基本的な話し方の癖」だけを書きます。

もし Voice Design の時点で「激怒して叫んでいる声」と書いてしまうと、その voice_... ID を使って「おはようございます」と言わせたときまで激怒してしまいます。「怒る」「ささやく」「悲しむ」といったシーンごとの感情は、音声生成時(Interactions API)の speech_metadata.style で指定しましょう。

Voice Design で声を作成し、そのまま喋らせるコード例(Python)

import base64
from google import genai

client = genai.Client()

# Step A: 自然言語からカスタムボイスを設計して登録(POST /v1beta/voices)
designed_voice = client.voices.create(
    config={
        "type": "prompted",
        "name": "astronomy-professor-ja",
        "prompt": (
            "Late 60s Japanese professor, warm slightly husky baritone timbre, "
            "calm and unhurried cadence, gentle scholarly demeanor."
        ),
        "language_code": "ja-JP",
    }
)

print("発行された Voice ID:", designed_voice.id)  # 例: voice_9f8a7b6c...

# 確認用のサンプル音声(sample_audio)が同時に返るので保存して聴ける
with open("preview_professor.wav", "wb") as f:
    f.write(base64.b64decode(designed_voice.sample_audio.data))

# Step B: 発行された voice_... ID を使って好きなセリフと感情で喋らせる
interaction = client.interactions.create(
    model="gemini-3.8-flash-tts",
    input=[{
        "role": "user",
        "content": [{
            "type": "text",
            "text": "ほっほっほ。<chuckle> よくぞこの研究室へ来てくれたね。今夜は百年に一度の彗星が見える特別な夜じゃよ。",
            "speech_metadata": {
                "style": "warm, nostalgic storytelling with gentle excitement"
            }
        }]
    }],
    generation_config={
        "response_modalities": ["AUDIO"],
        "speech_config": {
            "voice": designed_voice.id  # ← 標準ボイス名の代わりに ID を渡すだけ!
        }
    }
)

3. 音声の複製(Voice Replication)の仕組みと本人同意セキュリティ

「自分の声で記事を読み上げさせたい」「動画のナレーションを自分の声のクローンで自動化したい」という需要は非常に高い一方、第三者の声を無断で複製するディープフェイクの悪用リスクも伴います。

そのため Gemini 3.8 TTS の 音声の複製(Voice Replication) では、1. 声の特徴を学ぶためのサンプル音声(source_audio)と、2. 同じ人物が指定の同意フレーズを読み上げた同意音声(consent_audio)の2つをセットで検証する「声の二段階認証」を採用しています。

ボイスクローン(Voice Replication)の安全な仕組み:ステップ1(同意フレーズ録音+10〜30秒のサンプル音声)、ステップ2(同一話者チェックと同意テキスト照合)、ステップ3(Statefulなvoice_idまたはStatelessなvoicekeyの発行とSynthID透かし付与)のグラレコ図解
図解:Google のセキュリティゲートが「source_audio と consent_audio が同一人物の声か」「同意フレーズが一字一句正確に読まれているか」を自動検証し、通過した場合のみクローン音声を発行します。

実際に同意フレーズを読み上げた録音(consent_audio)と、複製されたカスタムボイス(voice_takna_clone_01)に新しいブログ原稿を喋らせた音声(source_audio から合成)を聴き比べてみましょう。

Voice Replication Step 1:本人同意フレーズの録音サンプル(consent_audio)

Voice Replication 時に source_audio と同じ話者・同じマイク環境で録音する必要がある日本語(ja-JP)公式同意文

gemini-3.8-flash-ttsVoice: Orus
Direct (style):"clear, natural studio recording in a quiet room"
Speech (text):

私はこの音声の所有者であり、Googleがこの音声を使用して音声合成モデルを作成することを承認します。

0:00/0:09

Voice Replication Step 2:クローンした自分の声でブログ記事を読み上げる

作成された voice_...(または stateless な voicekey_...)を指定し、任意のテキストを自分の声質・話し方で合成した出力例

gemini-3.8-flash-lite-ttsVoice: Orus
Direct (style):"warm, conversational tech blogger reading their own article"
Speech (text):

皆さんこんにちは!この記事の音声は、30秒のサンプル音声から複製した私自身のボイスクローンで自動生成しています。 <short pause> 収録マイクの前に座らなくても、テキストを書くだけでいつもの自分の声で配信できる時代になりました。

0:00/0:16

保存方式の違い ─ Stateful(サーバー保存) vs Stateless(サーバー非保存)

API でボイスクローンを作成する際は、store パラメータによって2つの運用モードを選べます(Google AI Studio のブラウザ画面から作成する場合は自動的に Stateful モードでプロジェクト内に保存されます)。

比較項目Stateful モード(store: true)
自社運営・クリエイター向け推奨
Stateless モード(store: false)
一般ユーザー向けアプリ・高プライバシー
Google サーバーへの保存プロジェクト内に安全に保存されるGoogle サーバーには一切保存されない(処理直後に破棄)
返却される識別子短い ID(例:voice_abc123...)暗号化された自己完結トークン(例:voicekey_xyz987...)
音声データの管理責任Google Cloud / Gemini API プロジェクト側で管理(一覧取得・削除 API あり)クライアント側(アプリのDBや端末のローカルストレージ等)に voicekey_... を保存して毎回渡す
上限数・有効期限(TTL)1プロジェクトあたり最大200ボイス / 1年間(最終利用から)プロジェクト上限なし / 発行から7日間(期限切れ時は再生成)
ハンズオン実践手順書読みながら手を動かして最短3分で完成

4. 実践チュートリアル:自分の声を30秒でクローンして指定テキストを喋らせよう

ここからは、解説を読むだけでなく実際にあなたの手元で自分の声をクローンし、指定した日本語テキストを喋らせるまでの具体的な操作手順書です。

作業を始める前の確認:Google AI Studio のログインと「有料APIキー」の設定は済んでいますか?

ボイスクローン(Voice Replication)機能を実行するには、Google AI Studio へのログインと、お支払い情報(従量課金・月額固定費0円)が紐付いた API キーのリンクが必要です。まだ設定していない方は、先に下の事前準備ガイド(画面付き・所要約5分)を完了させてからこのページに戻ってきてください。

事前準備:Google AI Studio 登録・有料APIキー設定手順書を開く
実践コース A:ブラウザ完結編(プログラミング不要)

Google AI Studio の画面操作だけで自分の声をクローンして喋らせる(全5ステップ)

パソコンの Chrome ブラウザとマイク(パソコン内蔵マイクやイヤホンマイクでOK)があれば、今から5つのステップを順番にクリックしていくだけで完成します。

STEP A-1

Google AI Studio の音声生成画面を開き、「+ Create new voice」をクリックする

  1. Google AI Studio 音声生成プレイグラウンド(別タブで開く ↗) にアクセスします。
  2. 画面中段の「Explore thousands of voices」セクション左端にある 「+ Create new voice」 カードをクリックします。
  3. ポップアップ画面(「Create voice」)が表示されたら、右側の 「Voice Replication」 カードをクリックします。
Google AI Studio 音声生成ホーム画面の Create new voice ボタンの位置
1. 中段左の「+ Create new voice」をクリック
Create voice モーダルで右側の Voice Replication をクリック
2. 右側の「Voice Replication」をクリック
STEP A-2

有料 API キーの確認画面で「リンクして続行」をクリックする

初回やセッション開始時には、「ボイス レプリケーションは有料の階層で実行されます」という確認画面が表示されます。

  1. プロジェクトを選択 と キーを選択 の欄で、お支払い情報(請求先)を設定済みのプロジェクトと API キーが選ばれていることを確認します(まだの方は 事前準備の手順 2 を参照)。
  2. 右下の 「リンクして続行」 ボタンをクリックします。
Voice Replication の有料APIキーリンク画面でプロジェクトとキーを選択し、リンクして続行をクリック
プロジェクトとキーを選択し、右下の「リンクして続行」をクリックします。
STEP A-3

ボイス名を入力し、約20秒のサンプル音声(Add a voice sample)を録音する

録音画面(Create voice · Voice Replication)が開きます。まずはあなたの声質や話し方のクセを AI に覚えさせるためのサンプル音声を録音します。

Voice Replication 録音画面。STEP 1 ボイス名入力、STEP 2 20秒ほどの自然な発話を録音、STEP 3 同意フレーズを読み上げて本人確認録音、STEP 4 Replicate voice でクローン完了
Voice Replication の録音画面。上から順番に「1. ボイス名入力」→「2. サンプル音声録音」→「3. 本人確認フレーズ録音」→「4. Replicate voice」の4ステップで完了します。
  1. Name your voice(ボイス名) の入力欄(最初は My Persona となっています)に、自分がわかりやすい名前を入力します(例:My Japanese Voice や Tanaka Narrator など)。
  2. 1 · Add a voice sample の下にある 「Record your voice」 ボタンをクリックします(ブラウザ上部に「マイクの使用を許可しますか?」と出たら 「許可」 を押してください)。
  3. 録音が始まったら、普段人と話しているような自然な抑揚で20秒ほど日本語で話します。何を話せばいいか迷う方は、下の「そのまま読める20秒サンプル原稿」のどれか1つを声に出して読んでください。
  4. 読み終わったら録音停止ボタンを押します。右側のプレビュー欄にある Voice sample にチェックが付きます。
そのまま声に出して読める!約20秒の日本語サンプル原稿(どれか1つを選んで読んでください)
パターン1:ビジネス・記事解説風

「皆さんこんにちは。いつも業務お疲れさまです。今日は、新しく導入されたAI音声ツールのテストを行っています。文字だけで書かれた長いレポートや議事録も、こうして自然な話し声に変換できると、移動中や作業の合間に耳からインプットできてとても便利ですよね。」

パターン2:ポッドキャスト・雑談風

「いやあ、最近すっかり季節が変わってきましたね。朝起きてコーヒーを淹れる時間が一番好きなんですが、皆さんはどんな朝を過ごしていますか?今日の番組では、最近私が試して本当に面白かったデジタルガジェットについて、じっくりお話ししていこうと思います!」

パターン3:物語・落ち着いた朗読風

「静かな森の奥深くに、古い時計塔がひっそりと佇んでいました。何十年も前に止まったはずの大きな針が、月明かりの差し込む夜にだけ、ゆっくりと音を立てて動き出すのです。その不思議な音を聞いた旅人は、思わず足を止めて見上げました。」

STEP A-4

本人確認フレーズ(Verify it's you)を読み上げて録音し、「Replicate voice」を押す

続いて、今録音したサンプル音声が他人の無断録音ではなくあなた自身の声であることを証明するため、画面に表示されている本人確認フレーズを読み上げます。

  1. 2 · Verify it's you の下にある 「Record verification」 ボタンをクリックします。
  2. グレーの枠内に表示されている以下の英文(または日本語表示環境では日本語文)を、そのまま声に出して読み上げ、録音停止ボタンを押します。
  1. 右側の Voice sample と Verification の両方にチェックが入ると、一番下の 「Replicate voice」 ボタンが押せるようになります。
  2. 「Replicate voice」 をクリックします。数秒〜10秒ほどで声の複製が完了し、あなたの専用ボイスが保存されます!
STEP A-5

「Create new dialog」で自分のクローン音声を選び、好きな日本語テキストを喋らせる!

クローン音声の登録が完了したら、いよいよその声に好きな文章を喋らせてみましょう。

Google AI Studio のダイアログ編集画面。STEP 1 クローン音声を選択、STEP 2 演技指示・感情タグ、STEP 3 喋らせたい日本語テキストを入力、STEP 4 Run で音声生成
ダイアログ作成画面。左上の話者メニュー(STEP 1)から今作った自分のクローン音声を選び、日本語テキスト(STEP 3)を入力して右下の「Run」(STEP 4)を押すだけです。
  1. Google AI Studio の音声生成トップ画面にある 「+ Create new dialog」 をクリックします(クローン作成直後に自動でこの画面に切り替わった場合はそのままでOKです)。
  2. 入力枠の左上にある話者ボタン(初期値は Speaker 1 - Fola ▾ などになっています)をクリックし、一覧の中からSTEP A-3で名前を付けた自分のクローン音声を選択します。
  3. 必要に応じて隣の Style ▾ に演技の指示(例:落ち着いて親しみやすいポッドキャストの語り口で)を入力したり、< > + Expression から <breath>(息継ぎ)や <chuckle>(微笑み声)を挿入します。
  4. 中央のテキスト入力欄に、自分の声で喋らせたい日本語の文章を自由に入力します(英語で本人確認をした場合でも、ここには日本語の文章を入れて流暢な日本語を喋らせることができます!)。
  5. 画面右下の 「Run ⌘ ↵」 ボタンをクリックします。数秒待つと音声が生成されて自動再生され、再生プレイヤー右端のダウンロードボタンから音声ファイル(.wav)をパソコンに保存できます!
ワンポイント:画面右上の「<> Get code」を押せば、そのままプログラム用のコードも取得できます

画面上で試して気に入った声・演技ディレクションができたら、画面右上にある 「<> Get code」 ボタンをクリックしてみてください。今画面で作った設定をそのまま再現できる Python / JavaScript / cURL コードが自動生成されます。

実践コース B:コーディングエージェント活用編(Claude / ChatGPT / Antigravity CLI 対応)

スマホやPCで録音した2ファイルを置き、エージェントへの指示1回でクローン&自動朗読する(全3ステップ)

API(POST /v1beta/voices)を使う場合は、本人確認の同意フレーズも日本語(ja-JP)で録音できます。音声フォーマットの変換(24kHz WAV化)や API 呼び出しコードの作成・実行はすべてコーディングエージェントに任せましょう。

STEP B-1

スマホ(iPhone ボイスメモ等)または PC で2つの音声を録音し、gemini-tts-work フォルダに置く

静かな部屋で、スマートフォンの録音アプリ(iPhone の「ボイスメモ」や Android の「レコーダー」)または PC の録音アプリを使い、以下の2つの音声を別々に録音して、事前準備の手順 3 で作成した gemini-tts-work フォルダ(.env があるフォルダ)に保存します(ファイル形式は .m4a・.mp3・.wav のどれでも構いません)。

録音 1:consent_raw.m4a(本人同意音声・約7秒)
下の日本語同意文を一字一句そのまま読む

下記の日本語同意フレーズを、言い間違い・アドリブ・省略なしで一字一句正確に読み上げます。Google 側で音声認識による厳密な一致チェックが行われます。

録音 2:source_raw.m4a(声質学習用サンプル・15〜30秒)
普段の自然な話し声で15〜30秒話す

コース A の「20秒サンプル原稿」や自己紹介など、15〜30秒間の自然な発話を録音します。抑揚のある普段通りのトーンで話すと、クローン後の表現力が大幅に向上します。

英語・韓国語・中国語・スペイン語など他言語で同意音声を録音する場合のフレーズ一覧
言語・ロケール必須同意フレーズ(一字一句完全一致が必要)
日本語 (ja-JP)私はこの音声の所有者であり、Googleがこの音声を使用して音声合成モデルを作成することを承認します。
英語 (en-US / en-GB)I am the owner of this voice and I consent to Google using this voice to create a synthetic voice model.
韓国語 (ko-KR)나는 이 음성의 소유자이며 Google이 이 음성을 사용하여 음성 합성 모델을 만드는 데 동의합니다.
中国語・簡体字 (zh-CN)我是此声音的拥有者,并授权 Google 使用此声音创建语音合成模型。
スペイン語 (es-ES)Soy el propietario de esta voz y doy mi consentimiento para que Google la utilice para crear un modelo de voz sintética.
STEP B-2

コーディングエージェントに下のプロンプトを貼り付けて実行させる

録音した2つのファイル(例:source_raw.m4a と consent_raw.m4a)を作業フォルダに置いたら、Claude(Claude Code / Cowork)、ChatGPT(Codex)、Antigravity CLI 等を開き、下のプロンプトをそのままコピー&ペーストして送信してください。

このフォルダにある録音ファイルを使って、Gemini 3.8 Flash TTS のボイスクローン登録と読み上げ音声の生成を一括実行してください。

【セキュリティと実装ルール(厳守)】
- APIキー保護: `.env` から `GEMINI_API_KEY` を読み込むこと。`cat .env` や `echo`、`print`、`curl -v` 等でキーの値を画面やログに絶対に出さないこと。
- 依存ゼロ実行: `pip install` による環境エラーを避けるため、Python 3 標準ライブラリ(`urllib.request`, `json`, `base64`, `wave`, `subprocess`, `pathlib`)のみでスクリプトを作成・実行すること。

【手順1:音声ファイルの規格変換と事前チェック】
1) `ffmpeg` で以下の2ファイルを「24000Hz・モノラル(1ch)・16-bit PCM WAV」に変換してください(元の拡張子が `.m4a` / `.mp3` / `.wav` のいずれでも対応すること)。
   - サンプル音声: `source_raw.*` → `source_audio.wav`
   - 本人同意音声: `consent_raw.*` → `consent_audio.wav`
   (コマンド例: `ffmpeg -y -i source_raw.m4a -ar 24000 -ac 1 -c:a pcm_s16le source_audio.wav`)
2) Python の `wave` モジュールで `source_audio.wav` の長さを確認し、推奨範囲(10秒〜30秒)に収まっているかチェックしてください。

【手順2:Voices API でボイスクローン登録】
- エンドポイント: `POST https://generativelanguage.googleapis.com/v1beta/voices`
- ヘッダー: `x-goog-api-key: `, `Content-Type: application/json`
- リクエストJSON:
  ```json
  {
    "type": "replicated",
    "name": "my-japanese-narrator-v1",
    "language_code": "ja-JP",
    "store": true,
    "source_audio": {"mime_type": "audio/wav", "data": ""},
    "consent_audio": {"mime_type": "audio/wav", "data": ""}
  }
  ```
- 返却された JSON の `"id"`(例: `voice_...`)または `"voice_key"` を `voice_id.txt` に保存してください(HTTP 400 等が返った場合はエラー本文の理由を日本語で解説してください)。

【手順3:クローンした私の声で指定テキストを喋らせる】
- エンドポイント: `POST https://generativelanguage.googleapis.com/v1beta/interactions`
- リクエストJSON:
  ```json
  {
    "model": "gemini-3.8-flash-tts",
    "input": [{
      "role": "user",
      "content": [{
        "type": "text",
        "text": "皆さんこんにちは。 この音声は、わずか30秒のサンプル録音から複製された私のボイスクローンが自動で読み上げています。 ブログ記事や資料の音声化も一瞬で完了します。",
        "speech_metadata": {"style": "natural, warm, and articulate Japanese podcast narrator"}
      }]
    }],
    "generation_config": {
      "response_modalities": ["AUDIO"],
      "speech_config": {"voice": "<手順2で取得したid>"}
    }
  }
  ```
- レスポンスの Base64 音声データ(`outputs[].data` または `steps[].content[].data`)をデコードして `my_cloned_speech.wav` に保存し、`wave` モジュールで再生秒数を検証して報告してください。
STEP B-3

2回目以降:保存された voice_id.txt を使って好きな原稿ファイルを次々喋らせる

一度ボイスクローン ID(voice_...)が発行されて voice_id.txt に保存されれば、2回目からは録音ファイルは一切不要です。エージェントに以下のように一言指示するだけで、どんな文章や Markdown ファイルでもあなたの声で読み上げさせられます。

`.env` の GEMINI_API_KEY(値は非表示)と `voice_id.txt` のボイスIDを使い、`article.md` の内容を Gemini 3.8 Flash-Lite TTS(`gemini-3.8-flash-lite-tts`)で読み上げさせて `article_narration.mp3` に保存してください。
長文の場合は見出しごとに分割して `audio/l16`(24000Hz・16-bit PCM)で取得し、クリックノイズが入らないよう結合してから `ffmpeg` で MP3(128kbps)に変換してください。
実践コース C(手動 Python 実行向け)コーディングエージェントを使わず、自分で Google Colab や PC から Python コードを実行する場合のコード一式を開く

ご自身で Google Colab やローカル PC のターミナル・Python スクリプトを実行する場合は、以下の STEP C-1 〜 C-3 のコードを順番に実行してください。

STEP C-1

録音ファイルを 24kHz・モノラル・16bit WAV に変換する

# Google Colab のセルで実行する場合は先頭に「!」を付けます(PCのターミナルなら「!」は不要)
!ffmpeg -y -i source_raw.m4a  -ar 24000 -ac 1 -c:a pcm_s16le source_audio.wav
!ffmpeg -y -i consent_raw.m4a -ar 24000 -ac 1 -c:a pcm_s16le consent_audio.wav
STEP C-2

Voices API に2つの音声を送信してボイスクローン ID(voice_...)を発行する

import base64
import os
from pathlib import Path
import requests

# Google Colab のシークレット機能を使っている場合は自動で読み込む
if not os.environ.get("GEMINI_API_KEY"):
    try:
        from google.colab import userdata
        os.environ["GEMINI_API_KEY"] = userdata.get("GEMINI_API_KEY")
    except Exception:
        pass

API_KEY = os.environ["GEMINI_API_KEY"]

source_b64 = base64.b64encode(Path("source_audio.wav").read_bytes()).decode("utf-8")
consent_b64 = base64.b64encode(Path("consent_audio.wav").read_bytes()).decode("utf-8")

resp = requests.post(
    "https://generativelanguage.googleapis.com/v1beta/voices",
    headers={
        "x-goog-api-key": API_KEY,
        "Content-Type": "application/json",
    },
    json={
        "type": "replicated",
        "name": "my-japanese-narrator-v1",
        "language_code": "ja-JP",
        "store": True,
        "source_audio": {"mime_type": "audio/wav", "data": source_b64},
        "consent_audio": {"mime_type": "audio/wav", "data": consent_b64},
    },
    timeout=60,
)
resp.raise_for_status()

voice_data = resp.json()
voice_identifier = voice_data.get("id") or voice_data.get("voice_key")
print("ボイスクローン登録完了!あなたの Voice ID:", voice_identifier)
STEP C-3

発行された voice_identifier で好きな日本語テキストを喋らせる

TEXT_TO_SPEAK = """
皆さんこんにちは。<breath>
この音声は、わずか30秒のサンプル録音から複製された私のボイスクローンが自動で読み上げています。<chuckle>
一度ボイスIDを発行しておけば、毎日のブログ記事や社内ニュースの音声化も数秒で完了します。
""".strip()

tts_resp = requests.post(
    "https://generativelanguage.googleapis.com/v1beta/interactions",
    headers={
        "x-goog-api-key": API_KEY,
        "Content-Type": "application/json",
    },
    json={
        "model": "gemini-3.8-flash-tts",
        "input": [{
            "role": "user",
            "content": [{
                "type": "text",
                "text": TEXT_TO_SPEAK,
                "speech_metadata": {"style": "natural, warm, and articulate Japanese podcast narrator"},
            }],
        }],
        "generation_config": {
            "response_modalities": ["AUDIO"],
            "speech_config": {"voice": voice_identifier},
        },
    },
    timeout=90,
)
tts_resp.raise_for_status()

for out in tts_resp.json().get("outputs", []):
    if out.get("type") == "audio":
        Path("my_cloned_speech.wav").write_bytes(base64.b64decode(out["data"]))
        print("生成成功! my_cloned_speech.wav に保存しました。")
補足:登録済みカスタムボイスの一覧確認と削除
# 保存されているカスタムボイス一覧を確認(最大200件)
list_resp = requests.get(
    "https://generativelanguage.googleapis.com/v1beta/voices",
    headers={"x-goog-api-key": API_KEY},
)
print(list_resp.json())

# 不要になったボイスクローンを完全に削除する場合
# requests.delete(f"https://generativelanguage.googleapis.com/v1beta/voices/{voice_identifier}", headers={"x-goog-api-key": API_KEY})

よくあるつまずきと解決法(トラブルシューティング)

Q1. 「Voice Replication runs on the paid tier(有料の階層で実行されます)」と出て先に進めません

選択している Google Cloud プロジェクトにお支払い情報(請求先アカウント)が紐付いていないか、無料枠専用の API キーが選択されています。事前準備ページの手順 2 に沿って「お支払い情報を設定(Set up Billing)」を完了し、「リンクして続行」をクリックしてください。

Q2. 本人確認(Verify it's you / consent_audio)で「同意文が一致しない」「同一話者として認識されない」エラーになります

以下の3点を確認して再録音してください。
1) サンプル音声と本人確認音声を同じマイク・同じ部屋・同じ声のトーンで続けて録音しているか(片方だけスマホ、もう片方をPCマイクにすると別人と判定されることがあります)。
2) 同意フレーズの最初や最後に「えーっと」「はい」などの余計な言葉が入っていないか。
3) エアコンの強風音や周囲のBGMが入っていないか。

Q3. Google AI Studio のブラウザ画面(コースA)で英語の同意文を読んで作ったボイスは、日本語も喋れますか?

はい、流暢な日本語を喋れます! Gemini 3.8 Flash TTS は多言語対応(クロスリンガル音声複製)モデルのため、STEP A-3 のサンプル音声を日本語で20秒話し、STEP A-4 の本人確認だけ画面の指示通り英語フレーズを読み上げて作成すれば、あなたの日本語の話し方の特徴を保ったまま日本語テキストを自然に読み上げます。

5. 多言語展開(クロスリンガル合成)と SynthID による安全性保証

Gemini 3.8 TTS の Voice Replication がさらに驚異的なのは、日本語で録音した30秒の自分の声(voice_...)を使って、英語・中国語・韓国語・スペイン語・フランス語など 100 以上の言語を「自分の声質のまま」流暢に喋らせることができる(Cross-lingual Voice Replication)点です。

すべての生成音声に自動で刻まれる「SynthID」と「C2PA」

Gemini 3.8 TTS(標準ボイス・Voice Design・Voice Replication すべて)から出力される音声には、人間の耳には一切聴こえない Google DeepMind の電子透かし SynthID が自動的に埋め込まれ、さらに来歴を証明する C2PA コンテンツ認証情報 が付与されます。これにより、万が一のなりすまし調査やプラットフォーム側のAI生成物判定にも透明性をもって対応できます。

Gemini 3.8 TTS マスターガイド

Google の最新音声合成モデル gemini-3.8-flash-tts / gemini-3.8-flash-lite-tts および gemini-3.5-transcribe の公式ドキュメントに基づき構築された実践チュートリアルサイトです。掲載されているすべてのサンプル音声は実際の Gemini 3.8 TTS API で生成されており、SynthID 電子透かしが含まれています。

Built with Astro 7, TypeScript, Zod & Cloudflare Workers. Audio synthesized with Gemini 3.8 TTS API & Illustrations powered by Nano Banana 2.1.