Stay organized with collectionsSave 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 theREST interfaceand thecurlcommand.
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, seeSpeech-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 thebefore you beginpage for details.
Now you can use Speech-to-Text to transcribe an audio file
to text. Use the following code sample to send arecognizeREST request to the Speech-to-Text API.
Create a JSON request file with the following text, and save it as async-request.jsonplain 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.
Usecurlto make aspeech:recognizerequest, passing it the filename of the JSON request you set up in step 1:
The samplecurlcommand uses thegcloud auth print-access-tokencommand to get an authentication token.
Note that to pass a filename tocurlyou use the-doption (for "data") and precede the filename with an@sign. This file should be in the same directory in which you
execute thecurlcommand.
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 thetroubleshootinganderror mitigationsteps.
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-09-04 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"]]