Ir para a referência da API

Integração API

Da mídia ao texto. Direto no seu fluxo de trabalho.

Nesta página

Visão geral

Transforme arquivos de áudio e vídeo em transcrições e legendas com uma API REST simples.

Envie uma URL de mídia, acompanhe a transcrição e obtenha JSON estruturado ou um arquivo de legendas pronto para usar.

Requisições HTTPSRespostas JSONTarefas assíncronas

URL base

https://api.taption.com/v1POST/transcriptsGET/transcripts/{id}

Sua primeira transcrição

A transcrição acontece em segundo plano. A criação de uma tarefa retorna uma resposta imediata; consulte o status até que o resultado esteja pronto.

  1. Criar uma tarefa

    Envie POST /transcripts com uma URL de mídia direta e pública. Guarde o id retornado.

  2. Consultar o progresso

    Consulte GET /transcripts/{id} a cada 15–30 segundos até que status seja complete ou error.

  3. Usar sua transcrição

    Leia o JSON em data ou baixe o arquivo de export_url ao solicitar SRT ou VTT.

Status da tarefa

initializing

Na fila, aguardando o início. Continue consultando.

transcribing

Sua mídia está sendo transcrita. Continue consultando.

complete

Pronto. Leia o resultado ou baixe o arquivo.

error

A tarefa falhou. Leia message e pare de consultar.

Considere qualquer outro status como ainda em andamento. Novos estados intermediários podem ser adicionados.

Autenticação

Envie sua chave de API no cabeçalho Authorization de cada requisição, exatamente como foi exibida ao criá-la.

Authorization: <your api key>

Não adicione o prefixo Bearer.

As novas chaves começam com tp_live_. A chave completa é exibida apenas uma vez, ao criá-la. Se você a perder, revogue-a e crie uma nova; uma chave revogada para de funcionar imediatamente.

É necessária uma assinatura ativa e uma chave de API com as permissões exigidas.

Mantenha sua chave no servidor. Ela dá acesso às transcrições e ao uso da sua conta. Nunca a exponha no código do navegador nem em um repositório público.

Criar chave de API

Criar uma transcrição

POST/transcripts

Inicie uma tarefa de transcrição para um arquivo de mídia em uma URL pública. A resposta é retornada assim que a tarefa entra na fila, com status: "initializing".

O Taption baixa o arquivo diretamente. Links de páginas de compartilhamento, como uma prévia do Google Drive ou Dropbox, não funcionam.

media_urlstringobrigatório

Link de download direto do seu arquivo de mídia.

Máximo de 2048 caracteres
extensionstringobrigatório

O formato do arquivo de mídia.

mp3wavm4aaacflacwmaopusmp4
languagestringobrigatório

Idioma falado na mídia, como uma tag de idioma. Consulte a referência de idiomas.

Ver tags de idioma
namestring

Nome de exibição da transcrição. Por padrão, é usado o nome do arquivo em `media_url`. Nomes mais longos são cortados em 200 caracteres.

Máximo de 200 caracteres
export_typestring

Formato de saída. O padrão é json, que retorna o conteúdo da transcrição já interpretado em data. srt e vtt retornam um link de arquivo em export_url.

jsonsrtvtt
Padrão: json
max_charinteger

Máximo de caracteres por segmento de legenda. O padrão é `16` para chinês, japonês, coreano e cantonês, e `65` para outros idiomas. Valores fora de 1–200 são ignorados e o padrão é usado.

1–200

Respostas

200

A tarefa foi criada e colocada na fila. Guarde o `id` para consultar o status.

400

O corpo da requisição é inválido. Corrija a requisição antes de tentar novamente. Apenas o primeiro problema encontrado é informado.

401

A chave de API está ausente, é inválida ou não está configurada para acesso à API.

403

É necessária uma assinatura ativa e uma chave de API com as permissões exigidas.

429

Limite da conta atingido; nenhuma tarefa criada. Padrões: Premium 10 envios/minuto e 2 tarefas não concluídas; Corp 30/minuto e 10 tarefas não concluídas, compartilhados entre todas as chaves. Os limites podem mudar. Consultas de status não contam.

