はじめに
2026 年 8 月 26 日、Google が音声文字起こしに特化した Gemini モデル「Gemini 3.5 Transcribe」を公開しました。録音済み音声向けの gemini-3.5-transcribe と、リアルタイム向けの gemini-3.5-transcribe-live という 2 つのモデル ID が用意されています。
会議やインタビュー、コールログの文字起こしを検討するとき、迷いやすいのは機能の有無そのものではなく「どの組み合わせを選ぶか」です。録音済みとリアルタイムでは利用する API も上限時間も異なり、出力の整形にも 2 つのモードがあります。選択を誤ると、話者分離が使えない、あるいは発言内容が整形されて逐語記録として使えない、といった形で後から影響が出ます。
- Gemini 3.5 Transcribe の位置づけと、汎用 Gemini の音声理解との違い
- 録音済みとリアルタイムで異なる API、上限時間、利用できる機能
- verbatim と smart の違いと、逐語記録が必要な用途での選び方
- 料金の目安と、無料枠・有料枠でのデータ利用条件の差
- 録音ファイルを Python から文字起こしする最小限の手順
結論を先に述べると、録音済みの音声を扱うなら Interactions API と gemini-3.5-transcribe、マイク入力やライブ字幕なら Live API と gemini-3.5-transcribe-live を選びます。日本語(ja-JP)は両方のサポート言語表に含まれています。出力の整形は既定が逐語の verbatim で、読みやすさを優先する smart は発言内容そのものを書き換えるため、逐語記録が必要な用途には向きません。
Gemini 3.5 Transcribe とは|文字起こし専用モデルの位置づけ
Gemini 3.5 Transcribe は、Gemini の音声理解を基盤にした音声認識専用のモデルです。汎用の Gemini モデルにも音声を扱う機能はありますが、公式ドキュメントでは役割が次のように分けられています。
- 音声の内容を要約する、音声について質問する: Audio understanding
- 音声を文字へ変換する: Audio transcription(Gemini 3.5 Transcribe)
- テキストから音声を合成する: Text-to-speech
つまり、音声から情報を読み取って考えさせたい場合は汎用モデル、書き起こしそのものが目的なら Transcribe という切り分けです。Gemini アプリへ音声ファイルをアップロードする操作とも別の系統になります。Gemini のモデル体系全体の動きは、関連記事『Gemini 3.6 Flash 発表|3.5 Pro より先に出た理由と新モデルの位置づけ』で整理しています。
主な機能
- 85 以上の言語・ロケールの自動検出と、会話途中の言語切り替えへの対応
- 話者分離(録音ファイルのみ)
- 単語単位のタイムスタンプ(録音ファイルのみ)
- カスタム語彙による認識のバイアス(最大 1,000 語)
- 読みやすさを優先する Smart transcription
- 句読点、大文字化、逆テキスト正規化(英語で「twenty six million dollars」を「$26M」と表記する等)
カスタム語彙は最大 1,000 語まで指定できますが、公式ドキュメントは通常 100 語程度で良い結果が得られるとしています。製品名、社内の略語、人名など、一般的な単語ではない語に絞る使い方が推奨されています。
提供状況と Function calling に関する注意
提供状況は、情報源によって記載が異なります。判断に影響する部分なので、出典ごとに分けて整理します。
| 情報源 | 記載内容 |
|---|---|
| Gemini API リリースノート(2026 年 8 月 26 日) | 一般提供(GA)として 2 つのモデルをリリース |
| Google 公式ブログ(同日) | 開発者向けは Gemini API と Google Antigravity で public preview |
本記事では、技術仕様を扱うリリースノートとモデルページ、および各ガイドの記載を基準に整理しています。本番利用を判断する際は、利用時点の公式ページを確認してください。
もう 1 つ混同しやすいのが Function calling です。公式ブログには、ほかの Gemini モデルへ画像生成やファイル分析を委譲できるという説明がありますが、これは Gemini macOS アプリでの機能として紹介されているものです。Gemini API のモデルページでは、gemini-3.5-transcribe の Function calling は非対応と明記されています。Caching、Code execution、File search、Thinking も同様に非対応です。
精度に関する公表値の読み方
公式ブログでは、第三者である Artificial Analysis の測定結果として、ストリーミングで平均 WER 4.0%、非ストリーミングで平均 WER 2.6% という値が紹介されています。また FLEURS ベンチマークの主要言語・ロケールでは、ストリーミング 5.50%、非ストリーミング 5.04% とされています。
参考: Intelligent transcription with Gemini 3.5 Transcribe(Google 公式ブログ)
“As measured by Artificial Analysis, achieves an average Word Error Rate (WER) of 4.0%”
(Artificial Analysis の測定によれば、平均単語誤り率 4.0% を達成している)
https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-5-transcribe/
これは特定の評価条件での測定値であり、あらゆる日本語音声で同じ精度が得られることを示すものではありません。話者、録音品質、雑音、専門用語によって結果は変わります。日本語単体の公表値は確認できないため、導入前に自組織の実際の音声で試すことをおすすめします。
録音済みとリアルタイムの違い|2 つの API とモデル ID
Gemini 3.5 Transcribe は 2 つのエンドポイントに分かれており、最初の分岐は「録音済みファイルを処理するか、流れている音声を処理するか」です。この判断と、次のセクションで扱う出力モードの判断をあわせると、利用方式が決まります。

