Mensajes de error

Consulta cómo resolver algunos errores que genera Speech-to-Text. En este tema se tratan los errores cuya resolución requiere más pasos de los que se pueden describir fácilmente 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.

Speech-to-Text usa 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 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 del código no tenga acceso a las credenciales. En ese caso, es posible que tu solicitud a Speech-to-Text falle.

Para saber cómo proporcionar credenciales a las 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 al lugar correcto.

Para diagnosticar este error, intenta abrir el archivo de clave de cuenta de servicio desde la carpeta desde la que intentas llamar a la API 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 Speech-to-Text API has not been used in
project # before or it is disabled.
Enable it by visitng [url] then retry.
If you enabled this API recently, wait a few minutes for the action to
propagate to our systems and retry.

  1. Visita el enlace especificado en el mensaje de error y habilita la API Speech-to-Text. Espera varios minutos y vuelve a intentarlo.
  2. 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 cuenta de servicio desde la carpeta desde la que intentas llamar a la API 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.

"Se deben usar 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 Speech-to-Text, 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 solo admite la transcripción de datos de audio de hasta 1 minuto de duración. Para datos de audio más largos, usa reconocimiento 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. Para evitar el límite de 10 MB, puedes mover el archivo de audio a un segmento de Google Cloud Storage (GCS). 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 para usar Speech-to-Text.

Puedes solicitar que te aumentemos las cuotas desde la Google Cloud consola.