500

Erro inesperado no servidor. Tente novamente aumentando a espera exponencialmente.

503

Os limites de envio estão temporariamente indisponíveis (`api_limits_unavailable`; nenhuma transcrição foi criada), ou o envio à fila falhou ou não pôde ser confirmado. Respeite Retry-After, se presente. Se um `id` for retornado, consulte seu status antes de tentar novamente: ele pode ser `error` ou a tarefa já pode estar em processamento. Uma nova tentativa cria uma nova transcrição.

Obter uma transcrição

GET/transcripts/{id}

Obtenha o status atual e o resultado de uma transcrição. Consulte a cada 15–30 segundos enquanto a tarefa estiver em andamento.

Com json ou sem especificar o tipo de exportação, o resultado final aparece em data. Com srt ou vtt, baixe o arquivo de export_url.

idstringobrigatório
O ID da transcrição retornado por POST /transcripts.Máximo de 256 caracteres

Uma transcrição que falhou também retorna HTTP 200 com status: "error". Verifique o status da tarefa além do código HTTP.

Respostas

200

O status atual da transcrição. Isso não significa que a tarefa foi concluída com sucesso; leia `status`.

401

A chave de API está ausente, é inválida ou não está configurada para acesso à API.

403

É necessária uma assinatura ativa e uma chave de API com as permissões exigidas.

404

Não existe uma transcrição com este ID na sua conta. Uma transcrição de outra conta retorna a mesma resposta.

500

Erro inesperado no servidor. Tente novamente aumentando a espera exponencialmente.

O objeto de transcrição

As requisições de criação e consulta de status retornam um objeto JSON. Seus campos descrevem a tarefa e, quando estiver pronto, seu resultado.

idstring
O ID da transcrição. Use-o com `GET /transcripts/{id}`.
statusstring
Status da tarefa: `initializing`, `transcribing`, `complete` ou `error`. Considere qualquer outro valor como ainda em andamento.
dataJSON
Exportação JSON já interpretada quando pronta para json ou se export_type for omitido; caso contrário, uma string vazia.
export_urlstring
Link de download de uma exportação srt ou vtt. Vazio até que esteja pronta. Omitido das respostas de status para json ou se export_type for omitido.
messagestring
Detalhes adicionais do status atual. Durante `transcribing`, pode indicar uma etapa como `ANALYZING` ou `FINALIZING`. Quando `status` é `error`, descreve a falha. Destinado à leitura por pessoas; não o interprete por código.
error_codestring
Código opcional legível por máquina para um erro de limite de envio.
limitinteger
Limite aplicável à conta, incluído nas respostas HTTP 429.

Erros e novas tentativas

Use o código de status HTTP para decidir o próximo passo. O campo message é destinado à leitura por pessoas; sua redação pode mudar.

As respostas da API incluem o cabeçalho X-Request-Id. Informe-o ao entrar em contato com o suporte sobre uma requisição.

Códigos de erro HTTP9 códigos
Erros HTTP e orientações para novas tentativas
HTTPO que aconteceuPróximo passo
400Corpo da requisição inválido.Corrija a requisição primeiro.
401Chave de API ausente, inválida ou revogada.Verifique sua chave de API.
403É necessária uma assinatura ativa e uma chave de API com as permissões exigidas.Verifique sua assinatura e as permissões da chave de API.
404Transcrição não encontrada na sua conta.Verifique o ID da transcrição.
405Método HTTP incorreto.Use o método documentado.
429Limite de envios ou de tarefas não concluídas atingido.Respeite Retry-After e aguarde uma vaga para a tarefa.
500Erro inesperado no servidor.Aumente a espera exponencialmente.
503Limites de envio indisponíveis, ou o envio à fila falhou ou não pôde ser confirmado.Consulte o ID de tarefa retornado antes de tentar novamente; respeite Retry-After.
504O tempo limite da requisição foi excedido.Aumente a espera e evite tarefas duplicadas.

