Documentação para desenvolvedores

API REST e Model Context Protocol

API do Fast Transcriber

Crie tarefas de transcrição para links públicos ou mídias enviadas e recupere texto estruturado e segmentos com marcação de tempo.

URL base

text
https://fast-transcriber.com/api/v1

O documento OpenAPI 3.1 legível por máquina está disponível em /api/v1/openapi.

Autenticação

Envie uma chave de API ativa do Fast Transcriber no cabeçalho Authorization como token Bearer. O segredo completo é exibido apenas uma vez, no momento da criação.

http
Authorization: Bearer ft_live_replace_me

Endpoints

MétodoCaminhoFinalidade
POST/uploadsPreparar um envio direto
POST/uploads/multipartConcluir um envio multipart
DELETE/uploads/multipartCancelar um envio multipart
POST/transcriptionsColocar uma URL ou um arquivo enviado na fila
GET/transcriptionsListar tarefas recentes
GET/transcriptions/{id}Recuperar status e resultado

Transcrever uma URL

Forneça exatamente um campo source_url. Links públicos compatíveis usam o mesmo processo de resolução de links do recurso no navegador.

bash
curl --request POST https://fast-transcriber.com/api/v1/transcriptions \
  --header "Authorization: Bearer $FAST_TRANSCRIBER_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "source_url": "https://www.youtube.com/watch?v=example",
    "speaker_diarization": false
  }'

Uma solicitação bem-sucedida retorna 202 Accepted e um cabeçalho Location que contém a URL a ser consultada.

Enviar um arquivo

Primeiro, solicite um destino pré-assinado com o nome exato do arquivo, o tamanho em bytes e o tipo MIME.

bash
curl --request POST https://fast-transcriber.com/api/v1/uploads \
  --header "Authorization: Bearer $FAST_TRANSCRIBER_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "filename": "interview.mp3",
    "content_type": "audio/mpeg",
    "size": 1234567
  }'
  1. Envie os bytes para o destino simples ou multipart retornado.
  2. Guarde a chave e o provedor de armazenamento retornados.
  3. Coloque uma transcrição na fila usando essa referência de envio.

Antes de colocar a tarefa na fila, o servidor verifica o proprietário do objeto, o tamanho armazenado e o tipo de mídia. Chaves criadas para outra conta são recusadas.

Resultados

Consulte a URL da tarefa até que status seja completed ou failed. Tarefas concluídas incluem texto e segmentos com marcação de tempo.

json
{
  "data": {
    "id": "95c3fdd8-...",
    "filename": "interview.mp3",
    "status": "completed",
    "created_at": "2026-08-24T16:30:00.000Z",
    "duration_seconds": 1842,
    "text": "Completed transcript text...",
    "segments": []
  }
}

Erros

Todos os erros da API usam um envelope estável que contém um código e uma mensagem.

json
{
  "error": {
    "code": "daily_limit_reached",
    "message": "You've reached your daily upload limit."
  }
}
400Solicitação ou fonte inválida
401Chave de API ausente, inválida ou revogada
403Recurso indisponível no plano atual
413O arquivo excede o limite da conta
429Limite de uso diário atingido
503Serviço de processamento indisponível

Limites

As tarefas da API compartilham os limites do plano da conta com o navegador. Solicitações de listagem aceitam um parâmetro limit entre 1 e 100, com o valor padrão 25. A identificação de locutores exige o plano Pro.