Amazon Polly Speech API

The Speech API from Amazon Polly — 1 operation(s) for speech.

Operations 1

POST /v1/speech Amazon Polly Synthesize Speech #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-polly-speech-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-polly-speech-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  x-release: v4
  title: Amazon Polly Lexicons Speech API
  description: <p>Amazon Polly is a web service that makes it easy to synthesize speech from text.</p> <p>The Amazon Polly service provides API operations for synthesizing high-quality speech from plain text and Speech Synthesis Markup Language (SSML), along with managing pronunciations lexicons that enable you to get the best results for your application domain.</p>
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
    backgroundColor: '#FFFFFF'
  termsOfService: https://aws.amazon.com/service-terms/
  contact:
    name: Mike Ralphson
    email: mike.ralphson@gmail.com
    url: https://github.com/mermade/aws2openapi
    x-twitter: PermittedSoc
  license:
    name: Apache 2.0 License
    url: http://www.apache.org/licenses/
  x-providerName: amazonaws.com
  x-serviceName: polly
  x-origin:
  - contentType: application/json
    url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/polly-2016-06-10.normal.json
    converter:
      url: https://github.com/mermade/aws2openapi
    x-apisguru-driver: external
  x-apiClientRegistration:
    url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
  x-apisguru-categories:
  - cloud
  x-preferred: true
