Amazon Polly Speech API

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

GitHub OpenAPI
Business capability
Speech & Voice AE-110.30

Operations 1

POST /v1/speech 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:amazon-polly-speech-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.1.0
info:
  title: Amazon Polly Speech API
  version: '2016-06-10'
  description: Generated from AWS's published Smithy model for Amazon Polly. 1 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://polly.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /v1/speech:
    post:
      operationId: SynthesizeSpeech
      summary: Synthesize Speech
      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 How it Works.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SynthesizeSpeechOutput'
              example:
                AudioStream: TEXT
                ContentType: audio/mpeg
                RequestCharacters: 37
        '400':
          description: EngineNotSupportedException; InvalidSampleRateException; InvalidSsmlException; LanguageNotSupportedException;
            MarksNotSupportedForFormatException; SsmlMarksNotSupportedForTextTypeException; TextLengthExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EngineNotSupportedException'
        '404':
          description: LexiconNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LexiconNotFoundException'
        '500':
          description: ServiceFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceFailureException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SynthesizeSpeechInput'
            example:
              LexiconNames:
              - example
              OutputFormat: mp3
              SampleRate: '8000'
              Text: All Gaul is divided into three parts
              TextType: text
              VoiceId: Joanna
      tags:
      - Speech
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: polly
  schemas:
    EngineNotSupportedException:
      type: object
      properties:
        message:
          type: string
    LexiconNotFoundException:
      type: object
      properties:
        message:
          type: string
    ServiceFailureException:
      type: object
      properties:
        message:
          type: string
    SynthesizeSpeechInput:
      type: object
      properties:
        Engine:
          type: string
          enum:
          - standard
          - neural
          - long-form
          - generative
          description: Specifies the engine (standard, neural, long-form, or generative) for Amazon Polly to use when processing
            input text for speech synthesis. Provide an engine that is supported by the voice you select. If you don't provide
            an engine, the standard engine is selected by default. If a chosen voice isn't supported by the standard engine,
            this will result in an error. For information on Amazon Polly voices and which voices are available for each engine,
            see Available Voices.
        LanguageCode:
          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
          - en-IE
          - nl-BE
          - fr-BE
          - cs-CZ
          - de-CH
          - en-SG
          description: 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). 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 DescribeVoices operation for the LanguageCode parameter.
            For example, if no language code is specified, Aditi will use Indian English rather than Hindi.
        LexiconNames:
          type: array
          items:
            type: string
          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 PutLexicon.
        OutputFormat:
          type: string
          enum:
          - json
          - mp3
          - ogg_opus
          - ogg_vorbis
          - pcm
          - mulaw
          - alaw
          description: The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis,
            ogg_opus, mu-law, a-law or pcm. For speech marks, this will be json. When pcm is used, the content returned is
            audio/pcm in a signed 16-bit, 1 channel (mono), little-endian format.
        SampleRate:
          type: string
          description: The audio frequency specified in Hz. The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050",
            "24000", "44100" and "48000". The default value for standard voices is "22050". The default value for neural voices
            is "24000". The default value for long-form voices is "24000". The default value for generative voices is "24000".
            Valid values for pcm are "8000" and "16000" The default value is "16000". Valid value for ogg_opus is "48000".
            Valid value for mu-law and a-law is "8000".
        SpeechMarkTypes:
          type: array
          items:
            type: string
            enum:
            - sentence
            - ssml
            - viseme
            - word
          description: The type of speech marks returned for the input text.
        Text:
          type: string
          description: Input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input
            text.
        TextType:
          type: string
          enum:
          - ssml
          - text
          description: Specifies whether the input text is plain text or SSML. The default value is plain text. For more information,
            see Using SSML.
        VoiceId:
          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
          - Niamh
          - Sofie
          - Lisa
          - Isabelle
          - Zayd
          - Danielle
          - Gregory
          - Burcu
          - Jitka
          - Sabrina
          - Jasmine
          - Jihye
          - Ambre
          - Beatrice
          - Florian
          - Lennart
          - Lorenzo
          - Tiffany
          - Arjun
          - Carlos
          - Carolina
          - Curtis
          - Hyunduk
          - Kenneth
          - Kiara
          - Leo
          - Nate
          - Tina
          description: Voice ID to use for the synthesis. You can get a list of available voice IDs by calling the DescribeVoices
            operation.
      required:
      - OutputFormat
      - Text
      - VoiceId
    SynthesizeSpeechOutput:
      type: object
      properties:
        AudioStream:
          type: string
          format: byte
          description: Stream containing the synthesized speech.
        ContentType:
          type: string
          description: Specifies the type audio stream. This should reflect the OutputFormat parameter in your request. If
            you request mp3 as the OutputFormat, the ContentType returned is audio/mpeg. If you request ogg_vorbis as the
            OutputFormat, the ContentType returned is audio/ogg. If you request ogg_opus as the OutputFormat, the ContentType
            returned is audio/ogg. If you request pcm as the OutputFormat, the ContentType returned is audio/pcm in a signed
            16-bit, 1 channel (mono), little-endian format. If you request mu-law as the OutputFormat, the ContentType returned
            is audio/mulaw. If you request a-law as the Out
        RequestCharacters:
          type: integer
          description: Number of characters synthesized.
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/polly/service/2016-06-10/polly-2016-06-10.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)