Instagram Reels 转录文本 API
转录任意公开的 Instagram Reels 或视频帖子:完整语音转录文本、说话人标签和逐词时间戳,支持 reel、/p/ 或 /tv/ URL,或你已有的 Instagram CDN 媒体 URL。视频帖子的转录方式与 Reels 完全相同。图片帖子会以“已找到”返回其记录和空转录文本,只按请求价格扣费。转录使用 MAI-Transcribe-2,因其准确度和说话人标签而选用。开启 hostVideo 还可获得无需 Instagram 会话即可播放的托管 MP4 链接。如果你只要文字,instagram.media_transcript 是更便宜的纯转录选项;如果你只要文件,请用 instagram.post。
试一试
发出你的第一个请求
{
"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";
}完整的参数与响应参考:这个接口的每个字段、类型和示例。
参考
请求、响应与价格
最近验证于 2026-09-29 · 可用率和延迟按 30d 统计curl -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}'| 字段 | 类型 | 示例值 |
|---|---|---|
| 请求体 | ||
| url | string | "https://www.instagram.com/reel/CfY6jCIgH-P/"公开 Instagram Reels 或视频帖子的 URL(例如 https://www.instagram.com/reel/C8yKXdRxKqK/),或你已有的 Instagram CDN 媒体 URL。 |
| hostVideo | boolean | true设为 true 可同时获得该 Reels 的托管 MP4 链接,无需 Instagram 会话即可播放。作为附加项在转录之外另行扣费(例如 true)。图片帖子没有可托管的文件,所以对其设置此项的请求会被拒绝,不扣费;不带 hostVideo 发送即可获得帖子记录。 |
| wordTimestamps | boolean | false设为 true 可为转录文本中的每个词附上精确时间戳(例如 true)。 |
| 响应 | ||
| 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. |
| 价格 | ||
| 每次请求价格(上限) | USD | US$0.095 |
| 价格(/千分钟音频) | USD | US$5.94 |
常见问题
关于 Instagram Reels 转录文本 API
AnyAPI 的 Instagram Reels 转录文本 API 只需一次 POST 请求 /v1/run/instagram.reel_transcript,就以统一格式的 JSON 返回 Instagram 数据。转录任意公开的 Instagram Reels 或视频帖子:完整语音转录文本、说话人标签和逐词时间戳,支持 reel、/p/ 或 /tv/ URL,或你已有的 Instagram CDN 媒体 URL。视频帖子的转录方式与 Reels 完全相同。图片帖子会以“已找到”返回其记录和空转录文本,只按请求价格扣费。转录使用 MAI-Transcribe-2,因其准确度和说话人标签而选用。开启 hostVideo 还可获得无需 Instagram 会话即可播放的托管 MP4 链接。如果你只要文字,instagram.media_transcript 是更便宜的纯转录选项;如果你只要文件,请用 instagram.post。无论哪个数据源提供服务,AnyAPI 都返回同一套统一的 schema。费用:每千分钟音频 US$5.94,单次请求最多 US$0.095,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 Instagram Reels 转录文本 API 调用中有 80.7% 成功,响应时间中位数为 9.4 秒,共测量 688 次调用。