For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主要導覽

文字轉語音

瞭解如何將文字轉換成栩栩如生的語音。

Audio API 提供以我們的 GPT-4o mini TTS(文字轉語音)模型為基礎的 speech 端點。它內建 11 種語音,可用於:

  • 朗讀部落格文章
  • 產生多種語言的語音
  • 透過串流即時輸出音訊

以下是 alloy 語音的範例:

我們的使用政策要求你 向終端使用者明確揭露,他們聽到的 TTS 語音 是由 AI 生成,而非真人發聲。

快速入門

speech 端點接受三項主要輸入:

  1. 你使用的模型
  2. 要轉換成音訊的文字
  3. 用於朗讀輸出內容的語音

以下是一個簡單的請求範例:

將輸入文字轉換成語音
from pathlib import Path
from openai import OpenAI

client = OpenAI()
speech_file_path = Path(__file__).parent / "speech.mp3"

with client.audio.speech.with_streaming_response.create(
    model="gpt-4o-mini-tts",
    voice="coral",
    input="Today is a wonderful day to build something people love!",
    instructions="Speak in a cheerful and positive tone.",
) as response:
    response.stream_to_file(speech_file_path)

此端點預設會以 MP3 格式輸出語音,但你可以將它設定為輸出任何支援的格式

文字轉語音模型

開發智慧型即時應用程式時,請使用 gpt-4o-mini-tts 模型,這是我們最新且最可靠的文字轉語音模型。你可以透過提示詞,讓模型控制語音的各種特性,包括:

  • 口音
  • 情感表現範圍
  • 語調
  • 聲音模仿
  • 語速
  • 語氣
  • 耳語

我們還提供 tts-1tts-1-hd 文字轉語音模型。tts-1 模型的延遲較低,但品質不如 tts-1-hd 模型。

語音選項

TTS 端點提供 13 種內建語音,讓你控制文字轉換成語音時的呈現方式。 你可以在 OpenAI.fm 聆聽並試用這些語音;這是我們的互動示範,可讓你體驗 OpenAI API 最新的文字轉語音模型。目前這些語音主要針對英語進行最佳化。

  • alloy
  • ash
  • ballad
  • coral
  • echo
  • fable
  • nova
  • onyx
  • sage
  • shimmer
  • verse
  • marin
  • cedar

為獲得最佳品質,我們建議使用 marincedar

可用的語音因模型而異。tts-1tts-1-hd 模型支援的語音較少,包括:alloyashcoralechofableonyxnovasageshimmer

如果你使用 Realtime API,請注意其可用的語音略有不同。如需目前可用的即時語音,請參閱即時對話指南

即時音訊串流

Speech API 透過分塊傳輸編碼支援即時音訊串流。這表示不必等到完整檔案生成並可供存取,就能開始播放音訊。

將輸入文字轉換成語音,並直接串流至喇叭播放
import asyncio

from openai import AsyncOpenAI
from openai.helpers import LocalAudioPlayer

openai = AsyncOpenAI()


async def main() -> None:
    async with openai.audio.speech.with_streaming_response.create(
        model="gpt-4o-mini-tts",
        voice="coral",
        input="Today is a wonderful day to build something people love!",
        instructions="Speak in a cheerful and positive tone.",
        response_format="pcm",
    ) as response:
        await LocalAudioPlayer().play(response)


if __name__ == "__main__":
    asyncio.run(main())

為獲得最快的回應速度,我們建議使用 wavpcm 作為回應格式。

支援的輸出格式

預設回應格式為 mp3,也可使用 opuswav 等其他格式。

  • MP3:適用於一般使用案例的預設回應格式。
  • Opus:適用於網際網路串流與通訊,延遲低。
  • AAC:用於數位音訊壓縮,是 YouTube、Android 和 iOS 偏好的格式。
  • FLAC:用於無損音訊壓縮,音響愛好者常用此格式典藏音訊。
  • WAV:未壓縮的 WAV 音訊,適用於低延遲應用程式,可避免解碼的額外負擔。
  • PCM:與 WAV 類似,但僅包含 24kHz 的原始取樣資料(16 位元帶正負號、小端序),不含標頭。

支援的語言

TTS 模型支援的語言大致與 Whisper 模型相同。Whisper 支援下列語言;雖然語音主要針對英語進行最佳化,但在這些語言上的表現仍然良好:

南非荷蘭語、阿拉伯語、亞美尼亞語、亞塞拜然語、白俄羅斯語、波士尼亞語、保加利亞語、加泰隆尼亞語、中文、克羅埃西亞語、捷克語、丹麥語、荷蘭語、英語、愛沙尼亞語、芬蘭語、法語、加利西亞語、德語、希臘語、希伯來語、印地語、匈牙利語、冰島語、印尼語、義大利語、日語、坎 Kannada 語、哈薩克語、韓語、拉脫維亞語、立陶宛語、馬其頓語、馬來語、馬拉地語、毛利語、尼泊爾語、挪威語、波斯語、波蘭語、葡萄牙語、羅馬尼亞語、俄語、塞爾維亞語、斯洛伐克語、斯洛維尼亞語、西班牙語、斯瓦希里語、瑞典語、他加祿語、坦米爾語、泰語、土耳其語、烏克蘭語、烏爾都語、越南語和威爾斯語。

只要以所選語言提供輸入文字,就能產生該語言的語音。

自訂語音

使用說話者的同意錄音和相符的 音訊樣本,建立經核准的自訂語音。如需瞭解使用資格、 錄音要求、同意聲明及 API 請求,請參閱自訂語音

建立語音

請依照建立自訂語音的步驟操作。

在語音生成時使用聲音

生成語音時,請傳入已建立的語音 ID。請參閱 語音生成範例

即時互動與音訊概覽

為語音智慧體、翻譯、轉錄及語音生成選擇合適的實作方式。

音訊與語音概念

了解音訊模態、語音任務、串流,以及以請求為基礎的 API。