Stay organized with collections Save and categorize content based on your preferences.
Transcribe speech to text by using the APIThis page shows you how to send a speech recognition request to Speech-to-Text using the REST interface and the curl
command.
Speech-to-Text enables easy integration of Google speech recognition technologies into developer applications. You can send audio data to the Speech-to-Text API, which then returns a text transcription of that audio file. For more information about the service, see Speech-to-Text basics.
Before you beginBefore you can send a request to the Speech-to-Text API, you must have completed the following actions. See the before you begin page for details.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Now you can use Speech-to-Text to transcribe an audio file to text. Use the following code sample to send a recognize
REST request to the Speech-to-Text API.
Create a JSON request file with the following text, and save it as a sync-request.json
plain text file:
{ "config": { "encoding":"FLAC", "sampleRateHertz": 16000, "languageCode": "en-US", "enableWordTimeOffsets": false }, "audio": { "uri":"gs://cloud-samples-tests/speech/brooklyn.flac" } }
This JSON snippet indicates that the audio file has a FLAC encoding format, a sample rate of 16000 Hz, and that the audio file is stored on Google Cloud Storage at the given URI. The audio file is publicly accessible, so you don't need authentication credentials to access the file.
Use curl
to make a speech:recognize
request, passing it the filename of the JSON request you set up in step 1:
The sample curl
command uses the gcloud auth print-access-token
command to get an authentication token.
curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer "$(gcloud auth print-access-token) \ https://speech.googleapis.com/v1/speech:recognize \ -d @sync-request.json
Note that to pass a filename to curl
you use the -d
option (for "data") and precede the filename with an @
sign. This file should be in the same directory in which you execute the curl
command.
You should see a response similar to the following:
{ "results": [ { "alternatives": [ { "transcript": "how old is the Brooklyn Bridge", "confidence": 0.98267895 } ] } ] }
Congratulations! You've sent your first request to Speech-to-Text.
If you receive an error or an empty response from Speech-to-Text, take a look at the troubleshooting and error mitigation steps.
Clean upTo avoid incurring charges to your Google Cloud account for the resources used on this page, follow these steps.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-04-17 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-04-17 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3