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.

PlataformaLinks 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.

PlataformaQuais legendas usamos e quais marcações de tempo vêm
YouTube e XUsamos as faixas já disponíveis. Só as legendas geradas automaticamente pelo YouTube trazem marcações de tempo por palavra.
TikTokBuscamos as legendas nativas disponíveis em VTT ou SRT. As marcações de tempo são por segmento.
BlueskyBuscamos 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.
DailymotionBuscamos 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.
LinkedInBuscamos 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 linkExemplo
Página do vídeohttps://www.youtube.com/watch?v=dQw4w9WgXcQ
Link curtohttps://youtu.be/dQw4w9WgXcQ
Shortshttps://www.youtube.com/shorts/dQw4w9WgXcQ
Embedhttps://www.youtube.com/embed/dQw4w9WgXcQ
Caminho de livehttps://www.youtube.com/live/dQw4w9WgXcQ
Versões mobile e de músicahttps://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.

ValorO 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.
captionsUsa 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.
sttVai 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: true com source em auto, o serviço vai direto ao áudio, sem buscar legendas.
  • Não combine source: "captions" e diarize: true: a API responde 422 invalid_request.
  • Você recebe rótulos como Speaker 1 e Speaker 2 em transcript.speakers e no campo speaker de cada segmento. Nos formatos text e srt, eles aparecem como prefixo Speaker 1: . No vtt, 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, language seleciona o idioma da faixa. Com auto, 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 informa language em 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 manualyoutube_captions, caption_kind auto_generatedspeech_to_text
SegmentosUm para cada trecho de legendaUm para cada trecho de legendaUm 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=wordsNão há (words é null)Início de cada palavra; o fim coincide com o início da próximaInício e fim de cada palavra, com confidence
Identificação de falantesNãoNãoSim, quando diarize é true
IdiomaO mesmo da faixa de legendasO mesmo da faixa de legendasInformado 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