[日本語訳] AWS Amazon Polly 開発者ガイド APIリファレンス _其の１: Action

これは・・・
`AWS > ドキュメント > Amazon Polly > 開発者ガイド`
の`APIリファレンス`より下層(Action,DataTypes)が日本語になってなくて読みにくいのでgoogle翻訳にコピペして日本語化したものをテキストエディタにコピペする代わりにココに書いたものです。
![aws_polly_API_Reference_1.jpg](https://blog-imgs-137.fc2.com/g/t/r/gtrinthesky/aws_polly_API_Reference_1.jpg "APIリファレンス部分ハイライト")
※場合によっては英単語のままにしてるヶ所もあります
※各章の最後にある"See Also" は省略
※「パターン」は(正規表現による)使える文字列
※「〜を参照してください」みたいなヶ所のリンクは無し
※文章の整形としてインデント(字下げ)代わりにMarkdownの"引用"を使用
※<font color=green>この色の文章は補足メモなどの追加</font>で、元記事や翻訳後にあるものではないです
![aws_polly_API_ref.jpg](https://blog-imgs-137.fc2.com/g/t/r/gtrinthesky/aws_polly_ref.jpg "比較")
- - -
関連項目メニュー代わり

- APIリファレンス > Action 以下 ←※いまココ
- [APIリファレンス > DataTypes  以下](https://qiita.com/Reng/items/d92d6d4e3864951b463b)

# APIリファレンス - Actions
次のアクションがサポートされています：
<font color=green>ここではメニュー代わりにページ内リンクです</font>
- [DeleteLexicon](https://qiita.com/Reng/items/73ed6a2878ee562e283d#deletelexicon)
- [DescribeVoices](https://qiita.com/Reng/items/73ed6a2878ee562e283d#describevoices)
- [GetLexicon](https://qiita.com/drafts/73ed6a2878ee562e283d#getlexicon)
- [GetSpeechSynthesisTask](https://qiita.com/Reng/items/73ed6a2878ee562e283d#getspeechsynthesistask)
- [ListLexicons](https://qiita.com/Reng/items/73ed6a2878ee562e283d#listlexicons)
- [ListSpeechSynthesisTasks](https://qiita.com/Reng/items/73ed6a2878ee562e283d#listspeechsynthesistasks)
- [PutLexicon](https://qiita.com/Reng/items/73ed6a2878ee562e283d#putlexicon)
- [StartSpeechSynthesisTask](https://qiita.com/Reng/items/73ed6a2878ee562e283d#startspeechsynthesistask)
- [SynthesizeSpeech](https://qiita.com/Reng/items/73ed6a2878ee562e283d#synthesizespeech)
> https://docs.aws.amazon.com/ja_jp/polly/latest/dg/API_Operations.html

- - -
## DeleteLexicon
> https://docs.aws.amazon.com/ja_jp/polly/latest/dg/API_DeleteLexicon.html

AWSリージョンに保存されている指定された発音レキシコンを削除します。 削除されたレキシコンは音声合成に使用できません。また、GetLexiconまたはListLexiconAPIを使用してレキシコンを取得することもできません。

詳細については、レキシコンの管理を参照してください。
- - -
### Request構文
```
DELETE /v1/lexicons/LexiconName HTTP/1.1
```
- - -
### URIリクエストパラメータ
リクエストは次のURIパラメータを使用します。

__LexiconName__
　　削除するレキシコンの名前。 リージョン内の既存のレキシコンである必要があります。
　　
　　パターン：[0-9A-Za-z] {1,20}
　　
　　必須かどうか：必須
- - -
### Request本文
リクエストにはリクエスト本文がありません。
- - -
### Response構文
`HTTP/1.1 200=`
- - -
### Response要素
アクションが成功すると、サービスは空のHTTPボディを含むHTTP200応答を送り返します。
- - -
### エラー
__LexiconNotFoundException__
AmazonPollyは指定されたレキシコンを見つけることができません。これは、レキシコンが欠落しているか、名前のスペルが間違っているか、別のリージョンにあるレキシコンを指定していることが原因である可能性があります。

レキシコンが存在し、リージョン内にあり（ListLexiconsを参照）、名前のスペルが正しいことを確認します。その後、再試行してください。

HTTPステータスコード：404

__ServiceFailureException__
不明な状態が原因でサービス障害が発生しました。

HTTPステータスコード：500
- - -
- - -
## DescribeVoices
> https://docs.aws.amazon.com/ja_jp/polly/latest/dg/API_DescribeVoices.html

音声合成を要求するときに使用できる音声のリストを返します。 各音声は指定された言語を話し、男性または女性のいずれかであり、音声名のASCIIバージョンであるIDによって識別されます。

音声を合成する場合（`SynthesizeSpeech`）、`DescribeVoices`によって返される音声のリストから必要な音声の音声IDを指定します。

たとえば、ニュースリーダーアプリケーションで特定の言語のニュースを読みたいが、ユーザーに音声を選択するオプションを提供したいとします。 `DescribeVoices`操作を使用すると、選択可能な音声のリストをユーザーに提供できます。

オプションで言語コードを指定して、使用可能な音声をフィルタリングできます。 たとえば、`en-US`を指定すると、操作は使用可能なすべての米国英語の音声のリストを返します。

この操作には、`polly：DescribeVoices`アクションを実行するためのアクセス許可が必要です。
- - -
### Request構文

```
GET /v1/voices?Engine=Engine&IncludeAdditionalLanguageCodes=IncludeAdditionalLanguageCodes&LanguageCode=LanguageCode&NextToken=NextToken HTTP/1.1
```
- - -
### URIリクエストパラメータ
リクエストは次のURIパラメータを使用します。

__Engine__
> 音声合成用の入力テキストを処理するときにAmazonPollyが使用するエンジン（標準またはニューラル）を指定します。
有効な値：`standard | neural`


__IncludeAdditionalLanguageCodes__
> 指定された言語を追加言語として使用するバイリンガル音声を返すかどうかを示すブール値。たとえば、米国英語（es-US）を使用するすべての言語を要求し、イタリア語（it-IT）と米国英語の両方を話すイタリア語の音声がある場合、`yes`を指定するとその音声が含まれますが、`no`を指定します。


__LanguageCode__
> 返された音声のリストをフィルタリングするための言語識別タグ（言語名のISO639コード-ISO3166国コード）。このオプションのパラメーターを指定しない場合、使用可能なすべてのボイスが返されます。
>
> 有効な値：`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`


__NextToken__
> 前の`DescribeVoices`操作から返された不透明なページネーショントークン。存在する場合、これはリストを続行する場所を示します。
>
> 長さの制約：最小長は0。最大長は4096。

- - -
### Request本文
リクエストにはリクエスト本文がありません。

- - -
### Response構文
```json
HTTP/1.1 200
Content-type: application/json

{
   "NextToken": "string",
   "Voices": [ 
      { 
         "AdditionalLanguageCodes": [ "string" ],
         "Gender": "string",
         "Id": "string",
         "LanguageCode": "string",
         "LanguageName": "string",
         "Name": "string",
         "SupportedEngines": [ "string" ]
      }
   ]
}
```
<font color=green>Σ( ꒪﹃ ꒪)ハイライトが思ったようにいかん…、"string" が以下で出る「type:文字列」の文字列ってことで、比較的任意の値のことです</font>
- - -
### Response要素
アクションが成功すると、サービスはHTTP200応答を送り返します。

次のデータは、サービスによってJSON形式で返されます。

__NextToken__
> 音声のリストを続行するために次のリクエストで使用するページネーショントークン。 NextTokenは、応答が切り捨てられた場合にのみ返されます。
>
> type：文字列
> 
> 長さの制約：最小長は0。最大長は4096。

__Voices__
> ボイスとそのプロパティのリスト。
>
> type：音声オブジェクトの配列

- - -
### エラー
__InvalidNextTokenException__
　　NextTokenが無効です。 スペルが正しいことを確認してから、再試行してください。
　　
　　HTTPステータスコード：400

__ServiceFailureException__
　　不明な状態が原因でサービス障害が発生しました。
　　
　　HTTPステータスコード：500
- - -
- - -
## GetLexicon
> https://docs.aws.amazon.com/ja_jp/polly/latest/dg/API_GetLexicon.html

AWSリージョンに保存されている指定された発音レキシコンのコンテンツを返します。 詳細については、レキシコンの管理を参照してください。
- - -
### Request構文
```
GET /v1/lexicons/LexiconName HTTP/1.1
```

### URIリクエストパラメータ
リクエストは次のURIパラメータを使用します。
- - -
__LexiconName__
　　レキシコンの名前。
　　
　　パターン：`[0-9A-Za-z]{1,20}`
　　
　　必須かどうか： 必須
- - -
### Request本文
リクエストにはリクエスト本文がありません。
- - -
### Response 構文
```json
HTTP/1.1 200
Content-type: application/json

{
   "Lexicon": { 
      "Content": "string",
      "Name": "string"
   },
   "LexiconAttributes": { 
      "Alphabet": "string",
      "LanguageCode": "string",
      "LastModified": number,
      "LexemesCount": number,
      "LexiconArn": "string",
      "Size": number
   }
}
```
<font color=green>Σ( ꒪﹃ ꒪)ハイライトが思ったようにいかん…、"string" が以下で出る「type:文字列」の文字列ってことで、比較的任意の値のことです</font>
- - -
### Response要素
アクションが成功すると、サービスはHTTP200応答を送り返します。

次のデータは、サービスによってJSON形式で返されます。

__Lexicon__
> レキシコンの名前と文字列の内容を提供するレキシコンオブジェクト。
> 
> type：レキシコンオブジェクト

__LexiconAttributes__
> 使用されている音声アルファベット、言語コード、レキシコンARN、レキシコンで定義されている語彙素の数、バイト単位のレキシコンのサイズなど、レキシコンのメタデータ。
> 
> Type：LexiconAttributesオブジェクト

- - -
### エラー
__LexiconNotFoundException__
> AmazonPollyは指定されたレキシコンを見つけることができません。 これは、レキシコンが欠落しているか、名前のスペルが間違っているか、別のリージョンにあるレキシコンを指定していることが原因である可能性があります。
> 
> レキシコンが存在し、リージョン内にあり（ListLexiconsを参照）、名前のスペルが正しいことを確認します。 その後、再試行してください。
>
> HTTPステータスコード：404

__ServiceFailureException__
> 不明な状態が原因でサービス障害が発生しました。
>
> HTTPステータスコード：500

- - -
- - -
## GetSpeechSynthesisTask
> https://docs.aws.amazon.com/ja_jp/polly/latest/dg/API_GetSpeechSynthesisTask.html

TaskIDに基づいて特定のSpeechSynthesisTaskオブジェクトを取得します。 このオブジェクトには、タスクのステータスなど、特定の音声合成タスクに関する情報と、タスクの出力を含むS3バケットへのリンクが含まれています。
- - -
### Request構文
```
GET /v1/synthesisTasks/TaskId HTTP/1.1
```
- - -
### URIリクエストパラメータ
リクエストは次のURIパラメータを使用します。

__TaskId__
　　Amazon Pollyは、音声合成タスクの識別子を生成しました。

　　パターン：`^[a-zA-Z0-9_-]{1,100}$`

　　必須かどうか：必須
- - -
### Request本文
リクエストにはリクエスト本文がありません。
- - -
### Response構文
```json
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"
   }
}
```
<font color=green>Σ( ꒪﹃ ꒪)ハイライトが思ったようにいかん…、"string" が以下で出る「type:文字列」の文字列ってことで、比較的任意の値のことです</font>
- - -
### Response要素
アクションが成功すると、サービスはHTTP200応答を送り返します。

次のデータは、サービスによってJSON形式で返されます。

__SynthesisTask__
> 出力形式、作成時間、タスクステータスなど、要求されたタスクからの情報を提供するSynthesisTaskオブジェクト。

> Type：SynthesisTaskオブジェクト

- - -
### エラー
__InvalidTaskIdException__
　　指定されたタスクIDは無効です。 有効なタスクIDを入力して、再試行してください。
　　
　　HTTPステータスコード：400

__ServiceFailureException__
　　不明な状態が原因でサービス障害が発生しました。
　　
　　HTTPステータスコード：500

__SynthesisTaskNotFoundException__
　　要求されたタスクIDを持つ音声合成タスクが見つかりません。
　　
　　HTTPステータスコード：400
- - -
- - -
## ListLexicons
> https://docs.aws.amazon.com/ja_jp/polly/latest/dg/API_ListLexicons.html

AWSリージョンに保存されている発音レキシコンのリストを返します。 詳細については、レキシコンの管理を参照してください。
- - -
###  Request構文
```
GET /v1/lexicons?NextToken=NextToken HTTP/1.1
```
- - -
### URIリクエストパラメータ
リクエストは次のURIパラメータを使用します。

__NextToken__
> 以前の`ListLexicons`操作から返された不透明なページネーショントークン。 存在する場合は、レキシコンのリストを続行する場所を示します。
> 
> 長さの制約：最小長は0。最大長は4096。

- - -
### Request本文
リクエストにはリクエスト本文がありません。
- - -
### Response構文
```json
HTTP/1.1 200
Content-type: application/json

{
   "Lexicons": [ 
      { 
         "Attributes": { 
            "Alphabet": "string",
            "LanguageCode": "string",
            "LastModified": number,
            "LexemesCount": number,
            "LexiconArn": "string",
            "Size": number
         },
         "Name": "string"
      }
   ],
   "NextToken": "string"
}
```
<font color=green>Σ( ꒪﹃ ꒪)ハイライトが思ったようにいかん…、"string" が以下で出る「type:文字列」の文字列ってことで、比較的任意の値のことです</font>
- - -
### Response要素
アクションが成功すると、サービスはHTTP200応答を送り返します。

次のデータは、サービスによってJSON形式で返されます。

__Lexicons__
> レキシコンの名前と属性のリスト。
>　
> type：LexiconDescriptionオブジェクトの配列

__NextToken__
> レキシコンのリストを続行するために次のリクエストで使用するページネーショントークン。 NextTokenは、応答が切り捨てられた場合にのみ返されます。
> 
> type：文字列
>
> 長さの制約：最小長は0。最大長は4096。

- - -
### エラー
__InvalidNextTokenException__
　　NextTokenが無効です。 スペルが正しいことを確認してから、再試行してください。
　　
　　HTTPステータスコード：400

__ServiceFailureException__
　　不明な状態が原因でサービス障害が発生しました。
　　
　　HTTPステータスコード：500
- - -
- - -
## ListSpeechSynthesisTasks
> https://docs.aws.amazon.com/ja_jp/polly/latest/dg/API_ListSpeechSynthesisTasks.html

作成日順に並べられたSpeechSynthesisTaskオブジェクトのリストを返します。 この操作では、タスクをステータスでフィルタリングできます。たとえば、ユーザーは完了したタスクのみを一覧表示できます。
- - -
### Request構文
```
GET /v1/synthesisTasks?MaxResults=MaxResults&NextToken=NextToken&Status=Status HTTP/1.1
```

### URI リクエストパラメータ
リクエストは次のURIパラメータを使用します。

__MaxResults__
> リスト操作で返される音声合成タスクの最大数。
>
> 有効範囲：最小値1。最大値100。

__NextToken__
> 音声合成タスクのリストを続行するために、次のリクエストで使用するページネーショントークン。
>
> 長さの制約：最小長は0。最大長は4096。

__Status__
> リスト操作で返された音声合成タスクのステータス
> 
> 有効な値: `scheduled | inProgress | completed | failed`

<font color=green>「有効な値」は左から スケジュール済み| 進行中 | 完了| 失敗</font>
- - -
### Request本文
リクエストにはリクエスト本文がありません。
- - -
### Response構文
```json
HTTP/1.1 200
Content-type: application/json

{
   "NextToken": "string",
   "SynthesisTasks": [ 
      { 
         "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"
      }
   ]
}
```
<font color=green>Σ( ꒪﹃ ꒪)ハイライトが思ったようにいかん…、"string" が以下で出る「type:文字列」の文字列ってことで、比較的任意の値のことです</font>
- - -
### Response要素
アクションが成功すると、サービスはHTTP200応答を送り返します。

次のデータは、サービスによってJSON形式で返されます。

__NextToken__
> このリクエストの前のリスト操作から返された不透明なページネーショントークン。 存在する場合、これはリストを続行する場所を示します。
> 
> type： 文字列
> 
> 長さの制約：最小長は0。最大長は4096。

__SynthesisTasks__
> 出力形式、作成時間、タスクステータスなど、リスト要求で指定されたタスクからの情報を提供するSynthesisTaskオブジェクトのリスト。
> 
> type: SynthesisTaskオブジェクトの配列

- - -
### エラー
__InvalidNextTokenException__
　　NextTokenが無効です。 スペルが正しいことを確認してから、再試行してください。
　　
　　HTTPステータスコード：400

__ServiceFailureException__
　　不明な状態が原因でサービス障害が発生しました。
　　
　　HTTPステータスコード：500
- - -
- - -
## PutLexicon
> https://docs.aws.amazon.com/ja_jp/polly/latest/dg/API_PutLexicon.html

AWSリージョンに発音レキシコンを保存します。 同じ名前のレキシコンがすでにリージョンに存在する場合は、新しいレキシコンによって上書きされます。 レキシコン操作には結果整合性があるため、レキシコンがSynthesizeSpeech操作で使用できるようになるまでに時間がかかる場合があります。

詳細については、レキシコンの管理を参照してください。
- - -
### Request構文
```json
PUT /v1/lexicons/LexiconName HTTP/1.1
Content-type: application/json

{
   "Content": "string"
}
```
- - -
### URIリクエストパラメータ
リクエストは次のURIパラメータを使用します。

__LexiconName__
> レキシコンの名前。 名前は、正規表現形式[0-9A-Za-z] {1,20}に従う必要があります。 つまり、名前は最大20文字の大文字と小文字を区別する英数字の文字列です。
> 
> パターン：`[0-9A-Za-z]{1,20}`
> 
> 必須かどうか：必須

- - -
### リクエスト本文
リクエストは、JSON形式で次のデータを受け入れます。

__Content__
　　文字列データとしてのPLSレキシコンのコンテンツ。
　　
　　type：文字列

　　必須かどうか：必須

- - -
### Response 構文
```
HTTP/1.1 200
```
- - -
### Response要素
アクションが成功すると、サービスは空のHTTPボディを含むHTTP200応答を送り返します。
- - -
### エラー
__InvalidLexiconException__
> AmazonPollyは指定されたレキシコンを見つけることができません。レキシコンの名前のスペルが正しいことを確認してから、再試行してください。
> 
> HTTPステータスコード：400

__LexiconSizeExceededException__
> この操作では、指定されたレキシコンの最大サイズを超えます。
> 
> HTTPステータスコード：400

__MaxLexemeLengthExceededException__
> この操作では、語彙素の最大サイズを超えます。
> 
> HTTPステータスコード：400

__MaxLexiconsNumberExceededException__
> この操作では、レキシコンの最大数を超えます。
> 
> HTTPステータスコード：400

__ServiceFailureException__
> 不明な状態が原因でサービス障害が発生しました。
> 
> HTTPステータスコード：500

__UnsupportedPlsAlphabetException__
> レキシコンで指定されたアルファベットは、サポートされているアルファベットではありません。有効な値はx-sampaとipaです。
> 
> HTTPステータスコード：400

__UnsupportedPlsLanguageException__
> レキシコンで指定されている言語はサポートされていません。サポートされている言語のリストについては、レキシコン属性を参照してください。
> 
> HTTPステータスコード：400

- - -
- - -
## StartSpeechSynthesisTask
> https://docs.aws.amazon.com/ja_jp/polly/latest/dg/API_StartSpeechSynthesisTask.html

新しい`SpeechSynthesisTask`を開始することにより、非同期合成タスクの作成を許可します。 この操作には、音声合成に必要なすべての標準情報に加えて、合成タスクの出力を保存するサービスのAmazon S3バケットの名前と2つのオプションのパラメーター（OutputS3KeyPrefixとSnsTopicArn）が必要です。 合成タスクが作成されると、この操作はSpeechSynthesisTaskオブジェクトを返します。このオブジェクトには、このタスクの識別子と現在のステータスが含まれます。

<font color=green>｢Amazon S3｣はAWSのストレージサービス</font>
- - -
### Request構文
```json
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"
}
```
<font color=green>Σ( ꒪﹃ ꒪)ハイライトが思ったようにいかん…、"string" が以下で出る「type:文字列」の文字列ってことで、比較的任意の値のことです</font>

<font color=green>必須の分(4つ)を含めていくつか指定した例(必須じゃないのはなくても構わない)</font>

```json:
{
   "Engine": "standard ",
   "OutputFormat": "mp3",
   "OutputS3BucketName": "kimigaomoideninaruameni",
   "SampleRate": "24000",
   "Text": "君が思い出になる前に", 
   "VoiceId": "Takumi"
}
```

<font color=green>※下記表は、全部じゃなくてとりあえずいくつか抜粋したもの</font>

| 項目名 | 説明 | 例 |
|:--|:--|:--|
|Engine  | 標準またはニューラルを指定  | standard / neural  |
|OutputFormat | 出力のサウンド形式(スピーチマークの場合json)|<font color=#eb6101>*必須</font><br>json / mp3 / ogg_vorbis / pcm|
|OutputS3BucketName   | 出力ファイルが保存されるAmazonS3バケット名  | <font color=#eb6101>*必須</font>  |
|SampleRate   |サンプリングレート   |(デフォルト値)<br>スタンダード：22,050Hz<br> ニューラル：24,000Hz  |
|TextType   |  入力テキストがプレーンテキストかSSMLかを指定 | ssml / text  |
|Text | 再生するテキスト<br>(TextTypeとしてssmlを指定する場合は、入力テキストのSSML形式)  | <font color=#eb6101>*必須</font>  |
|VoiceId | 使用する音声ID  | <font color=#eb6101>*必須</font>  |

- - -
### URIリクエストパラメータ
リクエストはURIパラメータを使用しません。
- - -
### Request本文
リクエストは、JSON形式で次のデータを受け入れます。

__Engine__
> 音声合成の入力テキストを処理するときに使用するAmazonPollyのエンジン（標準またはニューラル）を指定します。選択したエンジンでサポートされていない音声を使用すると、エラーが発生します。
> 
> type：文字列
> 
> 有効な値：`standard | neural`
> 
> 必須かどうか：必須ではない

__LanguageCode__
> 音声合成リクエストのオプションの言語コード。これは、インド英語（en-IN）またはヒンディー語（hi-IN）のいずれかに使用できるAditiなどのバイリンガル音声を使用する場合にのみ必要です。
> 
> バイリンガル音声が使用され、言語コードが指定されていない場合、AmazonPollyはバイリンガル音声のデフォルト言語を使用します。音声のデフォルト言語は、`LanguageCode`パラメーターのDescribeVoices操作によって返される言語です。たとえば、言語コードが指定されていない場合、Aditiはヒンディー語ではなくインド英語を使用します。
> 
> type：文字列
> 
> 有効な値：`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`
> 
> 必須かどうか：必須ではない

__LexiconNames__
> 合成中にサービスに適用する1つ以上の発音レキシコン名のリスト。レキシコンは、レキシコンの言語が音声の言語と同じである場合にのみ適用されます。
> 
> type：文字列の配列
> 
> 配列メンバー：最大5アイテム。
> 
> パターン：`[0-9A-Za-z]{1,20}`
> 
> 必須かどうか：必須ではない

__OutputFormat__
> 返される出力がエンコードされる形式。オーディオストリームの場合、これはmp3、ogg_vorbis、またはpcmになります。スピーチマークの場合、これはjsonになります。
> 
> type：文字列
> 
> 有効な値：`json | mp3 | ogg_vorbis | pcm`
> 
> 必須かどうか：必須

__OutputS3BucketName__
> 出力ファイルが保存されるAmazonS3バケット名。
> 
> type：文字列
> 
> パターン：`^[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]$`
> 
> 必須かどうか：必須

__OutputS3KeyPrefix__
> 出力音声ファイルのAmazonS3キープレフィックス。
> 
> type：文字列
> 
> パターン：`^[0-9a-zA-Z\/\!\-_\.\*\'\(\):;\$@=+\,\?&]{0,800}$`
> 
> 必須かどうか：必須ではない

__SampleRate__
> Hzで指定された可聴周波数。
> 
> mp3とogg_vorbisの有効な値は、「8000」、「16000」、「22050」、および「24000」です。標準音声のデフォルト値は「22050」です。ニューラルボイスのデフォルト値は「24000」です。
> 
> pcmの有効な値は「8000」と「16000」。デフォルト値は「16000」。
> 
> type：文字列
> 
> 必須かどうか：必須ではない

__SnsTopicArn__
> 音声合成タスクのステータス通知を提供するためにオプションで使用されるSNSトピックのARN。
> 
> type：文字列
> 
> パターン：`^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:[a-z0-9_-]{1,50}:\d{12}:[a-zA-Z0-9_-]{1,256}$`
> 
> 必須かどうか：必須ではない

__SpeechMarkTypes__
> 入力テキストに対して返されるスピーチマークのタイプ。
> 
> type：文字列の配列
> 
> 配列メンバー：最大4アイテム。
> 
> 有効な値：`sentence | ssml | viseme | word`
> 
> 必須かどうか：必須ではない

__Text__
> 合成する入力テキスト。 TextTypeとしてssmlを指定する場合は、入力テキストのSSML形式に従います。
> 
> type：文字列
> 
> 必須かどうか：必須

__TextType__
> 入力テキストがプレーンテキストかSSMLかを指定します。デフォルト値はプレーンテキストです。
> 
> type：文字列
> 
> 有効な値：`ssml | text`
> 
> 必須かどうか：必須ではない

__VoiceId__
> 合成に使用する音声ID。
> 
> type：文字列

> 有効な値：`Aditi | Amy | Astrid | Bianca | Brian | Camila | Carla | Carmen | Celine | Chantal | Conchita | Cristiano | Dora | Emma | Enrique | Ewa | Filiz | 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 | Penelope | Raveena | Ricardo | Ruben | Russell | Salli | Seoyeon | Takumi | Tatyana | Vicki | Vitoria | Zeina | Zhiyu`
> 
> 必須かどうか：必須

- - -
### Response構文
```json
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"
   }
}
```
- - -
### Response要素
アクションが成功すると、サービスはHTTP200応答を送り返します。

次のデータは、サービスによってJSON形式で返されます。

__SynthesisTask__
> 新しく送信された音声合成タスクに関する情報と属性を提供するSynthesisTaskオブジェクト。
> 
> type：SynthesisTaskオブジェクト

- - -
### エラー
__EngineNotSupportedException__
> このエンジンは、指定した音声と互換性がありません。エンジンと互換性のある新しいボイスを選択するか、エンジンを変更して操作を再開してください。
> 
> HTTPステータスコード：400

__InvalidS3BucketException__
> 指定されたAmazonS3バケット名が無効です。 S3バケットの命名要件で入力を確認して、再試行してください。
> 
> HTTPステータスコード：400

__InvalidS3KeyException__
> 指定されたAmazonS3キープレフィックスが無効です。有効なS3オブジェクトキー名を入力してください。
> 
> HTTPステータスコード：400

__InvalidSampleRateException__
> 指定されたサンプルレートは無効です。
> 
> HTTPステータスコード：400

__InvalidSnsTopicArnException__
> 指定されたSNSトピックARNが無効です。有効なSNSトピックARNを入力して、再試行してください。
> 
> HTTPステータスコード：400

__InvalidSsmlException__
> 指定したSSMLが無効です。 SSML構文、タグと値のスペルを確認してから、再試行してください。
> 
> HTTPステータスコード：400

__LanguageNotSupportedException__
> 指定された言語は、現在この機能でAmazonPollyによってサポートされていません。
> 
> HTTPステータスコード：400

__LexiconNotFoundException__
> AmazonPollyは指定されたレキシコンを見つけることができません。これは、レキシコンが欠落しているか、名前のスペルが間違っているか、別のリージョンにあるレキシコンを指定していることが原因である可能性があります。
> 
> レキシコンが存在し、リージョン内にあり（ListLexiconsを参照）、名前のスペルが正しいことを確認します。その後、再試行してください。
> 
> HTTPステータスコード：404

__MarksNotSupportedForFormatException__
> 選択したOutputFormatでは、スピーチマークはサポートされていません。スピーチマークは、json形式のコンテンツでのみ使用できます。
> 
> HTTPステータスコード：400

__ServiceFailureException__
> 不明な状態が原因でサービス障害が発生しました。
> 
> HTTPステータスコード：500

__SsmlMarksNotSupportedForTextTypeException__
> SSMLスピーチマークは、プレーンテキストタイプの入力ではサポートされていません。
> 
> HTTPステータスコード：400

__TextLengthExceededException__
> 「テキスト」パラメータの値が、許容される制限を超えています。 `SynthesizeSpeech` APIの場合、入力テキストの制限は合計で最大6000文字であり、そのうち3000文字を超えて請求できる文字はありません。 `StartSpeechSynthesisTask API`の場合、最大は200,000文字で、そのうち100,000文字を超えて請求することはできません。 SSMLタグは請求文字としてカウントされません。
> 
> HTTPステータスコード：400

- - -
- - -
## SynthesizeSpeech
> https://docs.aws.amazon.com/ja_jp/polly/latest/dg/API_SynthesizeSpeech.html

UTF-8入力、プレーンテキストまたはSSMLをバイトストリームに合成します。 SSML入力は、有効で整形式のSSMLである必要があります。 一部のアルファベットは、音素マッピングを使用しない限り、すべての音声で使用できない場合があります（たとえば、キリル文字が英語の音声でまったく読み取られない場合があります）。 詳細については、「 How it Works」を参照してください。

- - -
### Request構文
```json
POST /v1/speech HTTP/1.1
Content-type: application/json

{
   "Engine": "string",
   "LanguageCode": "string",
   "LexiconNames": [ "string" ],
   "OutputFormat": "string",
   "SampleRate": "string",
   "SpeechMarkTypes": [ "string" ],
   "Text": "string",
   "TextType": "string",
   "VoiceId": "string"
}
```
<font color=green>Σ( ꒪﹃ ꒪)ハイライトが思ったようにいかん…、"string" が以下で出る「type:文字列」の文字列ってことで、比較的任意の値のことです</font>
<font color=green>必須の分(4つ)を含めていくつか指定した例(必須じゃないのはなくても構わない)</font>

```json:
{
   "Engine": "standard ",
   "OutputFormat": "mp3",
   "SampleRate": "24000",
   "Text": "君が思い出になる前に", 
   "VoiceId": "Takumi"
}
```

<font color=green>※下記表は、全部じゃなくてとりあえずいくつか抜粋したもの</font>

| 項目名 | 説明 | 例 |
|:--|:--|:--|
|Engine  | 標準またはニューラルを指定  | standard / neural  |
|OutputFormat | 出力のサウンド形式(スピーチマークの場合json)|<font color=#eb6101>*必須</font><br>json / mp3 / ogg_vorbis / pcm|
|SampleRate   |サンプリングレート   |(デフォルト値)<br>スタンダード：22,050Hz<br> ニューラル：24,000Hz  |
|TextType   |  入力テキストがプレーンテキストかSSMLかを指定 | ssml / text  |
|Text | 再生するテキスト<br>(TextTypeとしてssmlを指定する場合は、入力テキストのSSML形式)  | <font color=#eb6101>*必須</font>  |
|VoiceId | 使用する音声ID  | <font color=#eb6101>*必須</font>  |
- - -
### URIリクエストパラメータ
リクエストはURIパラメータを使用しません。
- - -
### Request本文
リクエストは、JSON形式で次のデータを受け入れます。

__Engine__
> 音声合成の入力テキストを処理するときに使用するAmazonPollyのエンジン（標準またはニューラル）を指定します。 Amazon Pollyの音声と、標準のみ、NTTSのみ、および標準形式とNTTS形式の両方で使用できる音声については、「Available Voices」を参照してください。
> 
> __NTTS-only voices__
> 
> Kevin（en-US）などのNTTSのみの音声を使用する場合、このパラメータは必須であり、neuralに設定する必要があります。エンジンが指定されていない場合、または標準に設定されている場合、エラーが発生します。
> 
> type：文字列
> 
> 有効な値：`standard | neural`
> 
> 必須かどうか：必須
> 
> __Standard voices__
> 標準の音声の場合、これは必須ではありません。エンジンパラメータのデフォルトは標準です。エンジンが指定されていない場合、または標準に設定されていて、NTTSのみの音声が選択されている場合、エラーが発生します。
> 
> type：文字列
> 
> 有効な値：`standard | neural`
> 
> 必須かどうか：必須ではない

__LanguageCode__
> SynthesizeSpeechリクエストのオプションの言語コード。これは、インド英語（en-IN）またはヒンディー語（hi-IN）のいずれかに使用できるAditiなどのバイリンガル音声を使用する場合にのみ必要です。
> 
> バイリンガル音声が使用され、言語コードが指定されていない場合、AmazonPollyはバイリンガル音声のデフォルト言語を使用します。音声のデフォルト言語は、LanguageCodeパラメーターのDescribeVoices操作によって返される言語です。たとえば、言語コードが指定されていない場合、Aditiはヒンディー語ではなくインド英語を使用します。
> 
> type：文字列
> 
> 有効な値:`: 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`
> 
> 必須かどうか：必須ではない

__LexiconNames__
> 合成中にサービスに適用する1つ以上の発音レキシコン名のリスト。レキシコンは、レキシコンの言語が音声の言語と同じである場合にのみ適用されます。レキシコンの保存については、PutLexiconを参照してください。
> 
> type：文字列の配列
> 
> 配列メンバー：最大5アイテム。
> 
> パターン：`[0-9A-Za-z]{1,20}`

> 必須かどうか：必須ではない

__OutputFormat__
> 返される出力がエンコードされる形式。オーディオストリームの場合、これはmp3、ogg_vorbis、またはpcmになります。スピーチマークの場合、これはjsonになります。
> 
> pcmを使用する場合、返されるコンテンツは、署名付き16ビット、1チャネル（モノラル）、リトルエンディアン形式のaudio / pcmです。
> 
> type：文字列
> 
> 有効な値：`json | mp3 | ogg_vorbis | pcm`
> 
> 必須かどうか：必須

__SampleRate__
> Hzで指定された可聴周波数。
> 
> mp3とogg_vorbisの有効な値は、「8000」、「16000」、「22050」、および「24000」です。標準音声のデフォルト値は「22050」です。ニューラルボイスのデフォルト値は「24000」です。
> 
> pcmの有効な値は「8000」と「16000」です。デフォルト値は「16000」です。
> 
> type：文字列
> 
> 必須かどうか：必須ではない

__SpeechMarkTypes__
> 入力テキストに対して返されるスピーチマークのタイプ。
> 
> タイプ：文字列の配列
> 
> 配列メンバー：最大4アイテム。
> 
> 有効な値：`sentence | ssml | viseme | word`

> 必須かどうか：必須ではない

_Text__
> 合成するテキストを入力します。 TextTypeとしてssmlを指定する場合は、入力テキストのSSML形式に従います。
> 
> type：文字列
> 
> 必須かどうか：必須

__TextType__
> 入力テキストがプレーンテキストかSSMLかを指定します。デフォルト値はプレーンテキストです。詳細については、「SSMLの使用」を参照してください。
> 
> type：文字列
> 
> 有効な値：`ssml | text`
> 
> 必須かどうか：必須ではない


__VoiceId__
> 合成に使用する音声ID。 [DescribeVoices](https://qiita.com/Remg/itmes/73ed6a2878ee562e283d#describevoices)操作を呼び出すことにより、使用可能な音声IDのリストを取得できます。
> 
> type：文字列
> 
> 有効な値：`Aditi | Amy | Astrid | Bianca | Brian | Camila | Carla | Carmen | Celine | Chantal | Conchita | Cristiano | Dora | Emma | Enrique | Ewa | Filiz | 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 | Penelope | Raveena | Ricardo | Ruben | Russell | Salli | Seoyeon | Takumi | Tatyana | Vicki | Vitoria | Zeina | Zhiyu`
> 
> 必須かどうか：必須

- - -
### Response構文
```
HTTP/1.1 200
Content-Type: ContentType
x-amzn-RequestCharacters: RequestCharacters

AudioStream
```
- - -
### Response要素
アクションが成功すると、サービスはHTTP200応答を送り返します。

応答は次のHTTPヘッダーを返します。

__ContentType__
> タイプオーディオストリームを指定します。 これは、リクエストのOutputFormatパラメータを反映している必要があります。
> 
> - OutputFormatとしてmp3を要求した場合、返されるContentTypeはaudio / mpegです。
> 
> - OutputFormatとしてogg_vorbisをリクエストした場合、返されるContentTypeはaudio / oggです。
> 
> - OutputFormatとしてpcmを要求した場合、返されるContentTypeは、符号付き16ビット、1チャネル（モノラル）、リトルエンディアン形式のaudio / pcmです。
> 
> - OutputFormatとしてjsonをリクエストした場合、返されるContentTypeはaudio / jsonです。

__RequestCharacters__
> 合成された文字の数。

応答は、HTTPボディとして次を返します。

__AudioStream__
> 合成音声を含むストリーム。

- - -
###エラー
__EngineNotSupportedException__
> このエンジンは、指定した音声と互換性がありません。エンジンと互換性のある新しいボイスを選択するか、エンジンを変更して操作を再開してください。
> 
> HTTPステータスコード：400

__InvalidSampleRateException__
> 指定されたサンプルレートは無効です。
> 
> HTTPステータスコード：400

__InvalidSsmlException__
> 指定したSSMLが無効です。 SSML構文、タグと値のスペルを確認してから、再試行してください。
> 
> HTTPステータスコード：400

__LanguageNotSupportedException__
> 指定された言語は、現在この機能でAmazonPollyによってサポートされていません。
> 
> HTTPステータスコード：400

__LexiconNotFoundException__
> AmazonPollyは指定されたレキシコンを見つけることができません。これは、レキシコンが欠落しているか、名前のスペルが間違っているか、別のリージョンにあるレキシコンを指定していることが原因である可能性があります。
> 
> レキシコンが存在し、リージョン内にあり（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