Docs · API compatível com OpenAI
Áudio
Voz para texto e texto para voz, nos formatos da OpenAI.
Os dois endpoints usam a sua chave de API, contam no limite de requisições /v1 compartilhado e não contam na sua cota de tokens.
POST/v1/audio/transcriptions#
Envie o áudio como multipart/form-data.
| Campo | Obrigatório | Notas |
|---|---|---|
file | sim | o áudio. Um tipo que o servidor não aceita devolve 400; um arquivo acima do limite de tamanho devolve 413 |
language | não | um código de idioma ISO. Quando omitido, vale o padrão do servidor, que é o português, a menos que o operador tenha mudado, então defina-o para outros idiomas |
response_format | não | json (padrão) ou text. verbose_json, srt e vtt devolvem 400 |
model, prompt, temperature, timestamp_granularities[] | não | aceitos e ignorados. O modelo é o do servidor |
curl -s "$SHVIA_URL/v1/audio/transcriptions" \
-H "Authorization: Bearer $SHVIA_API_KEY" \
-F "file=@meeting.mp3" \
-F "language=en"{ "text": "Welcome, everyone. Let us start with the numbers." }Com response_format=text o corpo é a transcrição pura. Os tipos de áudio aceitos são WebM, Ogg, MP4, M4A, AAC, MP3, WAV e FLAC. O limite de tamanho padrão é 15 MiB, definido pelo operador.
POST/v1/audio/speech#
Envie JSON.
| Campo | Obrigatório | Notas |
|---|---|---|
input | sim | o texto. O texto além do limite do servidor, 4000 caracteres por padrão, é cortado em silêncio |
voice | não | um nome de voz. É repassado ao servidor de voz como está, então os nomes válidos são os dele |
response_format | não | mp3, opus, aac, flac, wav ou pcm. O padrão é definido pelo operador, normalmente mp3 |
model, speed, instructions | não | aceitos e ignorados |
curl -s "$SHVIA_URL/v1/audio/speech" \
-H "Authorization: Bearer $SHVIA_API_KEY" -H "Content-Type: application/json" \
-d '{ "input": "Your order has shipped.", "response_format": "mp3" }' \
--output answer.mp3A resposta são os bytes do áudio, em buffer e enviados inteiros, com Cache-Control: no-store. O Content-Type segue o formato que você pediu. pcm é rotulado como audio/wav.
Erros#
O formato da OpenAI, como em chat completions:
| Status | code | Quando |
|---|---|---|
| 400 | invalid_request_error | falta file ou input, um formato não suportado, ou um tipo de áudio não aceito |
| 401 | invalid_api_key | a chave não é válida |
| 403 | permission_denied | o servidor de voz roda em outra máquina e o grupo da sua conta só pode usar os servidores locais do operador |
| 413 | invalid_request_error | o arquivo de áudio é grande demais |
| 429 | nenhum | limite de requisições atingido |
| 502 | upstream_error | o servidor de voz não pôde ser alcançado ou respondeu com erro |
| 503 | audio_not_configured | o operador não configurou a voz |