

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 比較 SynthesizeSpeech 和 StartSpeechSynthesisStream
<a name="bidirectional-streaming-choosing"></a>

**[SynthesizeSpeech](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html)** 是一種請求回應操作。您可以在單一請求中提供完整文字，並在單一回應中接收完整合成的音訊。它支援所有引擎 （標準、神經、長形、生成式）、包括語音標記在內的所有輸出格式，每個請求的文字限制為 6，000 個字元 （其中不超過 3，000 個字元）。回應會在第一個位元組可用時立即串流音訊。當您有所有可用的文字時，請使用此操作。

**[StartSpeechSynthesisStream](https://docs.aws.amazon.com/polly/latest/dg/API_StartSpeechSynthesisStream.html)** 是一種雙向串流操作。它會開啟 HTTP/2 連線，您在其中遞增傳送文字，並在合成時接收音訊。由於文字會持續串流，因此沒有每個請求的文字限制。它需要生成式引擎，且不支援語音標記。當文字增量到達，且您希望音訊輸出在所有輸入可用之前開始，請使用此操作。常見案例包括：
+ **對話式 AI 和語音助理**。大型語言模型會以小區塊 （權杖） 產生回應文字。將每個文字區塊轉送到 Amazon Polly，讓使用者在模型仍在產生時聽到語音。
+ **即時轉譯**。轉譯系統會依區段產生翻譯的文字區段。串流每個區段以進行合成，無需等待完整轉譯完成。
+ **超過 SynthesizeSpeech 限制的長格式內容**。超過 6，000 個字元的文字可以持續串流，而無需分割為多個請求或管理區塊邊界。


**SynthesizeSpeech 和 StartSpeechSynthesisStream 的比較**  

| 面向 | SynthesizeSpeech | StartSpeechSynthesisStream | 
| --- | --- | --- | 
| 通訊協定 | 請求-回應 | 雙向事件串流 (HTTP/2) | 
| 文字交付 | 請求內文中的全文 | 透過 TextEvent 訊息串流輸入文字 | 
| 音訊交付 | 透過 HTTP 回應內文串流音訊回應 | 透過 AudioEvent 訊息串流音訊回應 | 
| 引擎支援 | 標準、神經、長形、生成式 | 僅限生成式 | 
| SSML 支援 | 是 （所有引擎；[支援的標籤因引擎而異](https://docs.aws.amazon.com/polly/latest/dg/supportedtags.html)) | 是 ([僅限生成引擎標籤](https://docs.aws.amazon.com/polly/latest/dg/supportedtags.html)) | 
| 語彙 | 是 | 是 | 
| 語音標記 | 是 | 否 | 
| 文字限制 | 每個請求總計 6，000 個字元 (3，000 個計費） | 每個 TextEvent 總計 6，000 個字元 (3，000 個計費） | 
| AWS CLI 支援 | 是 | 否 （雙向串流需要 SDK) | 