Stay organized with collections
Save and categorize content based on your preferences.
Transcribe speech to text by using the API
This 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 begin
Before 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.
Enable Speech-to-Text on a GCP project.
Make sure billing is enabled for Speech-to-Text.
Install the Google Cloud CLI.
After installation,
initialize the Google Cloud CLI by running the following command:
(Optional) Create a new Google Cloud Storage bucket to store your audio
data.
Make an audio transcription request
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:
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.
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 up
To avoid incurring charges to your Google Cloud account for
the resources used on this page, follow these steps.
[[["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-08-25 UTC."],[],[],null,["# Quickstart: Transcribe speech to text by using the API\n\nTranscribe speech to text by using the API\n==========================================\n\nThis page shows you how to send a speech recognition request to\nSpeech-to-Text using the [REST interface](/speech-to-text/docs/reference/rest)\nand the `curl` command.\n\n\nSpeech-to-Text enables easy integration of Google speech\nrecognition technologies into developer applications. You can send\naudio data to the Speech-to-Text API, which then returns a\ntext transcription of that audio file. For more information about\nthe service, see\n[Speech-to-Text basics](/speech-to-text/docs/basics).\n\n\nBefore you begin\n----------------\n\nBefore you can send a request to the Speech-to-Text API, you must have completed\nthe following actions. See the\n[before you begin](/speech-to-text/docs/before-you-begin) page for details.\n\n- Enable Speech-to-Text on a GCP project.\n 1. Make sure billing is enabled for Speech-to-Text.\n-\n [Install](/sdk/docs/install) the Google Cloud CLI.\n\n After installation,\n [initialize](/sdk/docs/initializing) the Google Cloud CLI by running the following command:\n\n ```bash\n gcloud init\n ```\n\n\n If you're using an external identity provider (IdP), you must first\n [sign in to the gcloud CLI with your federated identity](/iam/docs/workforce-log-in-gcloud).\n- (Optional) Create a new Google Cloud Storage bucket to store your audio data.\n\nMake an audio transcription request\n-----------------------------------\n\nNow you can use Speech-to-Text to transcribe an audio file\nto text. Use the following code sample to send a\n[`recognize`](/speech-to-text/docs/reference/rest/v1/speech/recognize) REST request to the Speech-to-Text API.\n\n1. Create a JSON request file with the following text, and save it as a\n `sync-request.json` plain text file:\n\n ```json\n {\n \"config\": {\n \"encoding\":\"FLAC\",\n \"sampleRateHertz\": 16000,\n \"languageCode\": \"en-US\",\n \"enableWordTimeOffsets\": false\n },\n \"audio\": {\n \"uri\":\"gs://cloud-samples-tests/speech/brooklyn.flac\"\n }\n }\n \n ```\n\n This JSON snippet indicates that the audio file has a FLAC encoding format,\n a sample rate of 16000 Hz, and that the audio file is stored on Google Cloud\n Storage at the given URI. The audio file is publicly accessible, so you\n don't need authentication credentials to access the file.\n2. Use `curl` to make a `speech:recognize`\n request, passing it the filename of the JSON request you set up in step 1:\n\n The sample `curl` command uses the `gcloud auth print-access-token` command to get an authentication token. \n\n ```sh\n curl -s -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer \"$(gcloud auth print-access-token) \\\n https://speech.googleapis.com/v1/speech:recognize \\\n -d @sync-request.json\n \n ```\n\n Note that to pass a filename to `curl` you use the\n `-d` option (for \"data\") and precede the filename with an\n `@` sign. This file should be in the same directory in which you\n execute the `curl` command.\n\n You should see a response similar to the following: \n\n ```json\n {\n \"results\": [\n {\n \"alternatives\": [\n {\n \"transcript\": \"how old is the Brooklyn Bridge\",\n \"confidence\": 0.98267895\n }\n ]\n }\n ]\n }\n \n ```\n\nCongratulations! You've sent your first request to Speech-to-Text.\n\n\nIf you receive an error or an empty response from\nSpeech-to-Text, take a look at the\n[troubleshooting](/speech-to-text/docs/troubleshooting) and\n[error mitigation](/speech-to-text/docs/error-messages) steps.\n\nClean up\n--------\n\n\nTo avoid incurring charges to your Google Cloud account for\nthe resources used on this page, follow these steps.\n\n- Use the [Google Cloud console](https://console.cloud.google.com/) to delete your project if you do not need it.\n\nWhat's next\n-----------\n\n\n- Practice [transcribing short audio files](/speech-to-text/docs/sync-recognize).\n- Learn how to [batch long audio files for speech recognition](/speech-to-text/docs/async-recognize).\n- Learn how to [transcribe streaming audio](/speech-to-text/docs/streaming-recognize) like from a microphone.\n- Get started with the Speech-to-Text in your language of choice by using a [Speech-to-Text client library](/speech-to-text/docs/reference/libraries).\n- Work through the [sample applications](/speech-to-text/docs/samples).\n- For best performance, accuracy, and other tips, see the [best practices](/speech-to-text/docs/best-practices) documentation.\n\n\u003cbr /\u003e"]]