StartSpeechSynthesisTask - Amazon Polly

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

StartSpeechSynthesisTask

允許建立非同步合成工作,方法是啟動新的SpeechSynthesisTask. 此操作需要語音合成所需的所有標準資訊,以及用於存放合成任務輸出的服務的 Amazon S3 儲存貯體名稱以及兩個可選參數 (OutputS3KeyPrefixSnsTopicArn)。一旦創建了合成任務,此操作將返回一個SpeechSynthesisTask對象,其中將包括此任務的標識符以及當前狀態。啟動非同步合成工作後,SpeechSynthesisTask物件可使用 72 小時。

請求語法

POST /v1/synthesisTasks HTTP/1.1 Content-type: application/json { "Engine": "string", "LanguageCode": "string", "LexiconNames": [ "string" ], "OutputFormat": "string", "OutputS3BucketName": "string", "OutputS3KeyPrefix": "string", "SampleRate": "string", "SnsTopicArn": "string", "SpeechMarkTypes": [ "string" ], "Text": "string", "TextType": "string", "VoiceId": "string" }

URI 請求參數

請求不會使用任何 URI 參數。

請求主體

請求接受採用 JSON 格式的下列資料。

Engine

指定 Amazon Polly 在處理語音合成的輸入文字時使用的引擎 (standardneurallong-formgenerative)。使用所選引擎不支援的語音將導致錯誤。

類型:字串

有效值:standard | neural | long-form | generative

必要:否

LanguageCode

語音合成要求的選用語言代碼。只有在使用可用於印度英語(en-in)或印地語(Hiin)的雙語語音(例如 Aditi)時,才需要此操作。

如果使用雙語語音且未指定語言代碼,Amazon Polly 會使用雙語語音的預設語言。任何語音的預設語言都是LanguageCode參數DescribeVoices作業所傳回的語言。例如,如果沒有指定語言代碼,Adii 將使用印度英語而不是印地語。

類型:字串

有效值:arb | cmn-CN | cy-GB | da-DK | de-DE | en-AU | en-GB | en-GB-WLS | en-IN | en-US | es-ES | es-MX | es-US | fr-CA | fr-FR | is-IS | it-IT | ja-JP | hi-IN | ko-KR | nb-NO | nl-NL | pl-PL | pt-BR | pt-PT | ro-RO | ru-RU | sv-SE | tr-TR | en-NZ | en-ZA | ca-ES | de-AT | yue-CN | ar-AE | fi-FI | en-IE | nl-BE | fr-BE

必要:否

LexiconNames

您希望服務在合成過程中應用的一個或多個發音詞典名稱列表。只有當詞典的語言與語音的語言相同時,才會套用詞彙。

類型:字串陣列

陣列成員:最多 5 個項目。

模式:[0-9A-Za-z]{1,20}

必要:否

OutputFormat

在其中返回的輸出將被編碼的格式。對於音頻流,這將是 mp3,ogg_Vorbis 或 PCM。對於語音標記,這將是 json。

類型:字串

有效值:json | mp3 | ogg_vorbis | pcm

必要:是

OutputS3BucketName

將要儲存輸出檔案的 Amazon S3 儲存貯體名稱。

類型:String

模式:^[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]$

必要:是

OutputS3KeyPrefix

輸出語音檔案的 Amazon S3 key prefix。

類型:String

