Skip to main content

Keys and security

  • The key lives on your server, read from an environment variable or secret store. It is not in the app, the web page or the repository.
  • Each app and environment has its own key, with only the scopes it uses.
  • You know how to revoke a key and who on your team can do it.
  • Your server checks your own users before calling the API on their behalf, so a stranger cannot use your server to spend your allowance.

Reliability

  • Timeouts are generous (minutes), because the first request after a quiet spell is slower.
  • Network errors, 429 rate_limited and 5xx are retried with a growing pause; 4xx errors are not.
  • Recordings are kept until their answer arrives, so a failed upload never asks someone to speak again.
  • Your logs keep the request_id of failed requests (and not the audio or the text).

Cost and limits

  • Audio played to many people is generated once and stored.
  • You check /v1/usage and know what happens in your app when quota_exceeded arrives.
  • If you expect more than the beta allowance, you have written to us before launch.

People

  • Listeners know the voice is AI-generated.
  • People know their voice is sent to a service to be transcribed or translated, and agreed to it.
  • Where a mistake could hurt (health, money, legal), a person checks what the model produced.
  • Native speakers of your users’ language listened to your app’s audio and read its transcripts before launch.
See responsible use for what the API may not be used for.