Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
Cuando envías datos de audio a la API Speech-to-Text, puedes enviar los datos directamente (en el campo content de la solicitud) o hacer que la API realice el reconocimiento de forma remota en los datos almacenados en un segmento de Cloud Storage.
Solo puedes enviar datos directamente en el campo content para el reconocimiento síncrono si tus datos de audio tienen una duración máxima de 60 segundos y un tamaño máximo de 10 MB. Los datos de audio del campo content deben estar en formato base64. En esta página se describe cómo convertir audio de un archivo binario a datos codificados en base64.
Si tus datos de audio superan los 60 segundos o los 10 MB, deben almacenarse en un segmento de Cloud Storage para poder enviarse a reconocimiento. Puedes analizarlo de forma asíncrona sin convertirlo al formato base64. Para obtener más información, consulta la documentación sobre el reconocimiento asíncrono.
Usar la línea de comandos
En una solicitud gRPC, puedes escribir datos binarios directamente. Sin embargo, se usa JSON al hacer una solicitud REST. JSON es un formato de texto que no admite directamente datos binarios, por lo que tendrás que convertir esos datos binarios en texto mediante la codificación Base64.
La mayoría de los entornos de desarrollo contienen una utilidad base64 nativa para codificar un archivo binario en datos de texto ASCII. Para codificar un archivo, sigue estos pasos:
Linux
Codifica el archivo con la herramienta de línea de comandos base64. Asegúrate de evitar el salto de línea con la marca -w 0:
base64 INPUT_FILE -w 0 > OUTPUT_FILE
macOS
Codifica el archivo con la herramienta de línea de comandos base64:
base64 -i INPUT_FILE -o OUTPUT_FILE
Windows
Codifica el archivo con la herramienta Base64.exe:
Base64.exe -e INPUT_FILE > OUTPUT_FILE
PowerShell
Codifica el archivo con el método Convert.ToBase64String:
No es recomendable ni práctico insertar datos binarios en solicitudes a través de editores de texto. En la práctica, insertará archivos codificados en base64 en el código del cliente. Todos los lenguajes de programación admitidos tienen mecanismos integrados para codificar contenido en Base64.
Python
En Python, codifica los archivos de audio en base64 de la siguiente manera:
# 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
En Node.js, codifica los archivos de audio en Base64 de la siguiente manera, donde audioFile
es la ruta al archivo de audio codificado.
En Java, usa el método estático encodeBase64 de org.apache.commons.codec.binary.Base64 para codificar en base64 los archivos binarios:
// Import the Base64 encoding library.importorg.apache.commons.codec.binary.Base64;// Encode the speech.byte[]encodedAudio=Base64.encodeBase64(audio.getBytes());
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-20 (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"]]