本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 tps 神經語音:10 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 個並行請求的 80 tps。
緩解限流的最佳實務
-
重試具有退避和抖動的調節,以便您可以在短時間內分散負載,並在不影響可用性的情況下處理非預期的用量峰值。 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 秒才能播放。在此案例中,您可能會預期客戶使用應用程式SynthesizeSpeech每 10 秒呼叫一次 。對於同時使用該應用程式的每 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 文件產生語音。