{
  "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/",
  "fullyEncodeReservedExpansion": true,
  "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",
  "mtlsRootUrl": "https://texttospeech.mtls.googleapis.com/",
  "name": "texttospeech",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "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"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "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"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "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"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "text": {
      "methods": {
        "synthesize": {
          "description": "Synthesizes speech synchronously: receive results after all text input has been processed.",
          "flatPath": "v1/text:synthesize",
          "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"
          ]
        }
      }
    },
    "voices": {
      "methods": {
        "list": {
          "description": "Returns a list of Voice supported for synthesis.",
          "flatPath": "v1/voices",
          "httpMethod": "GET",
          "id": "texttospeech.voices.list",
          "parameterOrder": [],
          "parameters": {
            "languageCode": {
              "description": "Optional. Recommended. [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. E.g. when specifying \"en-NZ\", you will get supported \"en-\\*\" voices; when specifying \"no\", you will get supported \"no-\\*\" (Norwegian) and \"nb-\\*\" (Norwegian Bokmal) voices; specifying \"zh\" will also get supported \"cmn-\\*\" voices; specifying \"zh-hk\" will also get supported \"yue-\\*\" voices.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/voices",
          "response": {
            "$ref": "ListVoicesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    }
  },
  "revision": "20200814",
  "rootUrl": "https://texttospeech.googleapis.com/",
  "schemas": {
    "AudioConfig": {
      "description": "Description of audio data to be synthesized.",
      "id": "AudioConfig",
      "properties": {
        "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). Audio 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 file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate."
          ],
          "type": "string"
        },
        "effectsProfileId": {
          "description": "Optional. Input only. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. See [audio profiles](https://cloud.google.com/text-to-speech/docs/audio-profiles) for current supported profile ids.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "pitch": {
          "description": "Optional. Input only. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch.",
          "format": "double",
          "type": "number"
        },
        "sampleRateHertz": {
          "description": "Optional. The synthesis sample rate (in hertz) for this audio. When this is specified in SynthesizeSpeechRequest, if this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality), unless the specified sample rate is not supported for the encoding chosen, in which case it will fail the request and return google.rpc.Code.INVALID_ARGUMENT.",
          "format": "int32",
          "type": "integer"
        },
        "speakingRate": {
          "description": "Optional. Input only. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values \u003c 0.25 or \u003e 4.0 will return an error.",
          "format": "double",
          "type": "number"
        },
        "volumeGainDb": {
          "description": "Optional. Input only. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. Strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "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"
    },
    "SynthesisInput": {
      "description": "Contains text input to be synthesized. Either `text` or `ssml` must be supplied. Supplying both or neither returns google.rpc.Code.INVALID_ARGUMENT. The input size is limited to 5000 characters.",
      "id": "SynthesisInput",
      "properties": {
        "ssml": {
          "description": "The SSML document to be synthesized. The SSML document must be valid and well-formed. Otherwise the RPC will fail and return google.rpc.Code.INVALID_ARGUMENT. For more information, see [SSML](https://cloud.google.com/text-to-speech/docs/ssml).",
          "type": "string"
        },
        "text": {
          "description": "The raw text to be synthesized.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SynthesizeSpeechRequest": {
      "description": "The top-level message sent by the client for the `SynthesizeSpeech` method.",
      "id": "SynthesizeSpeechRequest",
      "properties": {
        "audioConfig": {
          "$ref": "AudioConfig",
          "description": "Required. The configuration of the synthesized audio."
        },
        "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."
        }
      },
      "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 header for encodings that are wrapped in containers (e.g. MP3, OGG_OPUS). For LINEAR16 audio, we include the WAV header. Note: as with all bytes fields, protobuffers use a pure binary representation, whereas JSON representations use base64.",
          "format": "byte",
          "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 [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags (e.g. \"en-US\", \"es-419\", \"cmn-tw\").",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of this voice. Each distinct voice has a unique name.",
          "type": "string"
        },
        "naturalSampleRateHertz": {
          "description": "The natural sample rate (in hertz) for this voice.",
          "format": "int32",
          "type": "integer"
        },
        "ssmlGender": {
          "description": "The gender of this voice.",
          "enum": [
            "SSML_VOICE_GENDER_UNSPECIFIED",
            "MALE",
            "FEMALE",
            "NEUTRAL"
          ],
          "enumDescriptions": [
            "An unspecified gender. In VoiceSelectionParams, this means that the client doesn't care which gender the selected voice will have. In the Voice field of ListVoicesResponse, this may mean that the voice doesn't fit any of the other categories in this enum, or that the gender of the voice isn't known.",
            "A male voice.",
            "A female voice.",
            "A gender-neutral voice. This voice is not yet supported."
          ],
          "type": "string"
        }
      },
      "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 [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. \"en-US\". This should not include a script tag (e.g. use \"cmn-cn\" rather than \"cmn-Hant-cn\"), because the script will be inferred from the input provided in the SynthesisInput. The TTS service will use this parameter to help choose an appropriate voice. Note that the TTS service may choose a voice with a slightly different language code than the one selected; it may substitute a different region (e.g. using en-US rather than en-CA if there isn't a Canadian voice available), or even a different language, e.g. using \"nb\" (Norwegian Bokmal) instead of \"no\" (Norwegian)\".",
          "type": "string"
        },
        "name": {
          "description": "The name of the voice. If not set, the service will choose a voice 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 choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement; if a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request.",
          "enum": [
            "SSML_VOICE_GENDER_UNSPECIFIED",
            "MALE",
            "FEMALE",
            "NEUTRAL"
          ],
          "enumDescriptions": [
            "An unspecified gender. In VoiceSelectionParams, this means that the client doesn't care which gender the selected voice will have. In the Voice field of ListVoicesResponse, this may mean that the voice doesn't fit any of the other categories in this enum, or that the gender of the voice isn't known.",
            "A male voice.",
            "A female voice.",
            "A gender-neutral voice. This voice is not yet supported."
          ],
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Cloud Text-to-Speech API",
  "version": "v1",
  "version_module": true
}