Pular para o conteúdo
int8labs

Cria uma transcrição em lote (arquivo ou URL)

POSThttps://api.int8labs.com/v1/stt/transcriptions

Cria uma transcrição em lote a partir de um arquivo (multipart/form-data) ou de uma URL (JSON). O job entra na fila e a resposta é 202; com wait=true e áudio de até 10 minutos, a resposta espera o fim e volta 200.

EscoposttAuthBearer int8_live_ ou int8_tmp_Limite120/min por chave

Corpo: arquivomultipart/form-data

filefileobrigatório

O áudio: até 500 MB e 4 horas.

keytermsarray<string>opcionalaté 100 itens, cada um com até 50 caracteres

Até 100 termos (nomes próprios, produtos, jargão) que o decodificador prefere.

webhook_urlstringopcionalURL

Recebe transcription.completed ou transcription.failed.

waitbooleanopcionalpadrão false

Com áudio de até 10 minutos, espera o fim e responde 200.

Corpo: URLapplication/json

urlstringobrigatórioURL

http(s) público; até 500 MB, baixado em até 60 s.

keytermsarray<string>opcionalaté 100 itens, cada um com até 50 caracteres

Até 100 termos (nomes próprios, produtos, jargão) que o decodificador prefere.

webhook_urlstringopcionalURL

Recebe transcription.completed ou transcription.failed.

waitbooleanopcionalpadrão false

Com áudio de até 10 minutos, espera o fim e responde 200.

Resposta 200

Com wait=true e áudio de até 10 minutos: o job já terminado.

idstringobrigatório
statusstringobrigatório
queuedprocessingcompletedfailedcanceled
sourcestringobrigatório
apiplayground
inputstringobrigatório
uploadurl
file_namestring | nullobrigatório
size_bytesinteger | nullobrigatório
duration_msinteger | nullobrigatório
keytermsarray<string>obrigatório
webhook_urlstring | nullobrigatório
cost_brlnumber | nullobrigatório

Custo cobrado quando o job concluiu; job que falha não cobra.

errorobject | nullobrigatório
error.codestringobrigatório
error.messagestringobrigatório
resultobject | nullopcional

Só no job concluído; a lista não traz este campo.

result.textstringobrigatório

Em minúsculas, sem pontuação e com os números por extenso.

result.segmentsarray<object>obrigatório

Cortes em pontos de silêncio, de até 30 s.

result.segments[].start_msintegerobrigatório
result.segments[].end_msintegerobrigatório
result.segments[].textstringobrigatório
result.duration_msintegerobrigatório
created_atstringobrigatório
started_atstring | nullobrigatório
completed_atstring | nullobrigatório
expires_atstring | nullobrigatório

O resultado vale 30 dias depois de terminar.

Resposta 202

O job entrou na fila.

idstringobrigatório
statusstringobrigatório
queuedprocessingcompletedfailedcanceled
sourcestringobrigatório
apiplayground
inputstringobrigatório
uploadurl
file_namestring | nullobrigatório
size_bytesinteger | nullobrigatório
duration_msinteger | nullobrigatório
keytermsarray<string>obrigatório
webhook_urlstring | nullobrigatório
cost_brlnumber | nullobrigatório

Custo cobrado quando o job concluiu; job que falha não cobra.

errorobject | nullobrigatório
error.codestringobrigatório
error.messagestringobrigatório
resultobject | nullopcional

Só no job concluído; a lista não traz este campo.

result.textstringobrigatório

Em minúsculas, sem pontuação e com os números por extenso.

result.segmentsarray<object>obrigatório

Cortes em pontos de silêncio, de até 30 s.

result.segments[].start_msintegerobrigatório
result.segments[].end_msintegerobrigatório
result.segments[].textstringobrigatório
result.duration_msintegerobrigatório
created_atstringobrigatório
started_atstring | nullobrigatório
completed_atstring | nullobrigatório
expires_atstring | nullobrigatório

O resultado vale 30 dias depois de terminar.

Erros

HTTPCódigoO que fazer
400invalid_requestLeia a message, que diz o campo, e corrija o pedido. Repetir igual dá o mesmo erro.
401invalid_api_keyMande Authorization: Bearer int8_live_… no servidor, ou ?token=int8_tmp_… no WebSocket do navegador.
401api_key_expiredCrie uma chave nova no console, ou peça um token novo em POST /v1/tokens.
401api_key_revokedTroque pela chave nova. Os tokens emitidos pela chave revogada param de valer junto.
402insufficient_balanceRecarregue em console › Faturamento. O crédito do PIX entra em segundos.
403ip_not_allowedInclua o IP (ou a faixa CIDR) na chave, em console › Chaves de API › Editar.
403scope_deniedEdite os escopos da chave no console, ou emita o token com o escopo certo.
413payload_too_largeDivida o pedido. Os limites estão na página Limites.
415unsupported_mediaMande wav, mp3, m4a/aac, ogg/opus, flac, webm ou mp4. Confira se o arquivo abre num player.
429rate_limitedEspere os segundos do Retry-After e repita. Na transcrição ao vivo, mande o áudio no ritmo da fala.
429concurrency_limitedEspere um pedido terminar, ou enfileire do seu lado.