{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://speech.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Speech",
  "description": "Converts audio to text by applying powerful neural network models.",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/speech-to-text/docs/quickstart-protocol",
  "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": "speech:v1p1beta1",
  "kind": "discovery#restDescription",
  "name": "speech",
  "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": {
    "operations": {
      "methods": {
        "get": {
          "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
          "flatPath": "v1p1beta1/operations/{operationsId}",
          "httpMethod": "GET",
          "id": "speech.operations.get",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The name of the operation resource.",
              "location": "path",
              "pattern": "^.+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1p1beta1/operations/{+name}",
          "response": {
            "$ref": "Operation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
          "flatPath": "v1p1beta1/operations",
          "httpMethod": "GET",
          "id": "speech.operations.list",
          "parameterOrder": [],
          "parameters": {
            "filter": {
              "description": "The standard list filter.",
              "location": "query",
              "type": "string"
            },
            "name": {
              "description": "The name of the operation's parent resource.",
              "location": "query",
              "type": "string"
            },
            "pageSize": {
              "description": "The standard list page size.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "The standard list page token.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1p1beta1/operations",
          "response": {
            "$ref": "ListOperationsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "speech": {
      "methods": {
        "longrunningrecognize": {
          "description": "Performs asynchronous speech recognition: receive results via the\ngoogle.longrunning.Operations interface. Returns either an\n`Operation.error` or an `Operation.response` which contains\na `LongRunningRecognizeResponse` message.",
          "flatPath": "v1p1beta1/speech:longrunningrecognize",
          "httpMethod": "POST",
          "id": "speech.speech.longrunningrecognize",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1p1beta1/speech:longrunningrecognize",
          "request": {
            "$ref": "LongRunningRecognizeRequest"
          },
          "response": {
            "$ref": "Operation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "recognize": {
          "description": "Performs synchronous speech recognition: receive results after all audio\nhas been sent and processed.",
          "flatPath": "v1p1beta1/speech:recognize",
          "httpMethod": "POST",
          "id": "speech.speech.recognize",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1p1beta1/speech:recognize",
          "request": {
            "$ref": "RecognizeRequest"
          },
          "response": {
            "$ref": "RecognizeResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    }
  },
  "revision": "20181214",
  "rootUrl": "https://speech.googleapis.com/",
  "schemas": {
    "ListOperationsResponse": {
      "description": "The response message for Operations.ListOperations.",
      "id": "ListOperationsResponse",
      "properties": {
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        },
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "Operation"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LongRunningRecognizeMetadata": {
      "description": "Describes the progress of a long-running `LongRunningRecognize` call. It is\nincluded in the `metadata` field of the `Operation` returned by the\n`GetOperation` call of the `google::longrunning::Operations` service.",
      "id": "LongRunningRecognizeMetadata",
      "properties": {
        "lastUpdateTime": {
          "description": "Time of the most recent processing update.",
          "format": "google-datetime",
          "type": "string"
        },
        "progressPercent": {
          "description": "Approximate percentage of audio processed thus far. Guaranteed to be 100\nwhen the audio is fully processed and the results are available.",
          "format": "int32",
          "type": "integer"
        },
        "startTime": {
          "description": "Time when the request was received.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LongRunningRecognizeRequest": {
      "description": "The top-level message sent by the client for the `LongRunningRecognize`\nmethod.",
      "id": "LongRunningRecognizeRequest",
      "properties": {
        "audio": {
          "$ref": "RecognitionAudio",
          "description": "*Required* The audio data to be recognized."
        },
        "config": {
          "$ref": "RecognitionConfig",
          "description": "*Required* Provides information to the recognizer that specifies how to\nprocess the request."
        }
      },
      "type": "object"
    },
    "LongRunningRecognizeResponse": {
      "description": "The only message returned to the client by the `LongRunningRecognize` method.\nIt contains the result as zero or more sequential `SpeechRecognitionResult`\nmessages. It is included in the `result.response` field of the `Operation`\nreturned by the `GetOperation` call of the `google::longrunning::Operations`\nservice.",
      "id": "LongRunningRecognizeResponse",
      "properties": {
        "results": {
          "description": "Output only. Sequential list of transcription results corresponding to\nsequential portions of audio.",
          "items": {
            "$ref": "SpeechRecognitionResult"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
      "id": "Operation",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
          "type": "boolean"
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
          "type": "object"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.",
          "type": "string"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "RecognitionAudio": {
      "description": "Contains audio data in the encoding specified in the `RecognitionConfig`.\nEither `content` or `uri` must be supplied. Supplying both or neither\nreturns google.rpc.Code.INVALID_ARGUMENT. See\n[content limits](/speech-to-text/quotas#content).",
      "id": "RecognitionAudio",
      "properties": {
        "content": {
          "description": "The audio data bytes encoded as specified in\n`RecognitionConfig`. Note: as with all bytes fields, protobuffers use a\npure binary representation, whereas JSON representations use base64.",
          "format": "byte",
          "type": "string"
        },
        "uri": {
          "description": "URI that points to a file that contains audio data bytes as specified in\n`RecognitionConfig`. The file must not be compressed (for example, gzip).\nCurrently, only Google Cloud Storage URIs are\nsupported, which must be specified in the following format:\n`gs://bucket_name/object_name` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/reference-uris).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RecognitionConfig": {
      "description": "Provides information to the recognizer that specifies how to process the\nrequest.",
      "id": "RecognitionConfig",
      "properties": {
        "alternativeLanguageCodes": {
          "description": "*Optional* A list of up to 3 additional\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags,\nlisting possible alternative languages of the supplied audio.\nSee [Language Support](/speech-to-text/docs/languages)\nfor a list of the currently supported language codes.\nIf alternative languages are listed, recognition result will contain\nrecognition in the most likely language detected including the main\nlanguage_code. The recognition result will include the language tag\nof the language detected in the audio.\nNote: This feature is only supported for Voice Command and Voice Search\nuse cases and performance may vary for other use cases (e.g., phone call\ntranscription).",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "audioChannelCount": {
          "description": "*Optional* The number of channels in the input audio data.\nONLY set this for MULTI-CHANNEL recognition.\nValid values for LINEAR16 and FLAC are `1`-`8`.\nValid values for OGG_OPUS are '1'-'254'.\nValid value for MULAW, AMR, AMR_WB and SPEEX_WITH_HEADER_BYTE is only `1`.\nIf `0` or omitted, defaults to one channel (mono).\nNote: We only recognize the first channel by default.\nTo perform independent recognition on each channel set\n`enable_separate_recognition_per_channel` to 'true'.",
          "format": "int32",
          "type": "integer"
        },
        "diarizationConfig": {
          "$ref": "SpeakerDiarizationConfig",
          "description": "*Optional* Config to enable speaker diarization and set additional\nparameters to make diarization better suited for your application.\nNote: When this is enabled, we send all the words from the beginning of the\naudio for the top alternative in every consecutive STREAMING responses.\nThis is done in order to improve our speaker tags as our models learn to\nidentify the speakers in the conversation over time.\nFor non-streaming requests, the diarization results will be provided only\nin the top alternative of the FINAL SpeechRecognitionResult."
        },
        "diarizationSpeakerCount": {
          "description": "*Optional*\nIf set, specifies the estimated number of speakers in the conversation.\nIf not set, defaults to '2'.\nIgnored unless enable_speaker_diarization is set to true.\"\nNote: Use diarization_config instead. This field will be DEPRECATED soon.",
          "format": "int32",
          "type": "integer"
        },
        "enableAutomaticPunctuation": {
          "description": "*Optional* If 'true', adds punctuation to recognition result hypotheses.\nThis feature is only available in select languages. Setting this for\nrequests in other languages has no effect at all.\nThe default 'false' value does not add punctuation to result hypotheses.\nNote: This is currently offered as an experimental service, complimentary\nto all users. In the future this may be exclusively available as a\npremium feature.",
          "type": "boolean"
        },
        "enableSeparateRecognitionPerChannel": {
          "description": "This needs to be set to ‘true’ explicitly and `audio_channel_count` \u003e 1\nto get each channel recognized separately. The recognition result will\ncontain a `channel_tag` field to state which channel that result belongs\nto. If this is not true, we will only recognize the first channel. The\nrequest is billed cumulatively for all channels recognized:\n`audio_channel_count` multiplied by the length of the audio.",
          "type": "boolean"
        },
        "enableSpeakerDiarization": {
          "description": "*Optional* If 'true', enables speaker detection for each recognized word in\nthe top alternative of the recognition result using a speaker_tag provided\nin the WordInfo.\nNote: Use diarization_config instead. This field will be DEPRECATED soon.",
          "type": "boolean"
        },
        "enableWordConfidence": {
          "description": "*Optional* If `true`, the top result includes a list of words and the\nconfidence for those words. If `false`, no word-level confidence\ninformation is returned. The default is `false`.",
          "type": "boolean"
        },
        "enableWordTimeOffsets": {
          "description": "*Optional* If `true`, the top result includes a list of words and\nthe start and end time offsets (timestamps) for those words. If\n`false`, no word-level time offset information is returned. The default is\n`false`.",
          "type": "boolean"
        },
        "encoding": {
          "description": "Encoding of audio data sent in all `RecognitionAudio` messages.\nThis field is optional for `FLAC` and `WAV` audio files and required\nfor all other audio formats. For details, see AudioEncoding.",
          "enum": [
            "ENCODING_UNSPECIFIED",
            "LINEAR16",
            "FLAC",
            "MULAW",
            "AMR",
            "AMR_WB",
            "OGG_OPUS",
            "SPEEX_WITH_HEADER_BYTE"
          ],
          "enumDescriptions": [
            "Not specified.",
            "Uncompressed 16-bit signed little-endian samples (Linear PCM).",
            "`FLAC` (Free Lossless Audio\nCodec) is the recommended encoding because it is\nlossless--therefore recognition is not compromised--and\nrequires only about half the bandwidth of `LINEAR16`. `FLAC` stream\nencoding supports 16-bit and 24-bit samples, however, not all fields in\n`STREAMINFO` are supported.",
            "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.",
            "Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.",
            "Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.",
            "Opus encoded audio frames in Ogg container\n([OggOpus](https://wiki.xiph.org/OggOpus)).\n`sample_rate_hertz` must be one of 8000, 12000, 16000, 24000, or 48000.",
            "Although the use of lossy encodings is not recommended, if a very low\nbitrate encoding is required, `OGG_OPUS` is highly preferred over\nSpeex encoding. The [Speex](https://speex.org/)  encoding supported by\nCloud Speech API has a header byte in each block, as in MIME type\n`audio/x-speex-with-header-byte`.\nIt is a variant of the RTP Speex encoding defined in\n[RFC 5574](https://tools.ietf.org/html/rfc5574).\nThe stream is a sequence of blocks, one block per RTP packet. Each block\nstarts with a byte containing the length of the block, in bytes, followed\nby one or more frames of Speex data, padded to an integral number of\nbytes (octets) as specified in RFC 5574. In other words, each RTP header\nis replaced with a single byte containing the block length. Only Speex\nwideband is supported. `sample_rate_hertz` must be 16000."
          ],
          "type": "string"
        },
        "languageCode": {
          "description": "*Required* The language of the supplied audio as a\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.\nExample: \"en-US\".\nSee [Language Support](/speech-to-text/docs/languages)\nfor a list of the currently supported language codes.",
          "type": "string"
        },
        "maxAlternatives": {
          "description": "*Optional* Maximum number of recognition hypotheses to be returned.\nSpecifically, the maximum number of `SpeechRecognitionAlternative` messages\nwithin each `SpeechRecognitionResult`.\nThe server may return fewer than `max_alternatives`.\nValid values are `0`-`30`. A value of `0` or `1` will return a maximum of\none. If omitted, will return a maximum of one.",
          "format": "int32",
          "type": "integer"
        },
        "metadata": {
          "$ref": "RecognitionMetadata",
          "description": "*Optional* Metadata regarding this request."
        },
        "model": {
          "description": "*Optional* Which model to select for the given request. Select the model\nbest suited to your domain to get best results. If a model is not\nexplicitly specified, then we auto-select a model based on the parameters\nin the RecognitionConfig.\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cb\u003eModel\u003c/b\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cb\u003eDescription\u003c/b\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003ecommand_and_search\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eBest for short queries such as voice commands or voice search.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003ephone_call\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eBest for audio that originated from a phone call (typically\n    recorded at an 8khz sampling rate).\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003evideo\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eBest for audio that originated from from video or includes multiple\n        speakers. Ideally the audio is recorded at a 16khz or greater\n        sampling rate. This is a premium model that costs more than the\n        standard rate.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003edefault\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eBest for audio that is not one of the specific audio models.\n        For example, long-form audio. Ideally the audio is high-fidelity,\n        recorded at a 16khz or greater sampling rate.\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e",
          "type": "string"
        },
        "profanityFilter": {
          "description": "*Optional* If set to `true`, the server will attempt to filter out\nprofanities, replacing all but the initial character in each filtered word\nwith asterisks, e.g. \"f***\". If set to `false` or omitted, profanities\nwon't be filtered out.",
          "type": "boolean"
        },
        "sampleRateHertz": {
          "description": "Sample rate in Hertz of the audio data sent in all\n`RecognitionAudio` messages. Valid values are: 8000-48000.\n16000 is optimal. For best results, set the sampling rate of the audio\nsource to 16000 Hz. If that's not possible, use the native sample rate of\nthe audio source (instead of re-sampling).\nThis field is optional for `FLAC` and `WAV` audio files and required\nfor all other audio formats. For details, see AudioEncoding.",
          "format": "int32",
          "type": "integer"
        },
        "speechContexts": {
          "description": "*Optional* array of SpeechContext.\nA means to provide context to assist the speech recognition. For more\ninformation, see [Phrase Hints](/speech-to-text/docs/basics#phrase-hints).",
          "items": {
            "$ref": "SpeechContext"
          },
          "type": "array"
        },
        "useEnhanced": {
          "description": "*Optional* Set to true to use an enhanced model for speech recognition.\nIf `use_enhanced` is set to true and the `model` field is not set, then\nan appropriate enhanced model is chosen if:\n1. project is eligible for requesting enhanced models\n2. an enhanced model exists for the audio\n\nIf `use_enhanced` is true and an enhanced version of the specified model\ndoes not exist, then the speech is recognized using the standard version\nof the specified model.\n\nEnhanced speech models require that you opt-in to data logging using\ninstructions in the\n[documentation](/speech-to-text/docs/enable-data-logging). If you set\n`use_enhanced` to true and you have not enabled audio logging, then you\nwill receive an error.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "RecognitionMetadata": {
      "description": "Description of audio data to be recognized.",
      "id": "RecognitionMetadata",
      "properties": {
        "audioTopic": {
          "description": "Description of the content. Eg. \"Recordings of federal supreme court\nhearings from 2012\".",
          "type": "string"
        },
        "industryNaicsCodeOfAudio": {
          "description": "The industry vertical to which this speech recognition request most\nclosely applies. This is most indicative of the topics contained\nin the audio.  Use the 6-digit NAICS code to identify the industry\nvertical - see https://www.naics.com/search/.",
          "format": "uint32",
          "type": "integer"
        },
        "interactionType": {
          "description": "The use case most closely describing the audio content to be recognized.",
          "enum": [
            "INTERACTION_TYPE_UNSPECIFIED",
            "DISCUSSION",
            "PRESENTATION",
            "PHONE_CALL",
            "VOICEMAIL",
            "PROFESSIONALLY_PRODUCED",
            "VOICE_SEARCH",
            "VOICE_COMMAND",
            "DICTATION"
          ],
          "enumDescriptions": [
            "Use case is either unknown or is something other than one of the other\nvalues below.",
            "Multiple people in a conversation or discussion. For example in a\nmeeting with two or more people actively participating. Typically\nall the primary people speaking would be in the same room (if not,\nsee PHONE_CALL)",
            "One or more persons lecturing or presenting to others, mostly\nuninterrupted.",
            "A phone-call or video-conference in which two or more people, who are\nnot in the same room, are actively participating.",
            "A recorded message intended for another person to listen to.",
            "Professionally produced audio (eg. TV Show, Podcast).",
            "Transcribe spoken questions and queries into text.",
            "Transcribe voice commands, such as for controlling a device.",
            "Transcribe speech to text to create a written document, such as a\ntext-message, email or report."
          ],
          "type": "string"
        },
        "microphoneDistance": {
          "description": "The audio type that most closely describes the audio being recognized.",
          "enum": [
            "MICROPHONE_DISTANCE_UNSPECIFIED",
            "NEARFIELD",
            "MIDFIELD",
            "FARFIELD"
          ],
          "enumDescriptions": [
            "Audio type is not known.",
            "The audio was captured from a closely placed microphone. Eg. phone,\ndictaphone, or handheld microphone. Generally if there speaker is within\n1 meter of the microphone.",
            "The speaker if within 3 meters of the microphone.",
            "The speaker is more than 3 meters away from the microphone."
          ],
          "type": "string"
        },
        "obfuscatedId": {
          "description": "Obfuscated (privacy-protected) ID of the user, to identify number of\nunique users using the service.",
          "format": "int64",
          "type": "string"
        },
        "originalMediaType": {
          "description": "The original media the speech was recorded on.",
          "enum": [
            "ORIGINAL_MEDIA_TYPE_UNSPECIFIED",
            "AUDIO",
            "VIDEO"
          ],
          "enumDescriptions": [
            "Unknown original media type.",
            "The speech data is an audio recording.",
            "The speech data originally recorded on a video."
          ],
          "type": "string"
        },
        "originalMimeType": {
          "description": "Mime type of the original audio file.  For example `audio/m4a`,\n`audio/x-alaw-basic`, `audio/mp3`, `audio/3gpp`.\nA list of possible audio mime types is maintained at\nhttp://www.iana.org/assignments/media-types/media-types.xhtml#audio",
          "type": "string"
        },
        "recordingDeviceName": {
          "description": "The device used to make the recording.  Examples 'Nexus 5X' or\n'Polycom SoundStation IP 6000' or 'POTS' or 'VoIP' or\n'Cardioid Microphone'.",
          "type": "string"
        },
        "recordingDeviceType": {
          "description": "The type of device the speech was recorded with.",
          "enum": [
            "RECORDING_DEVICE_TYPE_UNSPECIFIED",
            "SMARTPHONE",
            "PC",
            "PHONE_LINE",
            "VEHICLE",
            "OTHER_OUTDOOR_DEVICE",
            "OTHER_INDOOR_DEVICE"
          ],
          "enumDescriptions": [
            "The recording device is unknown.",
            "Speech was recorded on a smartphone.",
            "Speech was recorded using a personal computer or tablet.",
            "Speech was recorded over a phone line.",
            "Speech was recorded in a vehicle.",
            "Speech was recorded outdoors.",
            "Speech was recorded indoors."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "RecognizeRequest": {
      "description": "The top-level message sent by the client for the `Recognize` method.",
      "id": "RecognizeRequest",
      "properties": {
        "audio": {
          "$ref": "RecognitionAudio",
          "description": "*Required* The audio data to be recognized."
        },
        "config": {
          "$ref": "RecognitionConfig",
          "description": "*Required* Provides information to the recognizer that specifies how to\nprocess the request."
        }
      },
      "type": "object"
    },
    "RecognizeResponse": {
      "description": "The only message returned to the client by the `Recognize` method. It\ncontains the result as zero or more sequential `SpeechRecognitionResult`\nmessages.",
      "id": "RecognizeResponse",
      "properties": {
        "results": {
          "description": "Output only. Sequential list of transcription results corresponding to\nsequential portions of audio.",
          "items": {
            "$ref": "SpeechRecognitionResult"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SpeakerDiarizationConfig": {
      "id": "SpeakerDiarizationConfig",
      "properties": {
        "enableSpeakerDiarization": {
          "description": "*Optional* If 'true', enables speaker detection for each recognized word in\nthe top alternative of the recognition result using a speaker_tag provided\nin the WordInfo.",
          "type": "boolean"
        },
        "maxSpeakerCount": {
          "description": "*Optional* Only used if diarization_speaker_count is not set.\nMaximum number of speakers in the conversation. This range gives you more\nflexibility by allowing the system to automatically determine the correct\nnumber of speakers. If not set, the default value is 6.",
          "format": "int32",
          "type": "integer"
        },
        "minSpeakerCount": {
          "description": "*Optional* Only used if diarization_speaker_count is not set.\nMinimum number of speakers in the conversation. This range gives you more\nflexibility by allowing the system to automatically determine the correct\nnumber of speakers. If not set, the default value is 2.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "SpeechContext": {
      "description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases\nin the results.",
      "id": "SpeechContext",
      "properties": {
        "phrases": {
          "description": "*Optional* A list of strings containing words and phrases \"hints\" so that\nthe speech recognition is more likely to recognize them. This can be used\nto improve the accuracy for specific words and phrases, for example, if\nspecific commands are typically spoken by the user. This can also be used\nto add additional words to the vocabulary of the recognizer. See\n[usage limits](/speech-to-text/quotas#content).",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SpeechRecognitionAlternative": {
      "description": "Alternative hypotheses (a.k.a. n-best list).",
      "id": "SpeechRecognitionAlternative",
      "properties": {
        "confidence": {
          "description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number\nindicates an estimated greater likelihood that the recognized words are\ncorrect. This field is set only for the top alternative of a non-streaming\nresult or, of a streaming result where `is_final=true`.\nThis field is not guaranteed to be accurate and users should not rely on it\nto be always provided.\nThe default of 0.0 is a sentinel value indicating `confidence` was not set.",
          "format": "float",
          "type": "number"
        },
        "transcript": {
          "description": "Output only. Transcript text representing the words that the user spoke.",
          "type": "string"
        },
        "words": {
          "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.",
          "items": {
            "$ref": "WordInfo"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SpeechRecognitionResult": {
      "description": "A speech recognition result corresponding to a portion of the audio.",
      "id": "SpeechRecognitionResult",
      "properties": {
        "alternatives": {
          "description": "Output only. May contain one or more recognition hypotheses (up to the\nmaximum specified in `max_alternatives`).\nThese alternatives are ordered in terms of accuracy, with the top (first)\nalternative being the most probable, as ranked by the recognizer.",
          "items": {
            "$ref": "SpeechRecognitionAlternative"
          },
          "type": "array"
        },
        "channelTag": {
          "description": "For multi-channel audio, this is the channel number corresponding to the\nrecognized result for the audio from that channel.\nFor audio_channel_count = N, its output values can range from '1' to 'N'.",
          "format": "int32",
          "type": "integer"
        },
        "languageCode": {
          "description": "Output only. The\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the\nlanguage in this result. This language code was detected to have the most\nlikelihood of being spoken in the audio.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed.  The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n    it may embed the `Status` in the normal response to indicate the partial\n    errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n    have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n    `Status` message should be used directly inside batch response, one for\n    each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n    results in its response, the status of those operations should be\n    represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n    be used directly after any stripping needed for security/privacy reasons.",
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "WordInfo": {
      "description": "Word-specific information for recognized words.",
      "id": "WordInfo",
      "properties": {
        "confidence": {
          "description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number\nindicates an estimated greater likelihood that the recognized words are\ncorrect. This field is set only for the top alternative of a non-streaming\nresult or, of a streaming result where `is_final=true`.\nThis field is not guaranteed to be accurate and users should not rely on it\nto be always provided.\nThe default of 0.0 is a sentinel value indicating `confidence` was not set.",
          "format": "float",
          "type": "number"
        },
        "endTime": {
          "description": "Output only. Time offset relative to the beginning of the audio,\nand corresponding to the end of the spoken word.\nThis field is only set if `enable_word_time_offsets=true` and only\nin the top hypothesis.\nThis is an experimental feature and the accuracy of the time offset can\nvary.",
          "format": "google-duration",
          "type": "string"
        },
        "speakerTag": {
          "description": "Output only. A distinct integer value is assigned for every speaker within\nthe audio. This field specifies which one of those speakers was detected to\nhave spoken this word. Value ranges from '1' to diarization_speaker_count.\nspeaker_tag is set if enable_speaker_diarization = 'true' and only in the\ntop alternative.",
          "format": "int32",
          "type": "integer"
        },
        "startTime": {
          "description": "Output only. Time offset relative to the beginning of the audio,\nand corresponding to the start of the spoken word.\nThis field is only set if `enable_word_time_offsets=true` and only\nin the top hypothesis.\nThis is an experimental feature and the accuracy of the time offset can\nvary.",
          "format": "google-duration",
          "type": "string"
        },
        "word": {
          "description": "Output only. The word corresponding to this set of information.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Cloud Speech API",
  "version": "v1p1beta1",
  "version_module": true
}