En esta página se describen los errores de Cloud Speech-to-Text cuya resolución requiere más pasos de los que se pueden describir en un mensaje de error.
"Las credenciales predeterminadas de la aplicación no están disponibles"
Si recibes este mensaje:
The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
Cloud STT usa las credenciales de aplicación predeterminadas (ADC) para la autenticación.
Las credenciales de ADC deben estar disponibles en el contexto en el que llames a la API Cloud Speech-to-Text. Por ejemplo, si configuras ADC en tu terminal, pero ejecutas el código en el depurador de tu IDE, es posible que el contexto de ejecución de tu código no tenga acceso a las credenciales. En ese caso, es posible que tu solicitud a Cloud STT falle.
Para saber cómo proporcionar credenciales a ADC, consulta Configurar credenciales predeterminadas de la aplicación.
"El archivo ... (al que apunta la variable de entorno GOOGLE_APPLICATION_CREDENTIALS) no existe".
Si recibes este mensaje:
ERROR: (gcloud.auth.application-default.print-access-token) File /path/to/key.json
(pointed by GOOGLE_APPLICATION_CREDENTIALS environment variable) does not exist!
{
"error": {
"code": 403,
"message": "The request is missing a valid API key.",
"status": "PERMISSION_DENIED"
}
}
Comprueba que tienes un archivo JSON de clave de cuenta de servicio válido en la ubicación almacenada en la variable de entorno GOOGLE_APPLICATION_CREDENTIALS y que la variable apunta a la ubicación correcta.
Para diagnosticar este error, intenta abrir el archivo de clave de la cuenta de servicio desde la carpeta desde la que intentas llamar a la API Cloud Speech-to-Text.
cat $GOOGLE_APPLICATION_CREDENTIALS
Prohibido: no se ha usado la API POST 403 o está inhabilitada
Si recibes el mensaje:
Forbidden: 403 POST Cloud Speech-to-Text API has not been used in project # before or it is disabled. Enable it by visiting [url] then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
- Visita el enlace especificado en el mensaje de error y habilita la API Cloud STT. Espera varios minutos y vuelve a intentarlo.
- Comprueba que tienes un archivo JSON de clave de cuenta de servicio válido almacenado en la variable de entorno
GOOGLE_APPLICATION_CREDENTIALS. Para diagnosticar este error, intenta abrir el archivo de clave de la cuenta de servicio desde la carpeta desde la que intentas llamar a la API Cloud Speech-to-Text.
cat $GOOGLE_APPLICATION_CREDENTIALS
"Debe usar audio de un solo canal (mono)"
Si recibes este mensaje:
Must use single channel (mono) audio, but WAV header indicates 2 channels.
Tu archivo de audio contiene más de un canal. Para transcribir este archivo de audio, debes declarar que tiene varios canales.
"Deben usarse muestras de 16 bits para LINEAR_PCM"
Si recibes este mensaje:
INVALID_ARGUMENT: Must use 16 bit samples for LINEAR_PCM, but the WAV header indicates 8 bits per sample
Es posible que tengas que cambiar la codificación que has especificado en tu RecognitionConfig.
Para obtener información sobre las codificaciones admitidas en Cloud STT, consulta la guía sobre codificaciones.
"Sync input too long" ("La entrada de sincronización es demasiado larga")
Si recibes este mensaje:
Sync input too long. For audio longer than 1 min use LongRunningRecognize with a 'uri' parameter.
El método recognize síncrono de Speech-to-Text de Cloud solo admite la transcripción de datos de audio de hasta 1 minuto de duración. Para datos de audio más largos, usa recognize asíncrono.
"Reconocimiento no válido 'config': codificación incorrecta"
Si recibes este mensaje:
Invalid recognition 'config': bad encoding.
Es posible que tus datos de audio no estén codificados correctamente o que estén codificados con un códec diferente al que has declarado en RecognitionConfig. Comprueba la entrada de audio y asegúrate de que has configurado correctamente el campo encoding.
"El tamaño de la carga útil de la solicitud supera el límite"
Si recibes alguno de estos mensajes:
Request payload size exceeds the limit.
Inline audio exceeds duration limit. Please use a GCS URI.
Has superado el límite de tamaño de 10 MB para una sola solicitud enviada a la API mediante un archivo local. Puedes mover el archivo de audio a un segmento de Cloud Storage para evitar el límite de 10 MB. Consulta la página Cuotas y límites para obtener más información.
"Se ha superado la cuota"
Si recibes este mensaje:
RESOURCE_EXHAUSTED: Quota exceeded.
Has alcanzado el límite de tu cuota por minuto o diaria. Consulta las cuotas y los límites de uso de Cloud STT.
Puedes solicitar que te aumentemos las cuotas desde la Google Cloud consola.