Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Quando você envia dados de áudio para a API Speech-to-Text, é possível enviá-los
diretamente (no campo
content da solicitação) ou
solicitar que a API realize remotamente o reconhecimento nos dados armazenados em um bucket do Cloud Storage.
É possível enviar dados diretamente no campo content para
reconhecimento síncronoapenas se os dados de áudio tiverem no máximo 60 segundos e 10 MB. Todos os dados
de áudio no campo content precisam estar no formato Base64. Nesta página, saiba como
converter o áudio de um arquivo binário em dados codificados como Base64.
Se os dados de áudio excederem 60 segundos ou 10 MB, eles precisarão ser armazenados em um
bucket do Cloud Storage para serem enviados para reconhecimento. Você pode analisá-los
de maneira assíncrona sem convertê-los no formato Base64. Consulte a
documentação de reconhecimento assíncrono
para saber mais.
Como usar a linha de comando
Em uma solicitação gRPC, é possível simplesmente gravar os dados binários diretamente.
No entanto, JSON é usado ao fazer uma solicitação REST. Como JSON
é um formato de texto que não aceita diretamente dados binários, você precisa
converter esses dados em texto usando a
codificação Base64.
A maioria dos ambientes de desenvolvimento contém um utilitário base64 nativo para
codificar um binário em dados de texto ASCII. Para codificar um arquivo, faça o seguinte:
Linux
Codifique o arquivo de áudio usando a ferramenta de linha de comando base64 e evite a quebra
automática de linha usando a flag -w 0:
base64 INPUT_FILE -w 0 > OUTPUT_FILE
macOS
Codifique o arquivo usando a ferramenta de linha de comando base64:
base64 -i INPUT_FILE -o OUTPUT_FILE
Windows
Codifique o arquivo usando a ferramenta Base64.exe:
Base64.exe -e INPUT_FILE > OUTPUT_FILE
PowerShell
Codifique o arquivo usando o método Convert.ToBase64String:
Incorporar dados binários de áudio em solicitações por meio de editores de texto não é recomendado
nem prático. Na realidade, você vai incorporar arquivos com codificação Base64 no
código do cliente. Todas as linguagens de programação disponíveis têm mecanismos integrados
para conteúdos com codificação Base64.
Python
Em Python, codifique os arquivos de áudio em base64 da seguinte maneira:
# Import the base64 encoding library.importbase64# Pass the audio data to an encoding function.defencode_audio(audio):audio_content=audio.read()returnbase64.b64encode(audio_content)
Node.js
Em Node.js, codifique os arquivos de áudio em Base64 da maneira mostrada abaixo, em que audioFile
é o caminho para o arquivo de áudio codificado.
No Java, use o método estático encodeBase64 dentro de
org.apache.commons.codec.binary.Base64 para codificar arquivos binários de codificação base64:
// Import the Base64 encoding library.importorg.apache.commons.codec.binary.Base64;// Encode the speech.byte[]encodedAudio=Base64.encodeBase64(audio.getBytes());
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-28 UTC."],[],[],null,["# Base64 encoding audio content\n\nWhen you send audio data to the Speech-to-Text API you can either send the\ndata directly (within the request's\n[`content`](/speech-to-text/docs/reference/rest/v1/RecognitionAudio) field) or\nhave the API perform recognition remotely on data stored in a Cloud Storage bucket.\nYou can send data directly in the `content` field for\n[synchronous recognition](/speech-to-text/docs/sync-recognize#performing_synchronous_speech_recognition_on_a_local_file)\n**only** if your audio data is a maximum of 60 seconds and 10 MB. Any audio\ndata in the `content` field must be in base64 format. This page describes how to\nconvert audio from a binary file to base64-encoded data.\n\nIf your audio data exceeds 60 seconds or 10 MB, it must be stored in a\nCloud Storage bucket in order to be sent for recognition. You can analyze\nit asynchronously without converting it to base64 format. See the\n[asynchronous recognition documentation](/speech-to-text/docs/async-recognize)\nfor details.\n\nUsing the command line\n----------------------\n\nWithin a gRPC request, you can simply write binary data out directly;\nhowever, JSON is used when making a REST request. JSON\nis a text format that does not directly support binary data, so you will need to\nconvert such binary data into text using\n[Base64](https://en.wikipedia.org/wiki/Base64) encoding.\n\nMost development environments contain a native `base64` utility to\nencode a binary into ASCII text data. To encode a file: \n\n### Linux\n\nEncode the file using the `base64` command line tool, making sure to\nprevent line-wrapping by using the `-w 0` flag: \n\n```\nbase64 INPUT_FILE -w 0 \u003e OUTPUT_FILE\n```\n\n### macOS\n\nEncode the file using the `base64` command line tool: \n\n```\nbase64 -i INPUT_FILE -o OUTPUT_FILE\n```\n\n### Windows\n\nEncode the file using the `Base64.exe` tool: \n\n```\nBase64.exe -e INPUT_FILE \u003e OUTPUT_FILE\n```\n\n### PowerShell\n\nEncode the file using the `Convert.ToBase64String` method: \n\n```\n[Convert]::ToBase64String([IO.File]::ReadAllBytes(\"./INPUT_FILE\")) \u003e OUTPUT_FILE\n```\n\nCreate a JSON request file, inlining the base64-encoded data: \n\n### JSON\n\n\n```json\n{\n \"config\": {\n \"encoding\": \"FLAC\",\n \"sampleRateHertz\": 16000,\n \"languageCode\": \"en-US\"\n },\n \"audio\": {\n \"content\": \"ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv...\"\n }\n}\n```\n\n\u003cbr /\u003e\n\nUsing client libraries\n----------------------\n\nEmbedding binary data into requests through text editors is neither\ndesirable or practical. In practice, you will be embedding base64 encoded files\nwithin client code. All supported programming languages have built-in mechanisms\nfor base64 encoding content.\n\n\n### Python\n\nIn Python, base64 encode audio files as follows: \n\n # Import the base64 encoding library.\n import base64\n\n # Pass the audio data to an encoding function.\n def encode_audio(audio):\n audio_content = audio.read()\n return base64.b64encode(audio_content)\n\n### Node.js\n\nIn Node.js, base64 encode audio files as follows, where `audioFile`\nis the path to the audio-encoded file. \n\n const fs = require('fs');\n const content = fs.readFileSync(audioFile).toString('base64');\n\n### Java\n\nIn Java, use the `encodeBase64` static method within\n`org.apache.commons.codec.binary.Base64` to base64 encode binary files: \n\n // Import the Base64 encoding library.\n import org.apache.commons.codec.binary.Base64;\n\n // Encode the speech.\n byte[] encodedAudio = Base64.encodeBase64(audio.getBytes());\n\n\u003cbr /\u003e"]]