Erros de limite da API retornam HTTP 429 com JSON e Retry-After em segundos. A hospedagem também pode retornar 429, 504 ou 400 sem JSON. Verifique o status HTTP antes de ler o corpo.

As solicitações de criação não são idempotentes. Repetir um POST /transcripts que excedeu o tempo pode criar outra transcrição. Se uma resposta 503 incluir um ID de tarefa, consulte essa tarefa antes de enviar novamente: ela pode ter falhado ou já estar em processamento.

Idiomas

Defina language como o idioma falado na mídia. Use a tag exata abaixo, incluindo qualquer sufixo de região ou sistema de escrita de saída.

Idiomas disponíveis74 idiomas
Tags de idioma disponíveis para transcrição
IdiomaTag
Afrikaans (South Africa)af-ZA
Arabic (Egypt)ar-EG
Armenian (Armenia)hy-AM
Assamese (India)as-IN
Azerbaijani (Azerbaijan)az-AZ
Bengali (India)bn-IN
Bosnian (Bosnia and Herzegovina)bs-BA
Bulgarian (Bulgaria)bg-BG
Burmese (Myanmar)my-MM
Cantonese, Simplified Chinese output (Hong Kong)yue-Hant-HK-zh
Cantonese, Traditional Chinese output (Hong Kong)yue-Hant-HK-TW-zh
Cantonese, Simplified Cantonese output (Hong Kong)yue-Hant-HK
Cantonese, Traditional Cantonese output (Hong Kong)yue-Hant-HK-TW
Catalan (Spain)ca-ES
Chinese (China)zh
Chinese (Taiwan)zh-TW
Chinese & English (Simplified)zh-EN
Chinese & English (Traditional)zh-EN-TW
Croatian (Croatia)hr-HR
Czech (Czech Republic)cs-CZ
Danish (Denmark)da-DK
Dutch (Belgium)nl-BE
English (Australia)en-AU
English (United Kingdom)en-GB
English (United States)en-US
Estonian (Estonia)et-EE
Filipino (Philippines)tl-PH
Finnish (Finland)fi-FI
French (France)fr-FR
Galician (Spain)gl-ES
German (Germany)de-DE
Greek (Greece)el-GR
Gujarati (India)gu-IN
Hebrew (Israel)iw-IL
Hindi (India)hi-IN
Hungarian (Hungary)hu-HU
Icelandic (Iceland)is-IS
Indonesian (Indonesia)id-ID
Italian (Italy)it-IT
Japanese (Japan)ja-JP
Kannada (India)kn-IN
Kazakh (Kazakhstan)kk-KZ
Khmer (Cambodia)km-KH
Korean (South Korea)ko-KR
Latvian (Latvia)lv-LV
Lithuanian (Lithuania)lt-LT
Macedonian (North Macedonia)mk-MK
Malay (Malaysia)ms-MY
Malayalam (India)ml-IN
Marathi (India)mr-IN
Nepali (Nepal)ne-NP
Norwegian (Norway)no-NO
Odia (India)or-IN
Persian (Iran)fa-IR
Polish (Poland)pl-PL
Portuguese (Portugal, Brazil)pt-PT_pt-BR
Punjabi, Gurmukhi (India)pa-IN
Romanian (Romania)ro-RO
Russian (Russia)ru-RU
Serbian (Serbia)sr-SR
Slovak (Slovakia)sk-SK
Slovenian (Slovenia)sl-SI
Spanish (Spain)es-ES
Swahili (Kenya)sw-KE
Swedish (Sweden)sv-SE
Tamil (India)ta-IN
Telugu (India)te-IN
Thai (Thailand)th-TH
Turkish (Turkey)tr-TR
Ukrainian (Ukraine)uk-UA
Urdu (Pakistan)ur-PK
Uzbek (Uzbekistan)uz-UZ
Vietnamese (Vietnam)vi-VN
Zulu (South Africa)zu-ZA

Esta lista segue as configurações de idioma do Taption e pode mudar. O seletor de idioma do Taption é a referência oficial.

Voltar à visão geral