本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 神經語音: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 個並行請求的 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 文件產生語音。