Tutorial
Deploy the Watson Speech to Text runtime on Red Hat OpenShift and Kubernetes
Walk through the steps to deploy a speech-to-text service in Red Hat OpenShift using a Kubernetes clusterArchive date: 2025-06-12
This content is no longer being updated or maintained. The content is provided “as is.” Given the rapid evolution of technology, some content, steps, or illustrations may have changed.The IBM Speech to Text Library for Embed transcribes written text from spoken audio in a number of languages. The service uses machine learning to combine knowledge of grammar, language structure, and the composition of audio and voice signals to accurately transcribe the human voice.
This tutorial walks you through the steps install a Watson Speech to Text runtime in Red Hat OpenShift and Kubernetes. The tutorial uses this Helm Chart to deploy the service. You can use any classic Kubernetes cluster to deploy this text-to-speech Helm Chart.
Reference architecture

Prerequisites
To follow this tutorial, you must:
- Install Helm 3.
- Ensure that you have an entitlement key. You might need to create one. This key is required to access the images used in this tutorial.
Set an environment variable.
export IBM_ENTITLEMENT_KEY=<Set the entitlement key>Have a Red Hat OpenShift cluster on which you deploy the service.
Step 1. Install Speech to Text Helm Chart
Clone the Helm chart GitHub repository.
git clone https://github.com/IBM/ibm-watson-embed-charts.git
cd ibm-watson-embed-charts/charts
The containers that are deployed by this Chart come from the IBM Entitled Registry. You must create a Secret with credentials to pull from this registry. The default name is ibm-entitlement-key, but this can be changed by updating the value of imagePullSecrets.
The following code shows an example command to create the pull secret.
oc create secret docker-registry ibm-entitlement-key \
--docker-server=cp.icr.io \
--docker-username=cp \
--docker-password=$IBM_ENTITLEMENT_KEY \
--docker-email=<your-email>
Note: By default, the models that are enabled are en-US_Multimedia and en-US_Telephony with defaultModel set to en-US_Multimedia.
Helm Charts have configurable values that can be set at installation. To configure the values (for example, enabling additional models), refer to the base values.yaml file for documentation and value defaults. Values can be changed by using the --set parameter or by using YAML files that are specified with -f/--values. In the following example, I set values by using the --set parameter.
helm install stt-release ./ibm-watson-stt-embed-runtime \
--set license=true \
--set nameOverride=stt \
--set models.enUSTelephony.enabled=false
Step 2. Verify the Chart
For Chart verification, see the instructions (from the NOTES.txt file within the chart) after the Helm installation completes. The instructions also can be viewed by running the following command.
helm status stt-release
Look at the complete API reference for the Watson Speech to Text Service.
Step 3. Test the Service
In one terminal, create a proxy through the service.
oc proxyDownload an example audio file as
example.flac.curl --url https://github.com/watson-developer-cloud/doc-tutorial-downloads/raw/master/speech-to-text/0001.flac \ -sLo example.flacSend a
recognizerequest using the downloaded file.curl --url "http://localhost:8001/api/v1/namespaces/stt-demo/services/https:stt-release-runtime:https/proxy/speech-to-text/api/v1/recognize?model=en-US_Multimedia" \ --header "Content-Type: audio/flac" \ --data-binary @example.flac
Summary
In this tutorial, you learned how to deploy the Watson Speech to Text runtime in Red Hat OpenShift. You can also try out more features in the IBM Natural Language Processing Library for Embed.