模式:^[0-9a-zA-Z\/\!\-_\.\*\'\(\):;\$@=+\,\?&]{0,800}$

必要:否

SampleRate

以 Hz 為單位指定的音訊頻率。

MP3 和沃比斯的有效值是「800」,「160」,「22050」和「24000」。標準語音的預設值是「22050」。神經聲音的預設值是「24000」。長格式語音的預設值為「24000」。生成語音的預設值是「24000」。

PCM 的有效值為「800」和「16000」。預設值為「16000」。

類型:字串

必要:否

SnsTopicArn

SNS 主題的 ARN (選擇性地用於提供語音合成工作的狀態通知)。

類型:String

模式:^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:[a-z0-9_-]{1,50}:\d{12}:[a-zA-Z0-9_-]{1,251}([a-zA-Z0-9_-]{0,5}|\.fifo)$

必要:否

SpeechMarkTypes

針對輸入文字傳回的語音標記類型。

類型:字串陣列

陣列成員:4 個項目的最大數目。

有效值:sentence | ssml | viseme | word

必要:否

Text

要合成的輸入文字。如果您將 ssml 指定為 TextType,請遵循輸入文字的 SSML 格式。

類型:字串

必要:是

TextType

指定輸入文字是純文字還是 SSML。預設值為純文字。

類型:字串

有效值:ssml | text

必要:否

VoiceId

用於合成的語音 ID。

類型:字串

有效值:Aditi | Amy | Astrid | Bianca | Brian | Camila | Carla | Carmen | Celine | Chantal | Conchita | Cristiano | Dora | Emma | Enrique | Ewa | Filiz | Gabrielle | Geraint | Giorgio | Gwyneth | Hans | Ines | Ivy | Jacek | Jan | Joanna | Joey | Justin | Karl | Kendra | Kevin | Kimberly | Lea | Liv | Lotte | Lucia | Lupe | Mads | Maja | Marlene | Mathieu | Matthew | Maxim | Mia | Miguel | Mizuki | Naja | Nicole | Olivia | Penelope | Raveena | Ricardo | Ruben | Russell | Salli | Seoyeon | Takumi | Tatyana | Vicki | Vitoria | Zeina | Zhiyu | Aria | Ayanda | Arlet | Hannah | Arthur | Daniel | Liam | Pedro | Kajal | Hiujin | Laura | Elin | Ida | Suvi | Ola | Hala | Andres | Sergio | Remi | Adriano | Thiago | Ruth | Stephen | Kazuha | Tomoko | Niamh | Sofie | Lisa | Isabelle | Zayd | Danielle | Gregory | Burcu

必要:是

回應語法

HTTP/1.1 200 Content-type: application/json { "SynthesisTask": { "CreationTime": number, "Engine": "string", "LanguageCode": "string", "LexiconNames": [ "string" ], "OutputFormat": "string", "OutputUri": "string", "RequestCharacters": number, "SampleRate": "string", "SnsTopicArn": "string", "SpeechMarkTypes": [ "string" ], "TaskId": "string", "TaskStatus": "string", "TaskStatusReason": "string", "TextType": "string", "VoiceId": "string" } }

回應元素

如果動作成功,則服務傳回 HTTP 200 回應。

服務會傳回下列 JSON 格式的資料。

SynthesisTask

SynthesisTask 物件,提供有關新提交之語音合成工作的資訊和屬性。

類型:SynthesisTask 物件

錯誤

EngineNotSupportedException

此引擎與您指定的聲音不相容。選擇與發動機兼容的新聲音或更換引擎並重新啟動操作。

HTTP 狀態碼:400

InvalidS3BucketException

提供的 Amazon S3 存儲桶名稱無效。請檢查您的輸入與 S3 儲存貯體命名要求,然後再試一次。

HTTP 狀態碼:400

InvalidS3KeyException

提供的 Amazon S3 key prefix 無效。請提供有效的 S3 物件金鑰名稱。

HTTP 狀態碼:400

InvalidSampleRateException

指定的取樣率無效。

HTTP 狀態碼:400

InvalidSnsTopicArnException

提供的 SNS 主題 ARN 無效。請提供有效的 SNS 主題 ARN,然後再試一次。

HTTP 狀態碼:400

InvalidSsmlException

您提供的 SSML 無效。請確認 SSML 語法、標籤和值的拼字,然後再試一次。

HTTP 狀態碼:400

LanguageNotSupportedException

Amazon Polly 目前不支援此容量中指定的語言。

HTTP 狀態碼:400

LexiconNotFoundException

Amazon Polly 找不到指定的詞庫。這可能是由於遺失的詞庫、其名稱拼錯或指定位於不同地區的詞庫所造成。

請確認詞典存在,位於區域中 (請參閱ListLexicons),而且拼寫其名稱的拼字是否正確。然後再試一次。

HTTP 狀態碼:404

MarksNotSupportedForFormatException

OutputFormat所選項目不支援語音標記。語音標記僅適用於json格式內容。

HTTP 狀態碼:400

ServiceFailureException

未知的情況造成服務失敗。

HTTP 狀態碼:500

SsmlMarksNotSupportedForTextTypeException

純文字類型輸入不支援 SSML 語音標記。

HTTP 狀態碼:400

TextLengthExceededException

「Text」參數的值長於接受的限制。對於 SynthesizeSpeech API,輸入文本的限制最多為 6000 個字符,其中不能超過 3000 個字符計費。對於 StartSpeechSynthesisTask API,最多為 200,000 個字符,其中不能超過 100,000 個字符計費。SSML 標籤不計為收費字元。

HTTP 狀態碼:400

另請參閱

如需在其中一個特定語言 AWS SDK 中使用此 API 的詳細資訊,請參閱下列內容: