기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SynthesizeSpeech
UTF-8 입력, 일반 텍스트 또는 SSML을 바이트 스트림으로 합성합니다. SSML 입력은 유효하고 올바른 형식의 SSML이어야 합니다. 음소 매핑을 사용하지 않는 한 일부 음성에서 일부 알파벳을 사용할 수 없습니다(예: 키릴 문자는 영어 음성으로 전혀 읽히지 않을 수 있음). 자세한 내용은 작동 방식을 참조하세요.
Request Syntax
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
"
}
URI 요청 파라미터
요청은 URI 파라미터를 사용하지 않습니다.
요청 본문
요청은 JSON 형식으로 다음 데이터를 받습니다.
- Engine
-
Amazon Polly가 음성 합성을 위한 입력 텍스트를 처리할 때 사용할 엔진 (
standard
neural
long-form
,, 또는generative
) 을 지정합니다. 선택한 음성이 지원하는 엔진을 제공하십시오. 엔진을 제공하지 않는 경우 기본적으로 표준 엔진이 선택됩니다. 선택한 음성이 표준 엔진에서 지원되지 않는 경우 오류가 발생합니다. Amazon Polly 음성 및 각 엔진에서 사용할 수 있는 음성에 대한 자세한 내용은 사용 가능한 음성을 참조하세요.타입: 문자열
유효한 값:
standard
|neural
|long-form
|generative
필수 항목 여부: 예
타입: 문자열
유효 값:
standard | neural | long-form | generative
필수 여부: 아니요
- LanguageCode
-
스피치 합성 요청을 위한 옵션 언어 코드입니다. 이는 인도 영어(en-IN) 또는 힌디어(hi-IN)에 사용할 수 있는 Aditi와 같은 이중 언어 음성을 사용하는 경우에만 필요합니다.
이중 언어 음성을 사용하지만 언어 코드를 지정하지 않은 경우 Amazon Polly는 이중 언어 음성의 기본 언어를 사용합니다. 모든 음성의 기본 언어는
LanguageCode
파라미터 DescribeVoices조작에서 반환되는 언어입니다. 예를 들어 언어 코드를 지정하지 않은 경우 Aditi는 힌디어 대신 인도 영어를 사용합니다.타입: 문자열
유효 값:
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
-
합성 과정에서 서비스에 적용하려는 하나 이상의 발음 어휘 이름의 목록입니다. 어휘는 어휘의 언어가 음성의 언어와 동일한 경우에만 적용됩니다. 어휘집 저장에 대한 자세한 내용은 을 참조하십시오 PutLexicon.
유형: 문자열 배열
배열 멤버: 최대 항목 수는 5개입니다.
패턴:
[0-9A-Za-z]{1,20}
Required: No
- OutputFormat
-
반환된 출력이 인코딩되는 형식입니다. 오디오 스트림의 경우 mp3, ogg_vorbis 또는 pcm이 됩니다. 스피치 마크의 경우 json이 됩니다.
pcm을 사용하면 반환되는 콘텐츠는 부호가 있는 16비트, 1채널(모노), 리틀 엔디안 형식의 오디오/pcm입니다.
타입: 문자열
유효 값:
json | mp3 | ogg_vorbis | pcm
필수 사항 여부: 예
- SampleRate
-
Hz로 지정된 오디오 주파수입니다.
mp3 및 ogg_vorbis의 유효한 값은 “8000”, “16000”, “22050”, “24000”입니다. 표준 음성의 기본값은 “22050”이고 신경 음성의 기본값은 “24000”입니다. 롱폼 음성의 기본값은 ‘24000’입니다. 제너레이티브 음성의 기본값은 “24000"입니다.
pcm의 유효한 값은 “8000”과 “16000”입니다. 기본값은 “16000”입니다.
타입: 문자열
필수사항: 아니요
- SpeechMarkTypes
-
입력 텍스트에 대해 반환되는 스피치 마크의 유형입니다.
유형: 문자열 어레이
배열 멤버: 최대 항목 수는 4개입니다.
유효 값:
sentence | ssml | viseme | word
필수 여부: 아니요
- Text
-
합성할 입력 텍스트입니다.
ssml
을TextType
으로 지정하는 경우 입력 텍스트의 SSML 형식을 따라야 합니다.타입: 문자열
필수 항목 여부: 예
- TextType
-
입력 텍스트가 일반 텍스트인지 SSML인지 지정합니다. 기본값은 일반 텍스트입니다. 자세한 내용은 SSML 사용을 참조하세요.
타입: 문자열
유효 값:
ssml | text
필수 여부: 아니요
- VoiceId
-
합성에 사용할 음성 ID입니다. 오퍼레이션을 호출하여 사용 가능한 음성 ID 목록을 가져올 수 있습니다. DescribeVoices
타입: 문자열
유효 값:
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: ContentType
x-amzn-RequestCharacters: RequestCharacters
AudioStream
응답 요소
작업이 성공하면 서비스가 HTTP 200 응답을 반송합니다.
응답에 다음 HTTP 헤더가 반환됩니다.
- ContentType
-
오디오 스트림 유형을 지정합니다. 여기에는 요청의
OutputFormat
파라미터가 반영되어야 합니다.-
mp3
를OutputFormat
으로 요청하면ContentType
이 audio/mpeg를 반환합니다. -
ogg_vorbis
를OutputFormat
으로 요청하면ContentType
이 audio/ogg를 반환합니다. -
pcm
을OutputFormat
으로 요청하면ContentType
이 부호가 있는 16비트, 1채널(모노), 리틀 엔디안 형식의 audio/pcm을 반환합니다. -
json
로 요청하면 x-json-stream application/이ContentType
반환됩니다.OutputFormat
-
- RequestCharacters
-
합성된 문자 수입니다.
응답은 다음 내용을 HTTP 본문으로 반환합니다.
- AudioStream
-
합성된 스피치가 포함된 스트림입니다.
Errors
- EngineNotSupportedException
-
이 엔진은 지정한 음성과 호환되지 않습니다. 엔진과 호환되는 새 음성을 선택하거나 엔진을 교체하고 작업을 다시 시작하세요.
HTTP 상태 코드: 400
- InvalidSampleRateException
-
지정한 샘플 속도가 유효하지 않습니다.
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의 경우 입력 텍스트 한도는 최대 총 6,000자이며, 이 중 청구 가능한 문자 수는 3,000자를 초과할 수 없습니다.StartSpeechSynthesisTask
API의 경우 최대 200,000자이며, 이 중 청구 가능한 문자 수는 100,000자를 초과할 수 없습니다. SSML 태그는 청구 문자 수로 계산되지 않습니다.HTTP 상태 코드: 400
참고
언어별 AWS SDK 중 하나에서 이 API를 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.