DocumentaçãoLinks aceitos e opções
Links aceitos e opções
Confira quais links funcionam e configure a origem da transcrição, o idioma e a identificação de falantes.
Cole um link do YouTube, X, TikTok, Instagram, Facebook ou Bluesky, ou envie seu arquivo. Também aceitamos as gravações públicas das outras plataformas listadas abaixo. Para configurar a transcrição, use source, diarize e language no corpo de POST /v1/transcriptions. Esses campos são opcionais e controlam, respectivamente, a origem do texto, a identificação de falantes e o idioma.
De quais plataformas você pode enviar links
Informe o endereço em url. Você não precisa preencher platform: a API reconhece a plataforma pelo link. Se preencher, use a plataforma correspondente ao endereço.
| Plataforma | Links aceitos |
|---|---|
YouTube (youtube) | Use um dos formatos de link de vídeo da próxima seção. |
X (x) | Link de um post com vídeo em x.com ou twitter.com. Exemplo: https://x.com/user/status/1234567890. |
TikTok (tiktok) | Link do vídeo em tiktok.com ou link curto de vm.tiktok.com, vt.tiktok.com ou www.tiktok.com/t/. |
Instagram (instagram) | Reels e posts com vídeo em instagram.com, nos caminhos /reel/, /reels/, /p/ ou /tv/. O nome do usuário pode aparecer antes do caminho do reel ou post. |
Facebook (facebook) | Vídeos e reels em facebook.com, incluindo links de watch. Também funcionam os links curtos fb.watch, /share/v/ e /share/r/. |
Bluesky (bluesky) | Link de um post com vídeo em bsky.app. Exemplo: https://bsky.app/profile/user.example/post/3l3w4b5c6d7e2. |
Twitch (twitch) | Após o fim da transmissão, envie o VOD por twitch.tv/videos/<id> ou /<channel>/v/<id>; video também funciona. Para clipes, use clips.twitch.tv/<slug>, twitch.tv/<channel>/clip/<slug> ou /clip/<slug>. Hosts aceitos: twitch.tv, www, m, go e clips.twitch.tv. |
Dailymotion (dailymotion) | Use dailymotion.com/video/<id>, com ou sem _title, /embed/video/<id> ou dai.ly/<id>. Os hosts www.dailymotion.com e touch.dailymotion.com também funcionam. |
Pinterest (pinterest) | Pins com vídeo da própria plataforma em pinterest.com ou www.pinterest.com, nos caminhos /pin/<id>/ e /pin/<slug>--<id>/. Transcrevemos o primeiro bloco de vídeo nativo. Não aceitamos vídeos incorporados de outros sites, imagens, pastas, pin.it ou domínios regionais. |
LinkedIn (linkedin) | Posts públicos com vídeo em linkedin.com ou www.linkedin.com: /posts/<slug>-<activity-id>-<four-character-suffix> ou /feed/update/urn:li:activity:<id>/. Links de perfis, LinkedIn Learning, eventos e lnkd.in não funcionam. |
Snapchat Spotlight (snapchat) | Use o caminho /spotlight/<id> em snapchat.com ou www.snapchat.com. Stories e perfis não funcionam. |
Nas cinco plataformas adicionais, use HTTPS e não inclua credenciais ou portas personalizadas na URL. Envie o link de uma gravação pública específica. Não aceitamos posts privados ou que exijam login, transmissões ao vivo ou ainda em processamento, perfis, feeds ou coleções. Não enviamos cookies de conta para acessar o conteúdo.
Parâmetros de tempo no link não recortam a gravação. Em clipes da Twitch e vídeos do Snapchat Spotlight, media_id pode ser uma string sem relação aparente com o link. Guarde o valor como veio na resposta, sem tentar reconstruí-lo pela URL.
No X, TikTok, Instagram, Facebook e Bluesky, o post precisa ser público. Se houver vários vídeos no mesmo post, transcrevemos só o primeiro. Não aceitamos perfis, stories, páginas de lives nem posts de fotos do TikTok. Se a plataforma exigir login, você recebe login_required. Se o vídeo não tiver faixa de áudio, recebe no_audio. Nos dois casos, você não paga.
Podemos aproveitar as legendas no idioma original do YouTube, X, TikTok, Bluesky, Dailymotion e LinkedIn, mas a disponibilidade depende do vídeo. No Instagram, Facebook, Twitch, Pinterest e Snapchat, usamos transcrição com IA nos modos auto e stt; essas plataformas não aceitam captions. O preço por minuto é o mesmo para todas as plataformas e para uploads, sempre com base na duração medida.
Só aceitamos os formatos de link curto listados na tabela. Se o link de compartilhamento não revelar o ID do post na hora do envio, não conseguimos associá-lo a uma transcrição anterior. Para reutilizar uma transcrição, prefira o link completo do post.
| Plataforma | Quais legendas usamos e quais marcações de tempo vêm |
|---|---|
| YouTube e X | Usamos as faixas já disponíveis. Só as legendas geradas automaticamente pelo YouTube trazem marcações de tempo por palavra. |
| TikTok | Buscamos as legendas nativas disponíveis em VTT ou SRT. As marcações de tempo são por segmento. |
| Bluesky | Buscamos legendas nativas no PDS confiável aceito pelo serviço. Não buscamos em qualquer host federado, nem em vídeos citados ou externos. As marcações de tempo são por segmento. |
| Dailymotion | Buscamos arquivos SRT diretos, não playlists de legendas. As marcações de tempo são por segmento. Quando identificamos faixas en-auto/fr-auto, informamos auto_generated. |
| Buscamos faixas VTT em posts públicos com vídeo nativo. LinkedIn Learning fica de fora. As marcações de tempo são por segmento. |
Quais links do YouTube funcionam
Coloque o endereço do vídeo em url. Deixe platform de fora ou use youtube. Aceitamos os formatos abaixo, com ou sem www.:
| Tipo de link | Exemplo |
|---|---|
| Página do vídeo | https://www.youtube.com/watch?v=dQw4w9WgXcQ |
| Link curto | https://youtu.be/dQw4w9WgXcQ |
| Shorts | https://www.youtube.com/shorts/dQw4w9WgXcQ |
| Embed | https://www.youtube.com/embed/dQw4w9WgXcQ |
| Caminho de live | https://www.youtube.com/live/dQw4w9WgXcQ |
| Versões mobile e de música | https://m.youtube.com/watch?v=dQw4w9WgXcQ, https://music.youtube.com/watch?v=dQw4w9WgXcQ |
Pode manter parâmetros como t, list e si no link: eles são ignorados. Formatos diferentes que apontam para o mesmo vídeo contam como o mesmo vídeo. Envie a URL completa; só o ID de 11 caracteres não basta.
Links de canal, de playlist sem vídeo ou fora dos formatos aceitos geram 422 invalid_url. Se platform tiver um valor desconhecido, a resposta será 422 unsupported_platform, com a lista supported_platforms.
O vídeo precisa ser público ou não listado. Vídeos privados geram media_private; com restrição de idade, age_restricted; e transmissões ao vivo, live_stream. Se você tem o arquivo, pode enviá-lo por upload.
source
Escolha em source se o texto deve vir das legendas ou do áudio.
| Valor | O que acontece |
|---|---|
auto (padrão) | Busca primeiro as legendas no idioma original do YouTube, X, TikTok, Bluesky, Dailymotion e LinkedIn. Se não puder usá-las, transcreve o áudio com IA. |
captions | Usa o modo captions (somente legendas) nas plataformas com esse recurso, sem baixar áudio ou usar speech-to-text. Se não houver uma faixa que possa ser usada, retorna no_captions, sem cobrança. Se o download do conteúdo das legendas falhar, informa fetch_failed. As demais plataformas rejeitam essa opção com 422 invalid_request. |
stt | Vai direto à transcrição do áudio com IA, sem buscar legendas. |
Em uploads, sempre transcrevemos o áudio com speech-to-text. Use auto ou stt em source. O valor captions gera 422 invalid_request.
Para usar uma faixa de legendas, ela precisa estar no idioma solicitado. Se language for auto, usamos o idioma original do vídeo. No YouTube, as legendas precisam ter sido enviadas pelo criador ou geradas pelo YouTube naquele idioma. Nunca usamos traduções automáticas. Priorizamos as legendas enviadas pelo criador, depois as de origem desconhecida e, por último, as geradas automaticamente. Não trate uma origem desconhecida como prova de autoria do criador.
No X, usamos as faixas VTT disponíveis. Elas trazem marcações de tempo por segmento, sem tempos por palavra, mesmo quando são geradas automaticamente. Com auto, podemos recorrer ao STT se as legendas estiverem indisponíveis ou não puderem ser lidas. Erros de rota, armazenamento ou programação não acionam essa alternativa. Com stt, pulamos as legendas em todos os casos.
diarize
Ative diarize para identificar os falantes. Por padrão, o valor é false.
- A identificação de falantes depende de speech-to-text. Se usar
diarize: truecomsourceemauto, o serviço vai direto ao áudio, sem buscar legendas. - Não combine
source: "captions"ediarize: true: a API responde422 invalid_request. - Você recebe rótulos como
Speaker 1eSpeaker 2emtranscript.speakerse no campospeakerde cada segmento. Nos formatostextesrt, eles aparecem como prefixoSpeaker 1:. Novtt, usamos a tag de voz<v Speaker 1>.
{ "platform": "youtube", "url": "https://youtu.be/dQw4w9WgXcQ", "source": "stt", "diarize": true }language
Deixe language em auto, que é o padrão, ou informe um código ISO 639-1 de duas letras, como en, de ou es.
- Se o texto vier de legendas,
languageseleciona o idioma da faixa. Comauto, escolhemos o idioma original do vídeo. - Na transcrição com IA, enviamos o código ao provedor de speech-to-text como uma indicação do idioma. Com
auto, o serviço detecta o idioma e informalanguageem cada segmento.
No objeto principal da transcrição, language informa o idioma predominante.
Como a transcrição vem na resposta
Confira transcript_source para saber de onde veio o texto. Os valores são youtube_captions, x_captions, tiktok_captions, bluesky_captions, dailymotion_captions, linkedin_captions e speech_to_text. Quando usamos legendas, caption_kind informa manual, auto_generated ou null. O valor null indica origem desconhecida; não significa que o criador enviou as legendas.
youtube_captions, caption_kind manual | youtube_captions, caption_kind auto_generated | speech_to_text | |
|---|---|---|---|
| Segmentos | Um para cada trecho de legenda | Um para cada trecho de legenda | Um novo segmento a cada mudança de falante ou idioma, pontuação de fim de frase ou ao atingir 15 segundos |
Marcações de tempo por palavra com include=words | Não há (words é null) | Início de cada palavra; o fim coincide com o início da próxima | Início e fim de cada palavra, com confidence |
| Identificação de falantes | Não | Não | Sim, quando diarize é true |
| Idioma | O mesmo da faixa de legendas | O mesmo da faixa de legendas | Informado por segmento |
Mantemos o texto das legendas como o YouTube publicou, incluindo tags como [Music]. Para transcrição com speech-to-text, a gravação pode ter até 5 horas. Acima disso, você recebe media_too_long.
As legendas do X (x_captions), TikTok, Bluesky, Dailymotion e LinkedIn só trazem marcações de tempo por segmento e não identificam falantes. Mesmo com include=words, cada segmento terá words: null, inclusive nas legendas geradas automaticamente. Para obter marcações de tempo por palavra com IA, use source: "stt". Para identificar falantes, combine diarize: true com auto ou stt.
Quanto custa cada modo
Você paga o mesmo usando legendas ou speech-to-text: um crédito por minuto da gravação, com arredondamento para cima. Escolher a origem do texto não muda o preço. Consulte Planos, minutos e limites.
Última atualização 20 de outubro de 2026