> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jiekou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Gemini 2.5 Flash TTS テキスト読み上げ

Vertex AI generateContent インターフェースに基づいてテキストを音声に変換します。リクエストボディの形式は公式 Vertex AI API と完全に一致しています。同期（単一リクエスト・単一レスポンス）とストリーミング（単一リクエスト・ストリーミングレスポンス）の 2 つのモードに対応しています。出力は LINEAR16 PCM 形式（24kHz、モノラル、16-bit signed little-endian）で、WAV ヘッダーは含まれません。

## リクエストヘッダー

<ParamField header="Content-Type" type="string" required={true}>
  列挙値: `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Bearer 認証形式: Bearer \{\{API Key}}。
</ParamField>

## リクエストボディ

<ParamField body="contents" type="object" required={true}>
  <Expandable title="プロパティ" defaultOpen={true}>
    <ParamField body="role" type="string" required={true} default="user">
      ロール。user に固定

      選択可能な値：`user`
    </ParamField>

    <ParamField body="parts" type="object" required={true}>
      <Expandable title="プロパティ" defaultOpen={true}>
        <ParamField body="text" type="string" required={true}>
          音声に合成するテキスト内容。Vertex AI API では、プロンプトとテキストを 1 つのフィールドに結合します。形式は '{prompt}: {text}' です。例: 'Say the following in a curious way: OK, so... tell me about this AI thing.'。合計サイズは最大 8000 バイトで、655 秒を超える音声は切り捨てられます。インラインマークアップタグに対応しています：\[sigh]、\[laughing]、\[uhm]、\[sarcasm]、\[robotic]、\[shouting]、\[whispering]、\[extremely fast]、\[short pause]、\[medium pause]、\[long pause]

          長さ制限：0 - 8000
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="generation_config" type="object" required={true}>
  <Expandable title="プロパティ" defaultOpen={true}>
    <ParamField body="temperature" type="number" default={2}>
      温度パラメータ。音声生成のランダム性と創造性を制御します。値が高いほど創造的で多様になり、値が低いほど予測しやすく集中した結果になります。有効範囲は (0.0, 2.0]、推奨値は 2.0 です

      値の範囲：\[0, 2]
    </ParamField>

    <ParamField body="speech_config" type="object" required={true}>
      <Expandable title="プロパティ" defaultOpen={true}>
        <ParamField body="voice_config" type="object">
          単一話者の音声設定。multi\_speaker\_voice\_config とのいずれかを選択します

          <Expandable title="プロパティ" defaultOpen={true}>
            <ParamField body="prebuilt_voice_config" type="object">
              <Expandable title="プロパティ" defaultOpen={true}>
                <ParamField body="voice_name" type="string">
                  プリセット音声名（大文字・小文字を区別しません）。選択可能な 30 種類の音声（男性・女性の声を含む）

                  選択可能な値：`Achernar`, `Achird`, `Algenib`, `Algieba`, `Alnilam`, `Aoede`, `Autonoe`, `Callirrhoe`, `Charon`, `Despina`, `Enceladus`, `Erinome`, `Fenrir`, `Gacrux`, `Iapetus`, `Kore`, `Laomedeia`, `Leda`, `Orus`, `Pulcherrima`, `Puck`, `Rasalgethi`, `Sadachbia`, `Sadaltager`, `Schedar`, `Sulafat`, `Umbriel`, `Vindemiatrix`, `Zephyr`, `Zubenelgenubi`
                </ParamField>
              </Expandable>
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="language_code" type="string" required={true}>
          言語コード（BCP-47 形式、大文字・小文字を区別しません）。GA 言語：ar-EG, bn-BD, nl-NL, en-IN, en-US, fr-FR, de-DE, hi-IN, id-ID, it-IT, ja-JP, ko-KR, mr-IN, pl-PL, pt-BR, ro-RO, ru-RU, es-ES, ta-IN, te-IN, th-TH, tr-TR, uk-UA, vi-VN。Preview 言語には cmn-CN（中国語普通話）など 63 種類が含まれます

          選択可能な値：`af-ZA`, `am-ET`, `ar-001`, `ar-EG`, `az-AZ`, `be-BY`, `bg-BG`, `bn-BD`, `ca-ES`, `ceb-PH`, `cmn-CN`, `cmn-TW`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-AU`, `en-GB`, `en-IN`, `en-US`, `es-419`, `es-ES`, `es-MX`, `et-EE`, `eu-ES`, `fa-IR`, `fi-FI`, `fil-PH`, `fr-CA`, `fr-FR`, `gl-ES`, `gu-IN`, `he-IL`, `hi-IN`, `hr-HR`, `ht-HT`, `hu-HU`, `hy-AM`, `id-ID`, `is-IS`, `it-IT`, `ja-JP`, `jv-JV`, `ka-GE`, `kn-IN`, `ko-KR`, `kok-IN`, `la-VA`, `lb-LU`, `lo-LA`, `lt-LT`, `lv-LV`, `mai-IN`, `mg-MG`, `mk-MK`, `ml-IN`, `mn-MN`, `mr-IN`, `ms-MY`, `my-MM`, `nb-NO`, `ne-NP`, `nl-NL`, `nn-NO`, `or-IN`, `pa-IN`, `pl-PL`, `ps-AF`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sd-IN`, `si-LK`, `sk-SK`, `sl-SI`, `sq-AL`, `sr-RS`, `sv-SE`, `sw-KE`, `ta-IN`, `te-IN`, `th-TH`, `tr-TR`, `uk-UA`, `ur-PK`, `vi-VN`
        </ParamField>

        <ParamField body="multi_speaker_voice_config" type="object">
          複数話者の音声設定。voice\_config とのいずれかを選択します。注意：gemini-2.5-flash-lite-preview-tts は複数話者合成に対応していません

          <Expandable title="プロパティ" defaultOpen={true}>
            <ParamField body="speaker_voice_configs" type="object[]">
              話者音声設定のリスト

              <Expandable title="プロパティ" defaultOpen={true}>
                <ParamField body="speaker" type="string" required={true}>
                  話者の別名。英数字のみで構成する必要があり、スペースは使用できません。contents.parts.text 内の話者識別子と一致している必要があります
                </ParamField>

                <ParamField body="voice_config" type="object" required={true}>
                  <Expandable title="プロパティ" defaultOpen={true}>
                    <ParamField body="prebuilt_voice_config" type="object">
                      <Expandable title="プロパティ" defaultOpen={true}>
                        <ParamField body="voice_name" type="string">
                          プリセット音声名（大文字・小文字を区別しません）。選択可能な 30 種類の音声（男性・女性の声を含む）

                          選択可能な値：`Achernar`, `Achird`, `Algenib`, `Algieba`, `Alnilam`, `Aoede`, `Autonoe`, `Callirrhoe`, `Charon`, `Despina`, `Enceladus`, `Erinome`, `Fenrir`, `Gacrux`, `Iapetus`, `Kore`, `Laomedeia`, `Leda`, `Orus`, `Pulcherrima`, `Puck`, `Rasalgethi`, `Sadachbia`, `Sadaltager`, `Schedar`, `Sulafat`, `Umbriel`, `Vindemiatrix`, `Zephyr`, `Zubenelgenubi`
                        </ParamField>
                      </Expandable>
                    </ParamField>
                  </Expandable>
                </ParamField>
              </Expandable>
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## レスポンス情報

<ResponseField name="audioContent" type="string" required={false}>
  Base64 エンコードされた音声コンテンツ。形式は LINEAR16 PCM（24kHz、モノラル、16-bit signed little-endian）で、WAV ヘッダーは含まれません。クライアントは ffmpeg を使用して変換できます：ffmpeg -f s16le -ar 24k -ac 1 -i input.raw output.wav
</ResponseField>

<ResponseField name="usageMetadata" type="object" required={false}>
  <Expandable title="プロパティ" defaultOpen={true}>
    <ResponseField name="totalTokenCount" type="integer" required={false}>
      合計 token 数（promptTokenCount + candidatesTokenCount）
    </ResponseField>

    <ResponseField name="promptTokenCount" type="integer" required={false}>
      入力テキストで消費された token 数
    </ResponseField>

    <ResponseField name="candidatesTokenCount" type="integer" required={false}>
      出力音声で消費された token 数（音声 1 秒あたり約 25 token）
    </ResponseField>
  </Expandable>
</ResponseField>