| 項目 | gemini-3.5-transcribe(録音済み) | gemini-3.5-transcribe-live(リアルタイム) |
|---|---|---|
| 利用する API | Interactions API | Live API(WebSocket 双方向ストリーミング) |
| 最大時間 | 1 リクエストあたり 1 時間。話者分離または単語単位タイムスタンプを有効にすると 30 分 | 1 セッションあたり 10 分 |
| 言語自動検出 | 対応(85 以上) | 対応(85 以上) |
| 話者分離 | 対応(最大 8 人、3 人以上は experimental) | 非対応 |
| 単語単位タイムスタンプ | 対応(精度が低下する可能性あり) | 非対応(発話単位のみ) |
| カスタム語彙 | 最大 1,000 語 | 最大 1,000 語 |
| Smart transcription | 対応 | 対応 |
| 入力の形式 | Files API へアップロードした音声ファイルの URI | 16 kHz、16 bit、モノラル、リトルエンディアンの PCM |
| 出力の受け取り | interaction.output_text と単語アノテーション | 暫定と確定の 2 系統のイベント |
録音済み音声を処理する場合
Files API へアップロードした音声の URI を Interactions API へ渡す形になります。話者分離を有効にすると、各発話へ spk_1 のような話者ラベルが付き、単語単位タイムスタンプを有効にすると start_offset と end_offset を持つ単語アノテーションが返ります。
話者数の上限については、情報源で記載が分かれています。モデルページと Audio transcription ガイドは最大 8 人としており、公式ブログの紹介文は最大 3 人と読める書き方になっています。いずれも 3 人以上の帰属は experimental であるという点は共通しています。
参考: Audio transcription(Gemini API 公式ドキュメント)
“Up to 8 speakers are supported (attribution for 3 or more speakers is experimental).”
(最大 8 人の話者に対応する。3 人以上への帰属は experimental である)
https://ai.google.dev/gemini-api/docs/transcribe
実務上は、4 人以上が参加する会議録で話者ラベルをそのまま信頼せず、確認工程を挟む前提で設計するのが無難です。また、単語単位タイムスタンプを有効にすると文字起こし精度が低下する可能性があるとドキュメントに注記されているため、字幕のタイミング合わせのように本当に必要な場面に限って使う判断になります。
リアルタイム音声を処理する場合
Live API は、会話エージェントではなく音声認識のパイプラインとして動作します。応答モダリティはテキストのみで、話しているあいだも継続的に結果が返る構成です。返却されるフィールドは 2 系統に分かれます。
- interim_input_transcription
-
発話中に高頻度で更新される暫定的な推定結果です。ライブ字幕やプレビュー表示に使います。
- input_transcription
-
話者が区切ったタイミングで確定する文字起こしです。smart を指定した場合は、整形後のテキストがここへ入ります。
発話区切りの検出方式は 3 種類から選べます。既定はサーバー側の自動 VAD、クライアント側で無音を検出して確定を早めるハイブリッド VAD、そしてボタン操作で開始と終了を明示する手動 VAD です。プッシュトゥトーク型の UI を作る場合は手動 VAD を使います。
参考: Live transcription with Gemini Live API(Gemini API 公式ドキュメント)
“Live transcription sessions support continuous streaming for up to 10 minutes.”
(ライブ文字起こしのセッションは最大 10 分の連続ストリーミングに対応する)
https://ai.google.dev/gemini-api/docs/live-api/live-transcribe
1 時間の会議をリアルタイムで字幕化する場合、10 分ごとの再接続と、接続断が起きたときの取りこぼし対策をアプリ側で設計する必要があります。議事録の作成が目的で即時性が不要なら、録音してから録音済み向けのモデルへ渡すほうが構成は単純です。
verbatim と smart の選び方
2 つ目の判断が出力モードです。mode パラメーターで指定し、既定は verbatim です。
- verbatim(既定)
-
話された内容をそのまま文字にします。フィラー、繰り返し、言い直し、言いよどみが残ります。単語単位タイムスタンプと話者分離は、このモードの中で設定します。
- smart(Smart transcription)
-
読みやすさを優先して後処理します。フィラーの除去、言い直しの反映、段落や箇条書き・日付・通貨・数値の整形、句読点と大文字化の調整を行います。
公式ドキュメントには、「火曜日、いや水曜の 2 時に」という趣旨の発話が、smart では「水曜日の午後 2 時」へ整理される例が示されています。また「1 つ目は予算のレビュー、2 つ目は…」という列挙が番号付きリストへ整形される例もあります。
ここで重要なのは、smart は verbatim の上位互換ではなく、出力される文が実際の発言と異なる場合があるという点です。言い直しの前半が消え、フィラーが除かれ、語順や表現が整えられます。読み物としては優れていても、発言記録としては使えません。
| 用途 | 選ぶモード | 理由 |
|---|---|---|
| 会議メモ、議事録のドラフト | smart | フィラー除去と整形により編集の手間が減る |
| 音声入力、ディクテーション | smart | 話し言葉をそのまま文書へ流用しやすい |
| 監査、証跡、調査、ヒアリング記録 | verbatim | 発言内容を書き換えずに残す必要がある |
| 話者ごとの発言記録 | verbatim | 話者分離は verbatim の中でのみ設定できる |
| 字幕、動画編集用のタイムライン | verbatim | 単語単位タイムスタンプは verbatim の中でのみ設定できる |
併用の制約もあります。smart は timestamp_granularities および diarization_mode と組み合わせられません。つまり、話者分離か単語単位タイムスタンプのどちらかが必要になった時点で、モードは verbatim に決まります。読みやすい整形と話者ラベルの両方が欲しい場合は、verbatim で取得した結果を別途 LLM で整形するといった二段構えの設計になります。
なお、指定方法は API によって異なります。Interactions API では generation_config.transcription_config.mode に "smart" または {"type": "verbatim", ...} を渡します。Live API では input_audio_transcription.mode に "SMART" または "VERBATIM" を渡します。指定先と大文字・小文字が違う点は、両方を実装する際の注意点です。
料金と利用上の制限
公式料金ページに掲載されている有料枠の単価は次のとおりです。実効レートは、音声 1 秒あたり 25 トークン、テキスト 1 分あたり 175 トークンという想定にもとづく概算として示されています。
| 項目 | gemini-3.5-transcribe | gemini-3.5-transcribe-live |
|---|---|---|
| 入力(音声) | $2.00 / 100 万トークン、または $0.003 / 分 | $3.50 / 100 万トークン、または $0.005 / 分 |
| 出力(テキスト) | $12.00 / 100 万トークン、または $0.002 / 分 | $21.00 / 100 万トークン、または $0.004 / 分 |
| 実効レート(公式の概算) | 約 $0.005 / 分 | 約 $0.009 / 分 |
| 無料枠 | あり | あり |
| Grounding with Google Search | 非対応 | 非対応 |
60 分の音声を処理した場合、録音済みで約 $0.30、リアルタイムで約 $0.54 という計算になります。ただしこれは公式のトークン想定にもとづく単純計算であり、実際の請求額を保証するものではありません。発話密度や出力量によって実際のトークン消費は変動します。為替の影響もあるため、日本円での固定換算は避け、ドル建てで比較することをおすすめします。
無料枠と有料枠でのデータ利用の違い
業務の音声を扱う場合、単価よりも先に確認すべきなのがデータの取り扱いです。Gemini API 追加利用規約では、無料枠と有料枠で扱いが明確に分かれています。
| 観点 | 無料枠(Unpaid Services) | 有料枠(Paid Services) |
|---|---|---|
| 送信内容の製品改善への利用 | 利用される | 利用されない |
| 人によるレビュー | レビュアーが読み取り、注釈、処理を行う場合がある。実施前に Google アカウント、API キー、Cloud プロジェクトとの紐付けを切り離すと記載 | 規約上、同様の記載なし |
| ログの保持 | 規約上、明示的な期間の記載なし | 禁止用途ポリシー違反の検知・防止と、法令・規制上の開示のために一定期間保持 |
| 処理の枠組み | プライバシーポリシーに従って処理 | Google がデータ処理者となる Data Processing Addendum に従って処理 |
参考: Gemini API Additional Terms of Service(Google 公式)
“Do not submit sensitive, confidential, or personal information to the Unpaid Services.”
(機微情報、機密情報、個人情報を無料サービスへ送信しないこと)
https://ai.google.dev/gemini-api/terms
顧客との通話や社内会議の音声には、個人情報や取引情報が含まれることが多く、無料枠での試用と本番運用は明確に分ける必要があります。一方で、有料枠であればデータが一切保存されないという意味でもありません。規約上は、ポリシー違反の検知と法令対応のために一定期間のログが保持されると記載されています。最終的な可否は、社内の情報取り扱い規程と照らして判断してください。
提供地域の制約もあります。欧州経済領域、スイス、英国の利用者へアプリケーションを提供する場合は、有料サービスのみを使用すると規約に定められています。またこれらの地域では、無料枠を含むすべてのサービスに有料サービスのデータ取り扱い条件が適用されます。
コスト最適化の手段が限られる点
モデルページによると、gemini-3.5-transcribe は Batch API、Flex 推論、Priority 推論、コンテキストキャッシュのいずれにも対応していません。ほかの Gemini モデルで使える 50% 割引のバッチ処理が選べないため、大量の録音をまとめて安く処理する設計は取りにくくなります。過去分の一括処理を計画している場合は、この点を見積もりへ織り込んでおくことをおすすめします。
音声ファイルの受け渡しに使う Files API については、プロジェクトあたり 20 GB、1 ファイルあたり 2 GB という上限があり、アップロードしたファイルは 48 時間後に自動削除されます。Files API 自体の利用料は無償です。リクエスト全体が 100 MB を超える場合は Files API を使うよう案内されています。
録音ファイルを文字起こしする基本的な使い方
ここでは、録音済みの音声ファイルを Python から処理する最小限の手順を、公式ドキュメントの記載に沿って整理します。実機での検証結果ではなく、公式手順にもとづく導入例です。
Google AI Studio の API キー画面でキーを作成します。現在 AI Studio で新規作成されるキーは、Google Cloud サービスアカウントに紐づく認可キー(auth key)になります。制限が設定されていない従来型の標準キーからのリクエストはすでに拒否されており、2026 年 9 月以降は標準キー全体が拒否される予定と案内されています。既存のキーを流用する場合は種別を確認してください。
pip install google-genaiクライアントライブラリは GEMINI_API_KEY または GOOGLE_API_KEY を自動的に読み込みます。両方が設定されている場合は GOOGLE_API_KEY が優先されます。キーをソースコードへ直接書かず、環境変数またはシークレット管理サービスから読み込む構成にします。
export GEMINI_API_KEY="取得した API キー"Files API でアップロードし、返された URI を Interactions API へ渡します。結果は interaction.output_text から取得します。
from google import genai
client = genai.Client()
audio_file = client.files.upload(file="path/to/sample.mp3")
interaction = client.interactions.create(
model="gemini-3.5-transcribe",
input=[
{
"type": "audio",
"uri": audio_file.uri,
"mime_type": audio_file.mime_type,
}
],
)
print(interaction.output_text)言語が分かっている場合は language_codes を指定すると精度の向上が期待できます。話者分離と単語単位タイムスタンプを使う場合は、verbatim モードの中で指定します。
generation_config = {
"transcription_config": {
"language_codes": ["ja-JP"],
"mode": {
"type": "verbatim",
"diarization_mode": "speaker",
"timestamp_granularities": ["word"],
},
}
}読みやすい整形を優先する場合は、mode を文字列で指定します。この指定では話者分離と単語単位タイムスタンプは併用できません。
generation_config = {
"transcription_config": {
"mode": "smart",
}
}話者分離または単語単位タイムスタンプを有効にした場合、確定したテキストに加えて単語ごとのアノテーションが返ります。アノテーションには種別を示す word_info、単語のテキスト、話者ラベル、開始と終了のオフセットが含まれ、レスポンス内の各ステップのコンテンツをたどって取り出します。
リアルタイム実装で押さえておく点
リアルタイム側は WebSocket の扱い、音声ストリーミング、VAD の設計が絡むため、記事内では要点のみ整理します。実装は公式の Live transcription ガイドを参照してください。
- SDK の
live.connectまたは生の WebSocket で接続し、応答モダリティはテキストのみを指定する - 音声は 16 kHz の 16 bit PCM を、100 ms 相当のチャンクで送信する
- 暫定と確定の 2 つのイベントを分けて扱い、UI 上で確定時に置き換える
- VAD は自動、ハイブリッド、手動から UI に合わせて選ぶ
- Web やモバイルから直接接続する場合は、API キーを埋め込まず、サーバー側で発行した ephemeral token を使う
ephemeral token は、有効期限と使用回数、接続時のモデルと設定を制約として指定したうえで発行できます。クライアント配布型のアプリでは、この方式が公式に案内されています。
まとめ
Gemini 3.5 Transcribe は、機能の多さよりも「どの組み合わせを選ぶか」で使い勝手が決まるモデルです。録音済みかリアルタイムかで API と上限時間が変わり、出力モードの選択は記録としての正確さに直結します。料金そのものは分単位で見れば小さいものの、無料枠のデータ利用条件と、バッチ処理が使えない点は導入判断に影響します。
- 録音済みは Interactions API、リアルタイムは Live API という 2 系統の構成
- 話者分離と単語単位タイムスタンプは録音済みのみで利用可能
- smart は読みやすい反面、発言内容が変わる可能性がある
- 逐語記録や話者別の記録が必要な用途では verbatim を選ぶ
- 実効レートの目安は録音済みで約 $0.005 / 分、リアルタイムで約 $0.009 / 分
- 無料枠の送信内容は製品改善に利用されるため業務音声の扱いに注意
- Batch API やコンテキストキャッシュが使えず大量処理の割引手段は限定的
以上、最後までお読みいただきありがとうございました。

