{
    "auth": {
        "oauth2": {
            "scopes": {
                "https://www.googleapis.com/auth/cloud-platform": {
                    "description": "View and manage your data across Google Cloud Platform services"
                }
            }
        }
    },
    "basePath": "",
    "baseUrl": "https://texttospeech.googleapis.com/",
    "batchPath": "batch",
    "canonicalName": "Texttospeech",
    "description": "Synthesizes natural-sounding speech by applying powerful neural network models.",
    "discoveryVersion": "v1",
    "documentationLink": "https://cloud.google.com/text-to-speech/",
    "icons": {
        "x16": "http://www.google.com/images/icons/product/search-16.gif",
        "x32": "http://www.google.com/images/icons/product/search-32.gif"
    },
    "id": "texttospeech:v1",
    "kind": "discovery#restDescription",
    "name": "texttospeech",
    "ownerDomain": "google.com",
    "ownerName": "Google",
    "parameters": {
        "prettyPrint": {
            "default": "true",
            "description": "Returns response with indentations and line breaks.",
            "location": "query",
            "type": "boolean"
        },
        "quotaUser": {
            "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
            "location": "query",
            "type": "string"
        },
        "uploadType": {
            "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
            "location": "query",
            "type": "string"
        },
        "fields": {
            "description": "Selector specifying which fields to include in a partial response.",
            "location": "query",
            "type": "string"
        },
        "$.xgafv": {
            "description": "V1 error format.",
            "enum": [
                "1",
                "2"
            ],
            "enumDescriptions": [
                "v1 error format",
                "v2 error format"
            ],
            "location": "query",
            "type": "string"
        },
        "oauth_token": {
            "description": "OAuth 2.0 token for the current user.",
            "location": "query",
            "type": "string"
        },
        "callback": {
            "description": "JSONP",
            "location": "query",
            "type": "string"
        },
        "alt": {
            "default": "json",
            "description": "Data format for response.",
            "enum": [
                "json",
                "media",
                "proto"
            ],
            "enumDescriptions": [
                "Responses with Content-Type of application/json",
                "Media download with context-dependent Content-Type",
                "Responses with Content-Type of application/x-protobuf"
            ],
            "location": "query",
            "type": "string"
        },
        "key": {
            "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
            "location": "query",
            "type": "string"
        },
        "access_token": {
            "description": "OAuth access token.",
            "location": "query",
            "type": "string"
        },
        "upload_protocol": {
            "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
            "location": "query",
            "type": "string"
        }
    },
    "protocol": "rest",
    "resources": {
        "voices": {
            "methods": {
                "list": {
                    "description": "Returns a list of Voice supported for synthesis.",
                    "httpMethod": "GET",
                    "id": "texttospeech.voices.list",
                    "parameterOrder": [],
                    "parameters": {
                        "languageCode": {
                            "description": "Optional. Recommended.\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If\nspecified, the ListVoices call will only return voices that can be used to\nsynthesize this language_code. E.g. when specifying \"en-NZ\", you will get\nsupported \"en-*\" voices; when specifying \"no\", you will get supported\n\"no-*\" (Norwegian) and \"nb-*\" (Norwegian Bokmal) voices; specifying \"zh\"\nwill also get supported \"cmn-*\" voices; specifying \"zh-hk\" will also get\nsupported \"yue-*\" voices.",
                            "location": "query",
                            "type": "string"
                        }
                    },
                    "path": "v1/voices",
                    "response": {
                        "$ref": "ListVoicesResponse"
                    },
                    "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                    ]
                }
            }
        },
        "text": {
            "methods": {
                "synthesize": {
                    "description": "Synthesizes speech synchronously: receive results after all text input\nhas been processed.",
                    "httpMethod": "POST",
                    "id": "texttospeech.text.synthesize",
                    "parameterOrder": [],
                    "parameters": {},
                    "path": "v1/text:synthesize",
                    "request": {
                        "$ref": "SynthesizeSpeechRequest"
                    },
                    "response": {
                        "$ref": "SynthesizeSpeechResponse"
                    },
                    "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                    ]
                }
            }
        }
    },
    "revision": "20200501",
    "rootUrl": "https://texttospeech.googleapis.com/",
    "schemas": {
        "ListVoicesResponse": {
            "description": "The message returned to the client by the `ListVoices` method.",
            "id": "ListVoicesResponse",
            "properties": {
                "voices": {
                    "description": "The list of voices.",
                    "items": {
                        "$ref": "Voice"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "SynthesizeSpeechResponse": {
            "description": "The message returned to the client by the `SynthesizeSpeech` method.",
            "id": "SynthesizeSpeechResponse",
            "properties": {
                "audioContent": {
                    "description": "The audio data bytes encoded as specified in the request, including the\nheader for encodings that are wrapped in containers (e.g. MP3, OGG_OPUS).\nFor LINEAR16 audio, we include the WAV header. Note: as\nwith all bytes fields, protobuffers use a pure binary representation,\nwhereas JSON representations use base64.",
                    "format": "byte",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "SynthesizeSpeechRequest": {
            "description": "The top-level message sent by the client for the `SynthesizeSpeech` method.",
            "id": "SynthesizeSpeechRequest",
            "properties": {
                "input": {
                    "$ref": "SynthesisInput",
                    "description": "Required. The Synthesizer requires either plain text or SSML as input."
                },
                "voice": {
                    "$ref": "VoiceSelectionParams",
                    "description": "Required. The desired voice of the synthesized audio."
                },
                "audioConfig": {
                    "$ref": "AudioConfig",
                    "description": "Required. The configuration of the synthesized audio."
                }
            },
            "type": "object"
        },
        "VoiceSelectionParams": {
            "description": "Description of which voice to use for a synthesis request.",
            "id": "VoiceSelectionParams",
            "properties": {
                "languageCode": {
                    "description": "Required. The language (and potentially also the region) of the voice expressed as a\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g.\n\"en-US\". This should not include a script tag (e.g. use\n\"cmn-cn\" rather than \"cmn-Hant-cn\"), because the script will be inferred\nfrom the input provided in the SynthesisInput.  The TTS service\nwill use this parameter to help choose an appropriate voice.  Note that\nthe TTS service may choose a voice with a slightly different language code\nthan the one selected; it may substitute a different region\n(e.g. using en-US rather than en-CA if there isn't a Canadian voice\navailable), or even a different language, e.g. using \"nb\" (Norwegian\nBokmal) instead of \"no\" (Norwegian)\".",
                    "type": "string"
                },
                "name": {
                    "description": "The name of the voice. If not set, the service will choose a\nvoice based on the other parameters such as language_code and gender.",
                    "type": "string"
                },
                "ssmlGender": {
                    "description": "The preferred gender of the voice. If not set, the service will\nchoose a voice based on the other parameters such as language_code and\nname. Note that this is only a preference, not requirement; if a\nvoice of the appropriate gender is not available, the synthesizer should\nsubstitute a voice with a different gender rather than failing the request.",
                    "enum": [
                        "SSML_VOICE_GENDER_UNSPECIFIED",
                        "MALE",
                        "FEMALE",
                        "NEUTRAL"
                    ],
                    "enumDescriptions": [
                        "An unspecified gender.\nIn VoiceSelectionParams, this means that the client doesn't care which\ngender the selected voice will have. In the Voice field of\nListVoicesResponse, this may mean that the voice doesn't fit any of the\nother categories in this enum, or that the gender of the voice isn't known.",
                        "A male voice.",
                        "A female voice.",
                        "A gender-neutral voice."
                    ],
                    "type": "string"
                }
            },
            "type": "object"
        },
        "Voice": {
            "description": "Description of a voice supported by the TTS service.",
            "id": "Voice",
            "properties": {
                "languageCodes": {
                    "description": "The languages that this voice supports, expressed as\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags (e.g.\n\"en-US\", \"es-419\", \"cmn-tw\").",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "naturalSampleRateHertz": {
                    "description": "The natural sample rate (in hertz) for this voice.",
                    "format": "int32",
                    "type": "integer"
                },
                "name": {
                    "description": "The name of this voice.  Each distinct voice has a unique name.",
                    "type": "string"
                },
                "ssmlGender": {
                    "description": "The gender of this voice.",
                    "enum": [
                        "SSML_VOICE_GENDER_UNSPECIFIED",
                        "MALE",
                        "FEMALE",
                        "NEUTRAL"
                    ],
                    "enumDescriptions": [
                        "An unspecified gender.\nIn VoiceSelectionParams, this means that the client doesn't care which\ngender the selected voice will have. In the Voice field of\nListVoicesResponse, this may mean that the voice doesn't fit any of the\nother categories in this enum, or that the gender of the voice isn't known.",
                        "A male voice.",
                        "A female voice.",
                        "A gender-neutral voice."
                    ],
                    "type": "string"
                }
            },
            "type": "object"
        },
        "SynthesisInput": {
            "description": "Contains text input to be synthesized. Either `text` or `ssml` must be\nsupplied. Supplying both or neither returns\ngoogle.rpc.Code.INVALID_ARGUMENT. The input size is limited to 5000\ncharacters.",
            "id": "SynthesisInput",
            "properties": {
                "ssml": {
                    "description": "The SSML document to be synthesized. The SSML document must be valid\nand well-formed. Otherwise the RPC will fail and return\ngoogle.rpc.Code.INVALID_ARGUMENT. For more information, see\n[SSML](/speech/text-to-speech/docs/ssml).",
                    "type": "string"
                },
                "text": {
                    "description": "The raw text to be synthesized.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AudioConfig": {
            "description": "Description of audio data to be synthesized.",
            "id": "AudioConfig",
            "properties": {
                "effectsProfileId": {
                    "description": "Optional. Input only. An identifier which selects 'audio effects' profiles\nthat are applied on (post synthesized) text to speech. Effects are applied\non top of each other in the order they are given. See\n[audio\nprofiles](https://cloud.google.com/text-to-speech/docs/audio-profiles) for\ncurrent supported profile ids.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "volumeGainDb": {
                    "description": "Optional. Input only. Volume gain (in dB) of the normal native volume\nsupported by the specific voice, in the range [-96.0, 16.0]. If unset, or\nset to a value of 0.0 (dB), will play at normal native signal amplitude. A\nvalue of -6.0 (dB) will play at approximately half the amplitude of the\nnormal native signal amplitude. A value of +6.0 (dB) will play at\napproximately twice the amplitude of the normal native signal amplitude.\nStrongly recommend not to exceed +10 (dB) as there's usually no effective\nincrease in loudness for any value greater than that.",
                    "format": "double",
                    "type": "number"
                },
                "sampleRateHertz": {
                    "description": "Optional. The synthesis sample rate (in hertz) for this audio. When this is\nspecified in SynthesizeSpeechRequest, if this is different from the voice's\nnatural sample rate, then the synthesizer will honor this request by\nconverting to the desired sample rate (which might result in worse audio\nquality), unless the specified sample rate is not supported for the\nencoding chosen, in which case it will fail the request and return\ngoogle.rpc.Code.INVALID_ARGUMENT.",
                    "format": "int32",
                    "type": "integer"
                },
                "pitch": {
                    "description": "Optional. Input only. Speaking pitch, in the range [-20.0, 20.0]. 20 means\nincrease 20 semitones from the original pitch. -20 means decrease 20\nsemitones from the original pitch.",
                    "format": "double",
                    "type": "number"
                },
                "speakingRate": {
                    "description": "Optional. Input only. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is\nthe normal native speed supported by the specific voice. 2.0 is twice as\nfast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0\nspeed. Any other values < 0.25 or > 4.0 will return an error.",
                    "format": "double",
                    "type": "number"
                },
                "audioEncoding": {
                    "description": "Required. The format of the audio byte stream.",
                    "enum": [
                        "AUDIO_ENCODING_UNSPECIFIED",
                        "LINEAR16",
                        "MP3",
                        "OGG_OPUS"
                    ],
                    "enumDescriptions": [
                        "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.",
                        "Uncompressed 16-bit signed little-endian samples (Linear PCM).\nAudio content returned as LINEAR16 also contains a WAV header.",
                        "MP3 audio at 32kbps.",
                        "Opus encoded audio wrapped in an ogg container. The result will be a\nfile which can be played natively on Android, and in browsers (at least\nChrome and Firefox). The quality of the encoding is considerably higher\nthan MP3 while using approximately the same bitrate."
                    ],
                    "type": "string"
                }
            },
            "type": "object"
        }
    },
    "servicePath": "",
    "title": "Cloud Text-to-Speech API",
    "version": "v1",
    "version_module": true
}