Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Lorsque vous envoyez des données audio à l'API Speech-to-Text, vous pouvez les envoyer directement (dans le champ content de la requête) ou faire en sorte que l'API effectue une reconnaissance à distance des données stockées dans un bucket Cloud Storage.
Vous pouvez envoyer des données directement dans le champ content pour la reconnaissance synchroneuniquement si vos données audio ne dépassent pas 60 secondes et 10 Mo. Toutes les données audio du champ content doivent être au format base64. Vous trouverez sur cette page la procédure à suivre pour convertir le contenu audio d'un fichier binaire en données encodées en base64.
Si vos données audio dépassent 60 secondes ou 10 Mo, elles doivent être stockées dans un bucket Cloud Storage afin d'être envoyées pour reconnaissance. Vous pouvez les analyser de manière asynchrone sans les convertir au format base64. Pour en savoir plus, consultez la documentation sur la reconnaissance asynchrone.
Utiliser la ligne de commande
Dans une requête gRPC, vous pouvez écrire directement les données binaires. Cependant, une requête REST utilise JSON. JSON est un format de texte qui n'est pas directement compatible avec les données binaires. Vous devez donc convertir ces données binaires en texte en utilisant l'encodage base64.
La plupart des environnements de développement contiennent un utilitaire natif base64 permettant d'encoder un fichier binaire en données texte ASCII. Pour encoder un fichier, procédez comme suit :
Linux
Encodez le fichier vidéo à l'aide de l'outil de ligne de commande base64, en veillant à empêcher tout retour à la ligne grâce à l'indicateur -w 0 :
base64 INPUT_FILE -w 0 > OUTPUT_FILE
macOS
Encodez le fichier à l'aide de l'outil de ligne de commande base64 :
base64 -i INPUT_FILE -o OUTPUT_FILE
Windows
Encodez le fichier à l'aide de l'outil Base64.exe :
Base64.exe -e INPUT_FILE > OUTPUT_FILE
PowerShell
Encodez le fichier à l'aide de la méthode Convert.ToBase64String :
L'intégration de données binaires dans des requêtes via des éditeurs de texte n'est pas plus souhaitable qu'elle n'est pratique. Concrètement, vous allez incorporer des fichiers encodés en base64 dans le code client. Tous les langages de programmation compatibles intègrent des mécanismes d'encodage de contenu en base64.
Python
En Python, vous pouvez encoder les fichiers audio en base64 comme suit :
# 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, base64 encode les fichiers audio comme suit, où audioFile correspond au chemin d'accès au fichier audio encodé.
En Java, recourez à la méthode statique encodeBase64 disponible dans org.apache.commons.codec.binary.Base64 pour encoder des fichiers binaires en base64 :
// Import the Base64 encoding library.importorg.apache.commons.codec.binary.Base64;// Encode the speech.byte[]encodedAudio=Base64.encodeBase64(audio.getBytes());
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (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"]]