Speech-to-text service
rpc TranscribeFile (TranscribeFileRequest) returns (TranscribeFileResponse)
Transcribes an audio file
rpc TranscribeStream (stream TranscribeStreamRequest) returns (stream TranscribeStreamResponse)
Transcribes an audio stream.
rpc GetS2tPipeline (S2tPipelineId) returns (Speech2TextConfig)
Gets a speech to text pipeline corresponding to the id specified in S2tPipelineId. If no corresponding id is
found, raises ModuleNotFoundError in server.
rpc CreateS2tPipeline (Speech2TextConfig) returns (S2tPipelineId)
Creates a new speech to text pipeline from a Speech2TextConfig and registers the new pipeline in the server.
rpc DeleteS2tPipeline (S2tPipelineId) returns (.google.protobuf.Empty)
Deletes a pipeline corresponding to the id parsed in S2tPipelineId. If no corresponding id is
found, raises ModuleNotFoundError in server.
rpc UpdateS2tPipeline (Speech2TextConfig) returns (.google.protobuf.Empty)
Updates a pipeline with the id specified in Speech2TextConfig with the new config. If no corresponding id is
found, raises ModuleNotFoundError in server.
rpc ListS2tPipelines (ListS2tPipelinesRequest) returns (ListS2tPipelinesResponse)
Lists all speech to text pipelines.
rpc ListS2tLanguages (ListS2tLanguagesRequest) returns (ListS2tLanguagesResponse)
Returns a message containing a list of all languages for which there exist pipelines.
rpc ListS2tDomains (ListS2tDomainsRequest) returns (ListS2tDomainsResponse)
Returns a message containing a list of all domains for which there exist pipelines.
rpc GetServiceInfo (.google.protobuf.Empty) returns (S2tGetServiceInfoResponse)
Returns a message containing the version of the running speech to text server.
rpc ListS2tLanguageModels (ListS2tLanguageModelsRequest) returns (ListS2tLanguageModelsResponse)
Given a list of pipeline ids, returns a list of LanguageModelPipelineId messages containing the pipeline
id and a list of the language models loaded in the pipeline.
rpc CreateUserLanguageModel (CreateUserLanguageModelRequest) returns (.google.protobuf.Empty)
Create a user language model.
rpc DeleteUserLanguageModel (DeleteUserLanguageModelRequest) returns (.google.protobuf.Empty)
Delete a user language model.
rpc AddDataToUserLanguageModel (AddDataToUserLanguageModelRequest) returns (.google.protobuf.Empty)
Add data to a user language model.
rpc TrainUserLanguageModel (TrainUserLanguageModelRequest) returns (.google.protobuf.Empty)
Train a user language model.
rpc ListS2tNormalizationPipelines (ListS2tNormalizationPipelinesRequest) returns (ListS2tNormalizationPipelinesResponse)
Retrieves a list of normalization pipelines based on specific requirements.
AcousticModels contains information about different types of acoustic models.
| Field | Type | Label | Description |
| type | string | Type of the acoustic model. |
|
| wav2vec | Wav2Vec | Configuration for the Wav2Vec model. |
|
| wav2vec_triton | Wav2VecTriton | Configuration for the Wav2Vec model using Triton. |
|
| whisper | Whisper | Configuration for the Whisper model. |
|
| whisper_triton | WhisperTriton | Configuration for the Whisper model using Triton. |
|
| s2t_cloud_service_amazon | S2tCloudServiceAmazon | Amazon web service cloud service inference settings. |
|
| s2t_cloud_service_deepgram | S2tCloudServiceDeepgram | Deepgram cloud service inference settings. |
|
| s2t_cloud_service_google | S2tCloudServiceGoogle | Google cloud service inference settings. |
|
| s2t_cloud_service_microsoft | S2tCloudServiceMicrosoft | Microsoft Azure cloud service inference settings. |
|
| parakeet | Parakeet | Configuration for the Parakeet model. |
AddDataToUserLanguageModelRequest is used to request the addition of data to a user-specific language model.
| Field | Type | Label | Description |
| language_model_name | string | Name of the language model to which to add data. Example: "user_lm_1" |
|
| zipped_data | bytes | Zip file containing data in the form of text files. Example: A zip file with text files containing sentences or phrases in the target language. |
CkptFile contains information about checkpoint files.
| Field | Type | Label | Description |
| path | string | Path to the checkpoint file. |
CreateUserLanguageModelRequest is used to request the creation of a new user-specific language model.
| Field | Type | Label | Description |
| language_model_name | string | Name of the language model to create. Example: "user_lm_1" |
DeleteUserLanguageModelRequest is used to request the deletion of a user-specific language model.
| Field | Type | Label | Description |
| language_model_name | string | Name of the language model to delete. Example: "user_lm_1" |
LanguageModelPipelineId contains information about a pipeline and its available language models.
| Field | Type | Label | Description |
| pipeline_id | string | A pipeline ID. Example: "pipeline_1" |
|
| model_names | string | repeated | A list of all available language models for the corresponding pipeline ID. Example: ["model_1", "model_2"] |
LanguageModels contains information about language models.
| Field | Type | Label | Description |
| path | string | Path to the directory of language models. |
|
| beam_size | int64 | Beam size for the search algorithm. |
|
| default_lm | string | Default language model to be selected if none is given. |
|
| beam_search_scorer_alpha | float | Weight for the language model scorer (alpha). |
|
| beam_search_scorer_beta | float | Weight for the word insertion penalty (beta). |
Request message to list available domains. Optionally also filters can be set.
| Field | Type | Label | Description |
| languages | string | repeated | Filter for languages |
| pipeline_owners | string | repeated | Filter for pipeline owner |
Response message to list available domains
| Field | Type | Label | Description |
| domains | string | repeated | domains available. Example: ["medical", "finance"] |
ListS2tLanguageModelsRequest is used to request a list of available language models for specified pipelines.
| Field | Type | Label | Description |
| ids | string | repeated | List of pipeline IDs to retrieve their available language models. Example: ["pipeline_1", "pipeline_2"] |
ListS2tLanguageModelsResponse is used to return the available language models for specified pipelines.
| Field | Type | Label | Description |
| lm_pipeline_ids | LanguageModelPipelineId | repeated | Response is a list of |
ListS2tLanguagesRequest is used to request a list of available languages. Optionally, filters can be set.
| Field | Type | Label | Description |
| domains | string | repeated | Filter for domains. Example: ["medical", "finance"] |
| pipeline_owners | string | repeated | Filter for pipeline owners. Example: ["ondewo", "partner_company"] |
Response message to list available languages
| Field | Type | Label | Description |
| languages | string | repeated | available languages |
The request message for ListS2tNormalizationPipelines.
Filter pipelines by attributes in request.
| Field | Type | Label | Description |
| language | string | Optional. Define the language. |
The response message for ListS2tNormalizationPipelines.
| Field | Type | Label | Description |
| s2t_normalization_pipelines | string | repeated | Required. Representation of a list of normalization pipelines configurations.
Retrieved by |
Request to list all speech-to-text pipelines. Optionally also filter criteria can be set
| Field | Type | Label | Description |
| languages | string | repeated | Filter for languages |
| pipeline_owners | string | repeated | Filter for pipeline owners |
| domains | string | repeated | Filter for domains |
| registered_only | bool | If true, return only registered pipelines. Default false: return registered and persisted (from config files) configs. |
ListS2tPipelinesResponse is used to return a list of all speech-to-text pipelines.
| Field | Type | Label | Description |
| pipeline_configs | Speech2TextConfig | repeated | A list of |
Logging contains configuration for logging.
| Field | Type | Label | Description |
| type | string | Type of logging. |
|
| path | string | Path for logging. |
Configuration options for OpenAI client chat completion requests used in turn detection and LLM post-processing.
| Field | Type | Label | Description |
| api_key | string | optional | Optional. The API key used to authenticate with the OpenAI API. |
| organization | string | optional | Optional. The organization ID associated with the OpenAI account, used for billing and access control. |
| project | string | optional | Optional. The project ID associated with the OpenAI account. |
| webhook_secret | string | optional | Optional. The webhook secret used to validate incoming webhook events from OpenAI. |
| base_url | string | optional | Optional. The base URL for the OpenAI API. Overrides the default endpoint, useful for proxies or compatible third-party providers. |
| websocket_base_url | string | optional | Optional. The base URL for OpenAI WebSocket connections. Overrides the default WebSocket endpoint. |
| timeout | float | optional | Optional. The timeout in seconds for requests to the OpenAI API. Applies to the entire request lifecycle including connection, sending, and receiving. |
| max_retries | int32 | optional | Optional. The maximum number of retries to attempt when a request fails due to a transient error. Defaults to 2. |
| default_headers | OpenaiLlmOptions.DefaultHeadersEntry | repeated | Optional. Default HTTP headers to include with every request to the OpenAI API. |
| default_query | google.protobuf.Struct | optional | Optional. Default query parameters to append to every request URL sent to the OpenAI API. Values can be of any type (string, number, boolean, list), hence the use of Struct. |
| strict_response_validation | bool | optional | Optional. If true, enables strict validation of response payloads returned by the OpenAI API. |
| model | string | Required. The name or identifier of the OpenAI model to use for chat completion (e.g., "gpt-4o", "gpt-4o-mini", "o3"). |
|
| frequency_penalty | float | optional | Optional. A number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the likelihood of the model repeating the same line verbatim. |
| logit_bias | OpenaiLlmOptions.LogitBiasEntry | repeated | Optional. Modifies the likelihood of specified tokens appearing in the completion. Maps token IDs (as strings) to bias values from -100 to 100. Mathematically added to the logits before sampling. |
| logprobs | bool | optional | Optional. Whether to return log probabilities of the output tokens. If true, returns the log probabilities of each output token in the response. |
| max_completion_tokens | int32 | optional | Optional. An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens. |
| max_tokens | int32 | optional | Optional. The maximum number of tokens that can be generated in the chat completion. Deprecated in favor of max_completion_tokens. |
| metadata | google.protobuf.Struct | optional | Optional. Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard. |
| n | int32 | optional | Optional. The number of chat completion choices to generate for each input message. Note that costs are multiplied by the number of choices generated. |
| presence_penalty | float | optional | Optional. A number between -2.0 and 2.0. Positive values penalize new tokens based on whether they have already appeared in the text, increasing the likelihood of the model discussing new topics. |
| prompt_cache_key | string | optional | Optional. Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). |
| reasoning_effort | ReasoningEffort | optional | Optional. Constrains effort on reasoning for [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. |
| seed | int64 | optional | Optional. If specified, the system will make a best effort to sample deterministically given the same seed and parameters, enabling reproducible outputs. |
| service_tier | ServiceTier | optional | Optional. Specifies the processing type used for serving the request. - If set to 'auto', then the request will be processed with the service tier configured in the Project settings. Unless otherwise configured, the Project will use 'default'. - If set to 'default', then the request will be processed with the standard pricing and performance for the selected model. - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or '[priority](https://openai.com/api-priority-processing/)', then the request will be processed with the corresponding service tier. - When not set, the default behavior is 'auto'. When the `service_tier` parameter is set, the response body will include the `service_tier` value based on the processing mode actually used to serve the request. This response value may be different from the value set in the parameter. |
| stop | string | repeated | Optional. Not supported with latest reasoning models `o3` and `o4-mini`. Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence. |
| store | bool | optional | Optional. Whether to store the output of this chat completion request for use in model distillation, evals, or the stored completions dashboard. |
| temperature | float | optional | Optional. What sampling temperature to use, between 0 and 2. Higher values (e.g., 0.8) make the output more random, while lower values (e.g., 0.2) make it more focused and deterministic. |
| top_logprobs | int32 | optional | Optional. An integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability. Requires logprobs to be true. |
| top_p | float | optional | Optional. An alternative to sampling with temperature, called nucleus sampling. The model considers only the tokens with top_p probability mass. Ranges from 0 to 1. |
| user | string | optional | Optional. This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use `prompt_cache_key` instead to maintain caching optimizations. A stable identifier for your end-users. Used to boost cache hit rates by better bucketing similar requests and to help OpenAI detect and prevent abuse. [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers). |
| verbosity | Verbosity | optional | Optional. Constrains the verbosity of the model's response. Lower values will result in more concise responses, while higher values will result in more verbose responses. Currently supported values are `low`, `medium`, and `high`. |
| extra_headers | google.protobuf.Struct | optional | Optional. Additional HTTP headers to send with the request. These are merged with and override default_headers for this specific request only. |
| extra_query | google.protobuf.Struct | optional | Optional. Additional query parameters to send with the request. These are merged with and override default_query for this specific request only. |
| extra_body | google.protobuf.Struct | optional | Optional. Additional JSON properties to include in the request body. Useful for accessing new or undocumented API parameters. |
| Field | Type | Label | Description |
| key | string |
|
|
| value | string |
|
| Field | Type | Label | Description |
| key | string |
|
|
| value | int32 |
|
Parakeet contains information about the Parakeet model.
| Field | Type | Label | Description |
| triton_model_name | string | Name of the Triton model. |
|
| triton_model_version | string | Version of the Triton model. |
|
| check_status_timeout | int64 | Timeout for checking model status. |
|
| triton_server_host | string | Host name of triton inference server that serves the Parakeet model |
|
| triton_server_port | int64 | Port number of triton inference server that serves the Parakeet model |
PostProcessing contains the configuration for post-processing.
| Field | Type | Label | Description |
| pipeline | string | repeated | List of names of active post-processors. |
| post_processors | PostProcessors | Post-processor configurations. |
Configuration of the post-processing options
| Field | Type | Label | Description |
| spelling_correction | bool | Whether to use spelling correction |
|
| normalize | bool | Whether to disable normalization |
|
| config | PostProcessing | Post-processing configuration specifying the active post-processors in the pipeline, as well as their individual configuration. If not set, all values are replaced by the ones in current pipeline. |
|
| llm_post_processing | bool | Whether to disable LLM post-processing |
PostProcessors contains configurations for post-processors.
| Field | Type | Label | Description |
| sym_spell | SymSpell | Configuration of the SymSpell spelling correction. |
|
| normalization | S2tNormalization | Configuration of the normalization object. |
|
| llm_post_processing | S2tLlmPostProcessing | Configuration of the LLM post-processing. |
PtFiles contains information about PT files.
| Field | Type | Label | Description |
| path | string | Path to the PT files. |
|
| step | string | Step for the PT files. |
Pyannote contains configuration for the Pyannote voice activity detection model.
Library: pyannote-audio
| Field | Type | Label | Description |
| model_name | string | Full name of the Pyannote model. |
|
| min_audio_size | int64 | Minimum audio size for processing. |
|
| min_duration_off | float | Fill inactive regions shorter than that many seconds. Example notebook |
|
| min_duration_on | float | Remove active regions shorter than that many seconds. Example notebook |
|
| triton_server_host | string | Host name of triton inference server that serves the Pyannote model |
|
| triton_server_port | int64 | Port number of triton inference server that serves the Pyannote model |
Configuration for cloud provider settings for Speech-to-Text (S2T).
| Field | Type | Label | Description |
| s2t_cloud_provider_config_amazon | S2tCloudProviderConfigAmazon | optional | Optional. Configuration for Amazon web service speech-to-text provider. |
| s2t_cloud_provider_config_deepgram | S2tCloudProviderConfigDeepgram | optional | Optional. Configuration for DeepGram speech-to-text provider. |
| s2t_cloud_provider_config_google | S2tCloudProviderConfigGoogle | optional | Optional. Configuration for Google speech-to-text provider. |
| s2t_cloud_provider_config_microsoft | S2tCloudProviderConfigMicrosoft | optional | Optional. Configuration for Microsoft Azure speech-to-text provider. |
Configuration details specific to the Amazon web service speech-to-text provider.
| Field | Type | Label | Description |
| enable_partial_results_stabilization | bool | optional | Optional. Enables or disables |
| partial_results_stability | string | optional | Optional. You can use this field to set the stability level of the transcription results. A higher stability level means that the transcription results are less likely to change. Higher stability levels can come with lower overall transcription accuracy. Acceptable values: ["low", "medium", "high"]. Defaults to "high" if not set explicitly. More details at: https://aws.amazon.com/blogs/machine-learning/amazon-transcribe-now-supports-partial-results-stabilization-for-streaming-audio/ |
| language_model_name | string | optional | Optional. The name of your customize language model you want to use. More details at: https://docs.aws.amazon.com/transcribe/latest/dg/custom-language-models.html |
| vocabulary_name | string | optional | Optional. The name of your customize vocabulary you want to use. More details at: https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html |
Configuration details specific to the Deepgram speech-to-text provider.
| Field | Type | Label | Description |
| punctuate | bool | optional | Optional. Enables or disables |
| smart_format | bool | optional | Optional. Enables or disables |
| numerals | bool | optional | Optional. Enables or disables |
| measurements | bool | optional | Optional. Enables or disables |
| dictation | bool | optional | Optional. Enables or disables |
Configuration details specific to the Google speech-to-text provider.
| Field | Type | Label | Description |
| enable_automatic_punctuation | bool | optional | Optional. Enables or disables |
| enable_word_time_offsets | bool | optional | Optional. Enables or disables |
| enable_word_confidence | bool | optional | Optional. Enables or disables |
| transcript_normalization | bool | optional | Optional. Enables or disables |
| max_alternatives | int32 | optional | Optional. Maximum number of recognition hypotheses to be returned, may be returned fewer than |
Configuration details specific to the Microsoft Azure speech-to-text provider.
| Field | Type | Label | Description |
| use_fast_transcription_api | bool | optional | Optional. Enables or disables the Microsoft Azure fast transcription API. It is faster than SDK but is in preview version. More details at: https://learn.microsoft.com/en-us/azure/ai-services/speech-service/fast-transcription-create |
| use_detailed_output_format | bool | optional | Optional. Enables or disables the |
S2tCloudServiceAmazon message contains settings for the Amazon web service Cloud service inference.
| Field | Type | Label | Description |
| language | string | Language of the audio to transcribe by Amazon web service s2t cloud service. It should be 4-letter language code (BCP-47) e.g. 'en-US' or 'de-DE'. |
|
| streaming_available | bool | Specifies if streaming mode of Amazon web service speech to text is available for the selected language, otherwise batch mode transcription is used. See the list of languages and available transcription modes at: https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html |
|
| enable_partial_results_stabilization | bool | Enables or disables |
|
| partial_results_stability | string | You can use this field to set the stability level of the transcription results. A higher stability level means that the transcription results are less likely to change. Higher stability levels can come with lower overall transcription accuracy. Defaults to "high" if not set explicitly. |
|
| language_model_name | string | The name of your customize language model you want to use. More details at: https://docs.aws.amazon.com/transcribe/latest/dg/custom-language-models.html |
|
| vocabulary_name | string | The name of your customize vocabulary you want to use. More details at: https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html |
S2tCloudServiceDeepgram message contains settings for the Deepgram Cloud service inference.
| Field | Type | Label | Description |
| model_name | string | Model name from one of the speech-to-text models provided by Deepgram for the desired use-case. Provided model names and details at: https://developers.deepgram.com/docs/model |
|
| language | string | Language of the audio to transcribe by Deepgram s2t cloud service. It should be 4-letter language code (BCP-47) e.g. 'en-US' or 'de-DE'. |
|
| punctuate | bool | Enables or disables |
|
| smart_format | bool | Enables or disables |
|
| numerals | bool | Enables or disables |
|
| measurements | bool | Enables or disables |
|
| dictation | bool | Enables or disables |
S2tCloudServiceGoogle message contains settings for the Google Cloud service inference.
| Field | Type | Label | Description |
| model_name | string | Model name from one of the speech-to-text models provided by Google for the desired use-case. Provided model names and details at: https://cloud.google.com/speech-to-text/docs/transcription-model |
|
| language | string | Language of the audio to transcribe by Google s2t cloud service. It should be 4-letter language code (BCP-47) e.g. 'en-US' or 'de-DE'. |
|
| enable_automatic_punctuation | bool | Enables or disables |
|
| enable_word_time_offsets | bool | Enables or disables |
|
| enable_word_confidence | bool | Enables or disables |
|
| transcript_normalization | bool | Enables or disables |
|
| max_alternatives | int32 | Maximum number of recognition hypotheses to be returned. The server may return fewer than |
S2tCloudServiceMicrosoft message contains settings for the Microsoft Azure Cloud service inference.
| Field | Type | Label | Description |
| language | string | Language of the audio to transcribe by Microsoft Azure s2t cloud service. It should be 4-letter language code (BCP-47) e.g. 'en-US' or 'de-DE'. |
|
| use_fast_transcription_api | bool | Enables or disables the Microsoft Azure fast transcription API. It is faster than SDK but is in preview version. More details at: https://learn.microsoft.com/en-us/azure/ai-services/speech-service/fast-transcription-create |
|
| use_detailed_output_format | bool | Enables or disables the |
S2tDescription contains descriptive information about the speech-to-text pipeline.
| Field | Type | Label | Description |
| language | string | Language of the speech-to-text system. |
|
| pipeline_owner | string | Owner of the pipeline. |
|
| domain | string | Domain of the speech-to-text system. |
|
| comments | string | Comments about the system. |
S2tGetServiceInfoResponse is used to return version information about the speech-to-text service.
| Field | Type | Label | Description |
| version | string | Version number based on semantic versioning, e.g. "4.2.0". |
S2tInference contains information about inference models used in the speech-to-text pipeline.
| Field | Type | Label | Description |
| acoustic_models | AcousticModels | Configuration for the acoustic models. |
|
| language_models | LanguageModels | Configuration for the language models. |
|
| inference_backend | InferenceBackend | Configuration for the inference backend. |
S2tLlmPostProcessing contains configuration for the speech-to-text postprocessing with LLM.
| Field | Type | Label | Description |
| s2t_llm_post_processing_openai_options | OpenaiLlmOptions | optional | Optional. Configuration options for the OpenAI client used for post-processing. |
| s2t_llm_post_processing_system_prompt | string | optional | Optional. System prompt used to guide the LLM model for post-processing. |
| s2t_llm_post_processing_ending_prompt | string | optional | Optional. Ending prompt appended to the accumulated prompts of the active post-processing tasks. |
| s2t_llm_post_processing_casing_options | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the options to casing task in LLM post-processing. |
| s2t_llm_post_processing_punctuation_options | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the options to punctuation task in LLM post-processing. |
| s2t_llm_post_processing_spelling_correction_options | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the options to spelling-correction task in LLM post-processing. |
| s2t_llm_post_processing_semantic_correction_options | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the options to semantic-correction task in LLM post-processing. |
| s2t_llm_post_processing_translation_options | S2tLlmPostProcessingTranslationOptions | optional | Optional. Configuration of the options to translation task in LLM post-processing. |
| s2t_llm_post_processing_inverse_normalization_options | S2tLlmPostProcessingInverseNormalizationOptions | optional | Optional. Configuration of the options to inverse-normalization task in LLM post-processing. |
| s2t_llm_post_processing_normalization_options | S2tLlmPostProcessingNormalizationOptions | optional | Optional. Configuration of the options to normalization task in LLM post-processing. |
| s2t_llm_post_processing_summarization_options | S2tLlmPostProcessingSummarizationOptions | optional | Optional. Configuration of the options to summarization task in LLM post-processing. |
| s2t_llm_post_processing_user_prompt_options | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the options to user-prompt task in LLM post-processing. |
Configuration of the options to inverse-normalization task in LLM post-processing.
| Field | Type | Label | Description |
| active | bool | optional | Optional. Indicates if the inverse-normalization task of LLM post-processing is active. |
| S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the inverse-normalization of email address sub-task. |
|
| phone_number | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the inverse-normalization of phone number sub-task. |
| date_and_time | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the inverse-normalization of date and time sub-task. |
| credit_card_number | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the inverse-normalization of credit card number sub-task. |
| social_security_number | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the inverse-normalization of social security number sub-task. |
| time_zone | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the inverse-normalization of time zone sub-task. |
Configuration of the options to normalization task in LLM post-processing.
| Field | Type | Label | Description |
| active | bool | optional | Optional. Indicates if the normalization task of LLM post-processing is active. |
| S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the normalization of email address sub-task. |
|
| phone_number | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the normalization of phone number sub-task. |
| date_and_time | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the normalization of date and time sub-task. |
| credit_card_number | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the normalization of credit card number sub-task. |
| social_security_number | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the normalization of social security number sub-task. |
| time_zone | S2tLlmPostProcessingSubTaskOptions | optional | Optional. Configuration of the normalization of time zone sub-task. |
Common configuration for an individual LLM post-processing sub-task (e.g. email, phone number,
date and time, credit card number, social security number, time zone).
Used by both normalization and inverse-normalization tasks.
| Field | Type | Label | Description |
| active | bool | optional | Optional. Indicates if this sub-task is active. |
| prompt | string | optional | Optional. Custom prompt to guide the LLM for this sub-task. Overrides the default prompt when set. |
Configuration of the options to summarization task in LLM post-processing.
| Field | Type | Label | Description |
| active | bool | optional | Optional. Indicates if the summarization task of LLM post-processing is active. |
| prompt | string | optional | Optional. Custom prompt to guide the LLM for summarization. Overrides the default prompt when set. |
| min_chars | int32 | optional | Optional. Minimum number of characters of the summary generated in summarization task of LLM post-processing. |
| max_chars | int32 | optional | Optional. Maximum number of characters of the summary generated in summarization task of LLM post-processing. |
Configuration of the options to translation task in LLM post-processing.
| Field | Type | Label | Description |
| active | bool | optional | Optional. Indicates if the translation task of LLM post-processing is active. |
| language | string | optional | Optional. Target language of the translation task of LLM post-processing. |
| prompt | string | optional | Optional. Custom prompt to guide the LLM for translation. Overrides the default prompt when set. |
S2tNormalization contains configuration for the speech-to-text normalization.
| Field | Type | Label | Description |
| language | string | Language for normalization of transcriptions. |
|
| pipeline | string | repeated | List of names of active normalizations. |
The pipeline id for a specific pipeline configuration
| Field | Type | Label | Description |
| id | string | id of the model that will generate audio |
Silero contains configuration for the Silero voice activity detection model.
Unlike Pyannote, Silero is configured with its own parameters rather than
(min_duration_on, min_duration_off). They carry exactly the meaning they have
upstream in get_speech_timestamps / VADIterator.
Library: silero-vad
| Field | Type | Label | Description |
| model_name | string | Full name of the Silero model. |
|
| min_audio_size | int64 | Minimum audio size for processing. |
|
| threshold | float | optional | Speech probability, in [0, 1], above which a frame counts as speech. A run of speech
ends at the hysteresis threshold |
| min_speech_duration_ms | float | optional | Speech runs shorter than this many milliseconds are discarded. A run still open at the
end of the buffer is kept regardless, since more audio may extend it.
Optional for the same reason as |
| min_silence_duration_ms | float | optional | Silence, in milliseconds, that must follow the last speech before an utterance is
declared to have ended.
Optional for the same reason as |
| speech_pad_ms | float | optional | Padding, in milliseconds, added on each side of the detected boundary.
Optional for the same reason as |
| triton_server_host | string | Host name of triton inference server that serves the Silero model |
|
| triton_server_port | int64 | Port number of triton inference server that serves the Silero model |
Speech2TextConfig is a configuration message for the speech-to-text pipeline
| Field | Type | Label | Description |
| id | string | Unique identifier for the configuration. |
|
| description | S2tDescription | Description of the speech-to-text system. |
|
| active | bool | Indicates if the configuration is active. |
|
| inference | S2tInference | Configuration for inference models. |
|
| streaming_server | StreamingServer | Configuration for the streaming server. |
|
| voice_activity_detection | VoiceActivityDetection | Configuration for voice activity detection. |
|
| post_processing | PostProcessing | Configuration for post-processing. |
|
| logging | Logging | Configuration for logging. |
StreamingServer contains information about the streaming server.
| Field | Type | Label | Description |
| host | string | Hostname of the streaming server. |
|
| port | int64 | Port number of the streaming server. |
|
| output_style | string | Output style for the streaming server. |
|
| streaming_speech_recognition | StreamingSpeechRecognition | Configuration for streaming speech recognition. |
StreamingSpeechRecognition contains information about streaming speech recognition settings.
| Field | Type | Label | Description |
| transcribe_not_final | bool | Indicates whether to transcribe non-final results. |
|
| decoding_method | string | Decoding method for speech recognition. |
|
| sampling_rate | int64 | Sampling rate for audio input. |
|
| min_audio_chunk_size | int64 | Minimum audio chunk size for processing. |
|
| next_chunk_timeout | float | Timeout between audio chunks; if exceeded, the stream will be stopped. |
|
| turn_detection | TurnDetectionOptions | Configuration of the options to turn-detection in utterances |
SymSpell contains configuration for the SymSpell spelling correction.
| Field | Type | Label | Description |
| dict_path | string | Path to the dictionary used by symspell |
|
| max_dictionary_edit_distance | int64 | The maximal edit-distance to consider for spelling correction (affects performance - bigger number takes longer to process!) |
|
| prefix_length | int64 | The length (number of characters) of the prefix to consider for filtering |
TrainUserLanguageModelRequest is used to request the training of a user-specific language model.
| Field | Type | Label | Description |
| language_model_name | string | Name of the language model to train. Example: "user_lm_1" |
|
| order | int64 | Order n of the ngram. Example: 3 (for trigram model) |
A request to transcribe an audio file
| Field | Type | Label | Description |
| audio_file | bytes | wav file to transcribe |
|
| config | TranscribeRequestConfig | The configuration to override the default configuration |
The response message for a transcribe file request
| Field | Type | Label | Description |
| transcriptions | Transcription | repeated | List of transcriptions with confidence level |
| time | float | The time the transcription took |
|
| audio_uuid | string | id of the transcribed audio file |
Configuration for a request to transcribe audio
| Field | Type | Label | Description |
| s2t_pipeline_id | string | Required. id of the pipeline (model setup) that will generate audio |
|
| decoding | Decoding | Optional. decoding type |
|
| language_model_name | string | Name of the language model |
|
| post_processing | PostProcessingOptions | The postprocessing options |
|
| utterance_detection | UtteranceDetectionOptions | The utterance detection options |
|
| pyannote | Pyannote | Voice activity detection with pyannote |
|
| return_options | TranscriptionReturnOptions | The transcribe return options |
|
| language | string | optional | Optional. Specify language of transcription to return |
| task | string | optional | Optional. Specify task of s2t model, e.g. 'transcribe' and 'translate' |
| s2t_service_config | google.protobuf.Struct | optional | Optional.
For Amazon S2T service, the following arguments should be passed in form of a dict:
s2t_config_service={'aws_access_key_id': 'YOUR_AWS_ACCESS_KEY_ID', 'aws_secret_access_key':
'YOUR_AWS_SECRET_ACCESS_KEY', 'region': 'YOUR_AMAZON_SERVER_REGION_NAME'}
For Deepgram S2T service, the following argument should be passed in form of a dict:
s2t_config_service={'api_key': 'YOUR_DEEPGRAM_API_KEY'}
For Google cloud S2T service, the following arguments should be passed in form of a dict:
s2t_config_service={'api_key': 'YOUR_GOOGLE_CLOUD_API_KEY', 'api_endpoint': 'YOUR_GOOGLE_CLOUD_API_ENDPOINT'}
For Microsoft Azure S2T service, the following arguments should be passed in form of a dict:
s2t_config_service={'subscription_key': 'YOUR_MICROSOFT_AZURE_SUBSCRIPTION_KEY', 'region':
'YOUR_MICROSOFT_AZURE_SERVER_REGION_NAME'}
Note: ondewo-s2t will raise an error if you don't pass any of the required arguments above. |
| s2t_cloud_provider_config | S2tCloudProviderConfig | optional | Optional. Defines the cloud provider's specific configuration for using speech to text cloud services. The default value is None. |
Request to transcribe an audio stream
| Field | Type | Label | Description |
| audio_chunk | bytes | wav file to transcribe |
|
| end_of_stream | bool | if it's the final chunk of the stream |
|
| config | TranscribeRequestConfig | The configuration to override the default configuration |
|
| mute_audio | bool | Whether or not to mute the audio signal. Defaults to false. |
The response message of a stream transcription
| Field | Type | Label | Description |
| transcriptions | Transcription | repeated | List of transcriptions with confidence level |
| time | float | The time the transcription took |
|
| final | bool | Whether or not this transcription is final (transcribed texts might change if transcription is started before the end of an utterance). |
|
| return_audio | bool | is audio bytes of the utterance in response |
|
| audio | bytes | audio bytes of the transcribed utterance |
|
| utterance_start | bool | is it a start of the utterance |
|
| audio_uuid | string | id of the transcribed audio file |
|
| config | TranscribeRequestConfig | The configuration for the transcription |
The transcription message
| Field | Type | Label | Description |
| transcription | string | The transcribed text |
|
| confidence_score | float | The corresponding confidence score. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. |
|
| words | WordDetail | repeated | List of the words of transcription with their confidence scores and probable alternatives |
| alternatives | TranscriptionAlternative | repeated | List of alternative transcriptions, confidence scores, words timings and alternative words |
The alternative transcription message
| Field | Type | Label | Description |
| transcript | string | The alternative transcribed text |
|
| confidence | float | The corresponding confidence score to the alternative transcript. |
|
| words | WordDetail | repeated | A list of word-specific information for each recognized word, including word timings, confidence score of the word and alternative words. |
Configuration of the return values of a transcribe request
| Field | Type | Label | Description |
| return_start_of_speech | bool | should server make response indicating that the beginning of the speech was detected |
|
| return_audio | bool | should s2t server return audio bytes of transcribed utterance |
|
| return_confidence_score | bool | Whether or not to return confidence scores |
|
| return_alternative_transcriptions | bool | Whether or not to return alternative results from beam-search |
|
| return_alternative_transcriptions_nr | int32 | Optional. Number of alternative transcriptions results from beam-search or greedy-search |
|
| return_alternative_words | bool | Whether or not to return alternative results from beam-search |
|
| return_alternative_words_nr | int32 | Optional. Number of alternative words to results |
|
| return_word_timing | bool | Optional. Whether or not to return timestamps of start and end of the words. Only used in TranscribeFile. |
Configuration of the options to turn-detection in utterances
| Field | Type | Label | Description |
| active | bool | optional | Optional. Indicates if the turn-detection feature is active. |
| full_utterance_deployment | bool | optional | Optional. Whether to transcribe the whole utterance when turn moment is detected. It is helpful to increase accuracy of transcriptions in cost of drop in speed. If deactivated, it just transcribe from last short silence period and concatenates the transcriptions of small audio chunks between tiny silences. |
| turn_detection_system_prompt | string | optional | Optional. System prompt used to guide the turn-detection model. |
| turn_detection_user_prompt | string | optional | Optional. User prompt used as input to the turn-detection model. |
| turn_detection_llm_openai_options | OpenaiLlmOptions | optional | Optional. Configuration options for the OpenAI client used for turn detection. |
Configuration of the options to detect utterances
| Field | Type | Label | Description |
| transcribe_not_final | bool | Return also immediate transcription results |
|
| next_chunk_timeout | float | if time between audio chunks exceeds next_chunk_timeout, stream will be stopped |
|
| turn_detection | TurnDetectionOptions | The turn detection options |
VoiceActivityDetection contains information about voice activity detection settings.
| Field | Type | Label | Description |
| active | string | Deprecated in favour of |
|
| sampling_rate | int64 | Sampling rate for voice activity detection. |
|
| pyannote | Pyannote | Configuration for the Pyannote model. Read when Pyannote is the resolved VAD or TSD method. |
|
| silero | Silero | Configuration for the Silero model. Read when Silero is the resolved VAD method. |
|
| wespeaker_tsd | WespeakerTsd | Configuration for WeSpeaker target-speaker detection. Read when WeSpeaker is the resolved TSD method. |
|
| vad_method | VadMethod | Which model splits the stream into utterances. Takes precedence over |
|
| tsd_method | TsdMethod | Which model decides whether an utterance came from the main speaker. Independent of
|
Wav2Vec contains information about the Wav2Vec model.
| Field | Type | Label | Description |
| model_path | string | Path to the model. |
|
| use_gpu | bool | Indicates if GPU is used. |
Wav2VecTriton contains information about the Wav2Vec model using Triton.
| Field | Type | Label | Description |
| processor_path | string | Path to the processor. |
|
| triton_model_name | string | Name of the Triton model. |
|
| triton_model_version | string | Version of the Triton model. |
|
| check_status_timeout | int64 | Timeout for checking model status. |
|
| triton_server_host | string | Host name of triton inference server that serves the Wav2VecTriton model |
|
| triton_server_port | int64 | Port number of triton inference server that serves the Wav2VecTriton model |
WespeakerTsd contains configuration for the WeSpeaker target-speaker detection (TSD)
model. Given a reference speaker embedding, it decides whether a newly detected utterance
was spoken by the same person, so that speech from a different speaker (e.g. background
noise, crosstalk, or a barge-in) can be rejected.
Library: wespeaker-voxceleb-resnet34-LM
| Field | Type | Label | Description |
| active | bool | Indicates if target-speaker detection is active. |
|
| model_name | string | Full name of the WeSpeaker model. |
|
| triton_server_host | string | Host name of triton inference server that serves the WeSpeaker model |
|
| triton_server_port | int64 | Port number of triton inference server that serves the WeSpeaker model |
|
| similarity_threshold | float | optional | Cosine similarity, in [-1, 1], above which a candidate utterance is judged to come from the same speaker as the reference. Optional, and explicitly so: 0 sits in the middle of the valid range, and without presence tracking it would be indistinguishable from an unset field. |
| min_audio_length | float | optional | Utterances shorter than this many seconds carry too little speaker information to
judge, and are treated as undecided rather than rejected.
Optional for the same reason as |
| reference_max_length | float | The reference audio is cropped to its most recent this-many seconds before being embedded. |
Whisper contains information about the Whisper model.
| Field | Type | Label | Description |
| model_path | string | Path to the model. |
|
| use_gpu | bool | Indicates if GPU is used. |
|
| language | string | Default language of the model. |
|
| task | string | Default task of the model. |
WhisperTriton contains information about the Whisper model using Triton.
| Field | Type | Label | Description |
| processor_path | string | Path to the processor. |
|
| triton_model_name | string | Name of the Triton model. |
|
| triton_model_version | string | Version of the Triton model. |
|
| check_status_timeout | int64 | Timeout for checking model status. |
|
| language | string | Default language of the model. |
|
| task | string | Default task of the model. E.g., transcribe, translate, etc. |
|
| triton_server_host | string | Host name of triton inference server that serves the WhisperTriton model |
|
| triton_server_port | int64 | Port number of triton inference server that serves the WhisperTriton model |
The word alternative message
| Field | Type | Label | Description |
| word | string | The recognized word corresponding to this set of information. |
|
| confidence | float | The corresponding confidence score to the alternative word. |
WordDetail provides word-specific information for recognized words.
| Field | Type | Label | Description |
| start_time | float | The start time of the spoken word relative to the beginning of the audio. The accuracy of the time offset can vary, and this is an experimental feature. |
|
| end_time | float | The end time of the spoken word relative to the beginning of the audio. The accuracy of the time offset can vary, and this is an experimental feature. |
|
| word | string | The recognized word corresponding to this set of information. |
|
| confidence | float | The corresponding confidence score to the word. |
|
| word_alternatives | WordAlternative | repeated | List of alternative words and confidence scores of each. |
The decoding configuration
| Name | Number | Description |
| DEFAULT | 0 | decoding will be defined by the pipeline config |
| GREEDY | 1 | greedy decoding will be used independently on pipeline config |
| BEAM_SEARCH_WITH_LM | 2 | beam search will be used independently on pipeline config |
| BEAM_SEARCH | 3 | beam search without LM head, to configure decoding mode for seq2seq models. |
The inference backend configuration
| Name | Number | Description |
| INFERENCE_BACKEND_UNKNOWN | 0 | Not set |
| INFERENCE_BACKEND_PYTORCH | 1 | Run pytorch model |
| INFERENCE_BACKEND_FLAX | 2 | Run flax model |
| INFERENCE_BACKEND_CLOUD_SERVICE_AMAZON | 3 | Run Amazon S2T cloud service |
| INFERENCE_BACKEND_CLOUD_SERVICE_DEEPGRAM | 4 | Run Deepgram S2T cloud service |
| INFERENCE_BACKEND_CLOUD_SERVICE_GOOGLE | 5 | Run Google S2T cloud service |
| INFERENCE_BACKEND_CLOUD_SERVICE_MICROSOFT | 6 | Run Microsoft Azure S2T cloud service |
Effort level for reasoning models (e.g., o1, o3). Controls the trade-off between speed and quality.
| Name | Number | Description |
| REASONING_EFFORT_UNSPECIFIED | 0 | Unspecified reasoning effort. |
| REASONING_EFFORT_MINIMAL | 1 | Minimal reasoning effort. |
| REASONING_EFFORT_LOW | 2 | Low reasoning effort. |
| REASONING_EFFORT_MEDIUM | 3 | Medium reasoning effort. |
| REASONING_EFFORT_HIGH | 4 | High reasoning effort. |
Latency tier to use for processing an OpenAI request. Affects cost and throughput.
| Name | Number | Description |
| SERVICE_TIER_UNSPECIFIED | 0 | Unspecified service tier. |
| SERVICE_TIER_AUTO | 1 | Auto service tier. |
| SERVICE_TIER_DEFAULT | 2 | Default service tier. |
| SERVICE_TIER_FLEX | 3 | Flex service tier. |
| SERVICE_TIER_SCALE | 4 | Scale service tier. |
| SERVICE_TIER_PRIORITY | 5 | Priority service tier. |
TsdMethod selects the model used for target-speaker detection (TSD): deciding whether a
newly detected utterance came from the main speaker of the call, so that speech from anyone
else (crosstalk, background speakers, barge-in) can be rejected.
| Name | Number | Description |
| TSD_METHOD_UNSPECIFIED | 0 | No explicit choice. TSD then follows the behaviour of older configurations that predate
this field, which is keyed on the active VAD: Pyannote whenever Pyannote is the VAD, since
its segmentation model doubles as a speaker filter; otherwise WeSpeaker if
|
| TSD_METHOD_NONE | 1 | Disable target-speaker detection. Every detected utterance is transcribed, whoever spoke it. |
| TSD_METHOD_PYANNOTE | 2 | Reuse the Pyannote segmentation model, which distinguishes speakers in addition to detecting speech. Available only when Pyannote is also the active VAD. |
| TSD_METHOD_WESPEAKER | 3 | Use the dedicated WeSpeaker embedding model, configured by
|
VadMethod selects the model used to split the audio stream into utterances.
| Name | Number | Description |
| VAD_METHOD_UNSPECIFIED | 0 | No explicit choice. The method is then taken from the legacy
|
| VAD_METHOD_PYANNOTE | 1 | Use the Pyannote segmentation model, configured by |
| VAD_METHOD_SILERO | 2 | Use the Silero model, configured by |
Verbosity level for the response output.
| Name | Number | Description |
| VERBOSITY_UNSPECIFIED | 0 | Unspecified verbosity. |
| VERBOSITY_LOW | 1 | Low verbosity. |
| VERBOSITY_MEDIUM | 2 | Medium verbosity. |
| VERBOSITY_HIGH | 3 | High verbosity. |
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
| double | double | double | float | float64 | double | float | Float | |
| float | float | float | float | float32 | float | float | Float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |