API para Instagram: Transcrição de Reels
Transcreva qualquer reel ou post de vídeo público do Instagram: a transcrição completa da fala, rótulos de quem fala e marcações de tempo por palavra, a partir de uma URL de reel, /p/ ou /tv/, ou de uma URL de mídia da CDN do Instagram que você já tenha. Um post de vídeo é transcrito exatamente como um reel. Um post de foto volta como encontrado, com o registro e uma transcrição vazia, cobrado só pelo preço da requisição. A transcrição roda no MAI-Transcribe-2, escolhido pela precisão e pelos rótulos de quem fala. Ative hostVideo para também receber o MP4 em um link hospedado que toca sem sessão do Instagram. Se você só quer o texto, instagram.media_transcript é a opção mais barata, só de transcrição; se só quer o arquivo, o lugar é instagram.post.
Teste
Faça sua primeira requisição
{
"data": {
"items": [
{
"bytes": 42,
"durationSeconds": 12.5,
"expiresUtc": 12.5,
"hostedUrl": "https://example.com/page",
"id": "a1b2c3d4",
"language": "en",
"likeCount": 12500,
"mediaType": "general",
"ownerUsername": "alex_rivera",
"segments": [
{
"end": 12.5,
"speaker": "example",
"start": 12.5,
"text": "A short example description of this item.",
"words": [
null
]
}
],
"shortcode": "a1b2c3d4",
"text": "A short example description of this item.",
"thumbnailUrl": "https://example.com/image.jpg",
"url": "https://example.com/page"
}
]
},
"found": true,
"reason": "not_found"
}interface InstagramReelTranscriptResponse {
data: {
items: {
bytes?: number;
durationSeconds?: number;
expiresUtc?: number;
hostedUrl?: string;
id: string;
language?: string;
likeCount?: number;
mediaType?: string;
ownerUsername?: string;
segments?: {
end?: number;
speaker?: string;
start?: number;
text?: string;
words?: {
end?: number;
start?: number;
text?: string;
}[];
}[];
shortcode?: string;
text: string;
thumbnailUrl?: string;
url: string;
}[];
} | null;
found: boolean;
reason?: "not_found";
}Referência completa de parâmetros e resposta - todos os campos, tipos e exemplos deste endpoint.
Referência
Requisição, resposta e preço
Última verificação em 2026-09-29 · disponibilidade e latência medidas em 30dcurl -X POST https://api.getanyapi.com/v1/run/instagram.reel_transcript \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"hostVideo":true,"url":"https://www.instagram.com/reel/CfY6jCIgH-P/","wordTimestamps":false}'| Campo | Tipo | Valor de exemplo |
|---|---|---|
| Corpo da requisição | ||
| url | string | "https://www.instagram.com/reel/CfY6jCIgH-P/"A URL de um reel ou post de vídeo público do Instagram (ex.: https://www.instagram.com/reel/C8yKXdRxKqK/), ou uma URL de mídia da CDN do Instagram que você já tenha. |
| hostVideo | boolean | trueDefina true para também receber o MP4 do reel em um link hospedado que toca sem sessão do Instagram. Cobrado como um extra além da transcrição (ex.: true). Um post de foto não tem arquivo para hospedar, então uma requisição que defina isto nele é recusada sem cobrança; envie sem hostVideo para receber o registro do post. |
| wordTimestamps | boolean | falseDefina true para incluir uma marcação de tempo precisa para cada palavra da transcrição (ex.: true). |
| Resposta | ||
| data | object | |
| data.items | object[] | Record for the requested reel (one item), with the full transcript text, timed segments, source video metadata, and the hosted video link when hostVideo was asked for. Populated whenever the provider has data for the entity. |
| data.items[].bytes | integer | Size of the hosted MP4 in bytes. Present only when hostVideo was true. |
| data.items[].durationSeconds | number | Video duration in seconds. Absent when there is no transcript, which is what measures it. |
| data.items[].expiresUtc | number | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. After this moment the hosted MP4 is deleted. Present only when hostVideo was true. |
| data.items[].hostedUrl | string | A direct link to the downloaded MP4, hosted by AnyAPI and playable without an Instagram session. Present only when hostVideo was true. |
| data.items[].id | string | The reel's numeric Instagram media ID, as a string. Empty when the request supplied a CDN media URL, which carries no post record. Populated whenever the provider has data for the entity. |
| data.items[].language | string | Detected spoken language (ISO 639-1 code, e.g. "en"). Absent when there is no transcript. |
| data.items[].likeCount | integer | Number of likes on the reel. Absent when the lane that served the lookup does not carry a like count. |
| data.items[].mediaType | string | What kind of media this is, as Instagram labels it (for example a video or an image post). On a photo post this is how you tell that the empty transcript is the answer rather than silence. |
| data.items[].ownerUsername | string | Username of the reel's owner, without the @ prefix. Empty when the request supplied a CDN media URL. |
| data.items[].segments | object[] | Time-aligned transcript segments in playback order, one per sentence, each with its text, speaker label, and start/end offsets in seconds. A segment starts when its first word is spoken and ends when its last one finishes. Empty when the reel has no detectable spoken audio. |
| data.items[].segments[].end | number | Segment end offset in seconds from the start of the video. |
| data.items[].segments[].speaker | string | Which speaker said this segment, as a stable label within this transcript (e.g. "0", "1"). |
| data.items[].segments[].start | number | Segment start offset in seconds from the start of the video. |
| data.items[].segments[].text | string | The segment's transcribed text. |
| data.items[].segments[].words | object[] | Every word in the segment with its own timing. Present only when wordTimestamps was true. |
| data.items[].segments[].words[].end | number | Word end offset in seconds from the start of the video. |
| data.items[].segments[].words[].start | number | Word start offset in seconds from the start of the video. |
| data.items[].segments[].words[].text | string | The word as spoken. |
| data.items[].shortcode | string | The reel's short code, the part of its instagram.com URL after /reel/. Empty when the request supplied a CDN media URL. |
| data.items[].text | string | The full speech transcript. Empty when the reel has no detectable spoken audio, or when the post is a photo with no video to transcribe. Populated whenever the provider has data for the entity. |
| data.items[].thumbnailUrl | string | A link to the reel's cover image on Instagram. This link is signed by Instagram and stops working after a short time. |
| data.items[].url | string | The reel URL the request asked for, returned as sent. Populated whenever the provider has data for the entity. |
| found | boolean | Whether the post was found. A reel or video post is found and transcribed. A photo post is found too: its record comes back with an empty transcript and is charged the request price only, with no audio minutes. A post that does not exist is not found and is free. |
| reason | "not_found" | Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost. |
| Preço | ||
| Preço por requisição (teto) | USD | US$ 0,095 |
| Preço /mil minutos de áudio | USD | US$ 5,94 |
Dúvidas frequentes
Sobre o endpoint Transcrição de Reels da API para Instagram
O endpoint Transcrição de Reels da AnyAPI para Instagram retorna dados de Instagram em JSON normalizado com uma chamada POST para /v1/run/instagram.reel_transcript. Transcreva qualquer reel ou post de vídeo público do Instagram: a transcrição completa da fala, rótulos de quem fala e marcações de tempo por palavra, a partir de uma URL de reel, /p/ ou /tv/, ou de uma URL de mídia da CDN do Instagram que você já tenha. Um post de vídeo é transcrito exatamente como um reel. Um post de foto volta como encontrado, com o registro e uma transcrição vazia, cobrado só pelo preço da requisição. A transcrição roda no MAI-Transcribe-2, escolhido pela precisão e pelos rótulos de quem fala. Ative hostVideo para também receber o MP4 em um link hospedado que toca sem sessão do Instagram. Se você só quer o texto, instagram.media_transcript é a opção mais barata, só de transcrição; se só quer o arquivo, o lugar é instagram.post. A AnyAPI retorna um schema normalizado, seja qual for a fonte que atende. Custa US$ 5,94 por mil minutos de áudio, e nunca mais de US$ 0,095 por requisição, em dólares, sem assinatura e sem mínimo mensal. Nos últimos 30 dias, 80,7% das chamadas ao endpoint Transcrição de Reels da API para Instagram feitas pela AnyAPI tiveram sucesso, com tempo de resposta mediano de 9,4 segundos, em 688 chamadas medidas.