servers:
- url: http://polly.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The Amazon Polly multi-region endpoint
- url: https://polly.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The Amazon Polly multi-region endpoint
- url: http://polly.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The Amazon Polly endpoint for China (Beijing) and China (Ningxia)
- url: https://polly.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The Amazon Polly endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: Speech
paths:
  /v1/speech:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    post:
      operationId: SynthesizeSpeech
      description: Synthesizes UTF-8 input, plain text or SSML, to a stream of bytes. SSML input must be valid, well-formed SSML. Some alphabets might not be available with all the voices (for example, Cyrillic might not be read at all by English voices) unless phoneme mapping is used. For more information, see <a href="https://docs.aws.amazon.com/polly/latest/dg/how-text-to-speech-works.html">How it Works</a>.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SynthesizeSpeechOutput'
        '480':
          description: TextLengthExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TextLengthExceededException'
        '481':
          description: InvalidSampleRateException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidSampleRateException'
        '482':
          description: InvalidSsmlException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidSsmlException'
        '483':
          description: LexiconNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LexiconNotFoundException'
        '484':
          description: ServiceFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceFailureException'
        '485':
          description: MarksNotSupportedForFormatException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarksNotSupportedForFormatException'
        '486':
          description: SsmlMarksNotSupportedForTextTypeException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsmlMarksNotSupportedForTextTypeException'
        '487':
          description: LanguageNotSupportedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LanguageNotSupportedException'
        '488':
          description: EngineNotSupportedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EngineNotSupportedException'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - OutputFormat
              - Text
              - VoiceId
              properties:
                Engine:
                  description: '<p>Specifies the engine (<code>standard</code> or <code>neural</code>) for Amazon Polly to use when processing input text for speech synthesis. For information on Amazon Polly voices and which voices are available in standard-only, NTTS-only, and both standard and NTTS formats, see <a href="https://docs.aws.amazon.com/polly/latest/dg/voicelist.html">Available Voices</a>.</p> <p> <b>NTTS-only voices</b> </p> <p>When using NTTS-only voices such as Kevin (en-US), this parameter is required and must be set to <code>neural</code>. If the engine is not specified, or is set to <code>standard</code>, this will result in an error. </p> <p>Type: String</p> <p>Valid Values: <code>standard</code> | <code>neural</code> </p> <p>Required: Yes</p> <p> <b>Standard voices</b> </p> <p>For standard voices, this is not required; the engine parameter defaults to <code>standard</code>. If the engine is not specified, or is set to <code>standard</code> and an NTTS-only voice is selected, this will result in an error. </p>'
                  type: string
                  enum:
                  - standard
                  - neural
                LanguageCode:
                  description: <p>Optional language code for the Synthesize Speech request. This is only necessary if using a bilingual voice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN). </p> <p>If a bilingual voice is used and no language code is specified, Amazon Polly uses the default language of the bilingual voice. The default language for any voice is the one returned by the <a href="https://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html">DescribeVoices</a> operation for the <code>LanguageCode</code> parameter. For example, if no language code is specified, Aditi will use Indian English rather than Hindi.</p>
                  type: string
                  enum:
                  - 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
                LexiconNames:
                  description: List of one or more pronunciation lexicon names you want the service to apply during synthesis. Lexicons are applied only if the language of the lexicon is the same as the language of the voice. For information about storing lexicons, see <a href="https://docs.aws.amazon.com/polly/latest/dg/API_PutLexicon.html">PutLexicon</a>.
                  type: array
                  items:
                    $ref: '#/components/schemas/LexiconName'
                  maxItems: 5
                OutputFormat:
                  description: <p> The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json. </p> <p>When pcm is used, the content returned is audio/pcm in a signed 16-bit, 1 channel (mono), little-endian format. </p>
                  type: string
                  enum:
                  - json
                  - mp3
                  - ogg_vorbis
                  - pcm
                SampleRate:
                  description: <p>The audio frequency specified in Hz.</p> <p>The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for standard voices is "22050". The default value for neural voices is "24000".</p> <p>Valid values for pcm are "8000" and "16000" The default value is "16000". </p>
                  type: string
                SpeechMarkTypes:
                  description: The type of speech marks returned for the input text.
                  type: array
                  items:
                    $ref: '#/components/schemas/SpeechMarkType'
                  maxItems: 4
                Text:
                  description: ' Input text to synthesize. If you specify <code>ssml</code> as the <code>TextType</code>, follow the SSML format for the input text. '
                  type: string
                TextType:
                  description: ' Specifies whether the input text is plain text or SSML. The default value is plain text. For more information, see <a href="https://docs.aws.amazon.com/polly/latest/dg/ssml.html">Using SSML</a>.'
                  type: string
                  enum:
                  - ssml
                  - text
                VoiceId:
                  description: ' Voice ID to use for the synthesis. You can get a list of available voice IDs by calling the <a href="https://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html">DescribeVoices</a> operation. '
                  type: string
                  enum:
                  - 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
      summary: Amazon Polly Synthesize Speech
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Speech
components:
  schemas:
    EngineNotSupportedException: {}
    SynthesizeSpeechOutput:
      type: object
      example:
        AudioStream: TEXT
        ContentType: audio/mpeg
        RequestCharacters: 37
      properties:
        AudioStream:
          allOf:
          - $ref: '#/components/schemas/AudioStream'
          - description: ' Stream containing the synthesized speech. '
    LexiconNotFoundException: {}
    InvalidSsmlException: {}
    MarksNotSupportedForFormatException: {}
    InvalidSampleRateException: {}
    SsmlMarksNotSupportedForTextTypeException: {}
    LexiconName:
      type: string
      pattern: '[0-9A-Za-z]{1,20}'
    TextLengthExceededException: {}
    LanguageNotSupportedException: {}
    AudioStream:
      type: string
    ServiceFailureException: {}
    SpeechMarkType:
      type: string
      enum:
      - sentence
      - ssml
      - viseme
      - word
  parameters:
    X-Amz-Credential:
      name: X-Amz-Credential
      in: header
      schema:
        type: string
      required: false
    X-Amz-Algorithm:
      name: X-Amz-Algorithm
      in: header
      schema:
        type: string
      required: false
    X-Amz-Signature:
      name: X-Amz-Signature
      in: header
      schema:
        type: string
      required: false
    X-Amz-Security-Token:
      name: X-Amz-Security-Token
      in: header
      schema:
        type: string
      required: false
    X-Amz-Date:
      name: X-Amz-Date
      in: header
      schema:
        type: string
      required: false
    X-Amz-SignedHeaders:
      name: X-Amz-SignedHeaders
      in: header
      schema:
        type: string
      required: false
    X-Amz-Content-Sha256:
      name: X-Amz-Content-Sha256
      in: header
      schema:
        type: string
      required: false
  securitySchemes:
    hmac:
      type: apiKey
      name: Authorization
      in: header
      description: Amazon Signature authorization v4
      x-amazon-apigateway-authtype: awsSigv4
externalDocs:
  description: Amazon Web Services documentation
  url: https://docs.aws.amazon.com/polly/