{
  "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:v1beta1",
  "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\nhas been processed.",
          "flatPath": "v1beta1/text:synthesize",
          "httpMethod": "POST",
          "id": "texttospeech.text.synthesize",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1beta1/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": "v1beta1/voices",
          "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": "v1beta1/voices",
          "response": {
            "$ref": "ListVoicesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    }
  },
  "revision": "20200605",
  "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).\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"
        },
        "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"
        },
        "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"
        },
        "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"
        },
        "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 \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\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"
        }
      },
      "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\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](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\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"
    },
    "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"
        },
        "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.\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"
    },
    "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"
    }
  },
  "servicePath": "",
  "title": "Cloud Text-to-Speech API",
  "version": "v1beta1",
  "version_module": true
}