本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon Polly 配額
Amazon Polly 會拒絕過多的請求,將配額套用至客戶流量。具有標準語音的SynthesizeSpeech
請求的默認配額是單個區域中每秒 80 個交易(tps)。 AWS 帳戶如果限制沒有增加,而且您使用標準語音每秒產生 100 SynthesizeSpeech
個請求,則每秒 80 個請求將成功,Amazon Polly 會限制每秒 20 個請求。這些請求將返回具有 HTTP 狀態 400 的響應,並指示響應頭ThrottlingException
。Amazon Polly 也會根據請求率將流量限制到所有作業。
語音合成限制範例
-
一次合成一個字母的英文字母的前 24 個字母。如果每個字母的合成花費的時間少於 50 毫秒,操作限制為 8 tps,則合成 24 個字母至少需要三秒鐘。在此期間,您每秒最多可以合成八個字母。任何進一步的請求將被限制。由於請求持續很短的時間,它們將被串行合成而不重疊。
-
合成 16 段文本。如果在兩秒鐘或更短的時間內合成了每個段落並完全接收到客戶端,而且操作限制為八個並發請求,則合成所有 16 篇文章至少需要四秒鐘。在第一秒,您最多可以啟動八個請求。在並發請求期間,由於並發限制,任何嘗試啟動新合成的嘗試都將被限制。在第一批請求完成後,您可以在前兩秒後合成剩餘的八個段落。
使用 Amazon Polly 時,請記住以下限制。
支援的 區域
如需提供 Amazon Polly 服務的 AWS 區域清單,請參閱中的 Amazon Polly 端點和配額。Amazon Web Services 一般參考
配額和節流率
下表定義每個 Amazon Polly 作業的節流速率。您可以在需要時使用 AWS Management Console 來要求增加可調配額的配額。
作業 |
限制 |
---|---|
語彙 |
|
|
結合以上操作的任何每秒 2 次交易 (tps)。 允許爆增上限 4 tps。 |
語音 |
|
|
80 tps,爆增限制 100 tps |
|
生成語音:8 TPS 長篇聲音:8 tps,爆發極限為 10 tps 神經語音:8 tps,爆增限制 10 tps 標準語音:80 tps,爆增限制 100 tps |
|
生成語音:1 TPS 長篇聲音:1 茶秒 神經語音:1 tps 標準語音:10 tps,爆增限制 12 tps |
|
允許的爆增合併上限為 10 tps |
並行請求
對於生成語音,Amazon Polly 最多可支援 26 個並行請求。對於長格式語音,Amazon Polly 最多可支援 26 個並行請求。對於神經語音,Amazon Polly 支援 8 tps 的突發限制為 10 tps,最多可同時處理 18 個並行請求。Amazon Polly 也支援並行請求的限制。對於標準語音,Amazon Polly 支援 80 個 tps,可處理多達 80 個並行請求。
減輕節流的最佳做法
-
重試具有退避和抖動的節流,因此您可以在短時間內分散負載,並在不影響可用性的情況下處理意外的使用峰值。 AWS 程式碼範例目錄 已經配置為默認情況下在許多編程語言中執行此操作。請造訪功能重試行為以查看詳細資料。
-
使用 Amazon Polly 指標。Amazon Polly 會自動發佈 CloudWatch 以分析您目前的用量並預測使用量成長。
注意
在申請增加配額之前(如適用),請按照此頁面上的準則計算您的 TPS 需求。Amazon Polly 只會根據客戶需求保護所需的運算資源,以降低成本。
发音词典
-
您可以為每個帳戶儲存最多 100 個語彙。
-
語彙名稱可以是英數字元字串,最長 20 個字元。
-
每個詞典最多可以有 40,000 個字元。(請注意,詞彙圖示的大小會影響 SynthesizeSpeech 作業的延遲。)
-
您可以為語彙中的每個 <phoneme> 或 <alias> 替換指定多達 100 個字元。
如需使用語彙的資訊,請參閱管理詞庫。
SynthesizeSpeech API 作業
估計的使用情況時SynthesizeSpeech
,請記住 Amazon Polly 產生的音訊,特別是對於互動式應用程式,通常至少需要幾秒鐘的時間才能播放。這會降低要求的速率SynthesizeSpeech
,即使對於大量並行消費者也是如此。此外,Amazon Polly 會依據合成的並行SynthesizeSpeech
請求數量來節流請求。並行請求沒有單獨的設定。並發請求限制始終與允許的 tps 數量具有相同的值,並隨之擴展。
短篇小說示例應用程序。您可以使用 Amazon Polly 建置可播放一系列短篇小說的應用程式。使用這種應用程序,第一個故事將開始播放,然後下一個故事,依此類推,直到用戶退出應用程序。每個故事大約需要 0.5 秒才能合成,播放 10 秒。在這個案例中,您可以預期客戶花費使用應用程式的每 10 秒一次呼叫。SynthesizeSpeech
對於同時使用該應用程序的每 10 個客戶,這將轉換為每秒一次呼叫。如果您有 1000 個客戶同時使用該應用程序,則可以預期平均呼叫率僅為SynthesizeSpeech
每秒 100 筆交易。
請注意,下列是和使用 SynthesizeSpeech
API 作業相關的限制:
-
輸入文字的大小最多可達 3000 個收費字元 (總計 6000 個字元)。SSML 標籤不計為收費字元。
-
您可以指定最多五個語彙以套用到輸入文字。
-
輸出音訊串流 (合成) 限制為 10 分鐘。到達此限制時間之後,任何剩餘的語音都會被截斷。
如需詳細資訊,請參閱 SynthesizeSpeech。
注意
SynthesizeSpeech
API 作業的某些限制,可以利用 StartSythensizeSpeechTask
API 作業來略過。如需詳細資訊,請參閱 長音訊檔案。
SpeechSynthesisTask API 作業
請注意,下列是和使用 StartSpeechSynthesisTask
、GetSpeechSynthesisTask
及 ListSpeechSynthesisTasks
API 作業相關的限制:
-
輸入文字的大小最多可達 100,000 個收費字元 (總計 200,000 個字元)。SSML 標籤不計為收費字元。
-
您可以指定最多五個語彙以套用到輸入文字。
語音合成標記語言 (SSML)
請注意,以下限制有關使用 SSML:
-
不支援
<audio>
、<lexicon>
、<lookup>
和<voice>
標記。 -
<break>
元素可以每一個指定最大持續時間 10 秒。 -
<prosody>
標記不支援速率屬性低於 -80% 的值。
如需更多詳細資訊,請參閱 從SSML文件產生語音。