Transcribe Online Video
Transcribe online videos (e.g., Instagram, TikTok) using speech-to-text models when a transcript is not available.
Instagram Carousel Posts:
- For posts with multiple videos, the URL can include
?img_index=Nto select a specific video - Example:
https://www.instagram.com/p/ABC123/?img_index=2transcribes the second video - Without
img_index, the first video is transcribed - Set
all_videos=trueto transcribe ALL videos in a carousel post
Options:
transcript_text=true: Returns transcript as a single text string instead of segmentsall_videos=true: For carousel posts, returns all videos with their transcripts
Overview
This endpoint is designed for videos where a pre-existing transcript or caption file cannot be retrieved. It downloads the video content and processes it through an AI speech-to-text model to generate a new transcript. This is particularly useful for social media platforms where direct transcript extraction is not possible, such as Instagram Reels that don’t have captions.Billing
Speech-to-text processing consumestranscription_hour usage. 1 credit covers 1 hour of video/audio transcription.
Supported Platforms
VidNavigator can generate transcripts from these platforms using speech-to-text:- X / Twitter (just copy the tweet video link)
- Facebook (public videos only)
- TikTok
- Dailymotion
- Loom
- Vimeo
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
video_url | string | Yes | URL of the video to transcribe. For Instagram carousel posts, append ?img_index=N to select a specific video. |
transcript_text | boolean | No | When true, returns the transcript as a single plain-text string instead of an array of segments. |
all_videos | boolean | No | For Instagram carousel posts only. When true, transcribes ALL videos in the post and returns them in an array. Ignored for non-carousel URLs (reels, TikTok, etc.). |
Instagram Carousel Behavior
Instagram carousel posts (e.g.https://www.instagram.com/p/.../) may contain multiple videos and/or images.
- Select a specific item: Append
?img_index=Nto the URL to select a specific item (1-based).
Example:https://www.instagram.com/p/ABC123/?img_index=2selects the second item. - Transcribe all videos: Set
all_videos=trueto transcribe all videos in the carousel. The response format changes (see “Success Response”).
400 with error=no_videos_found.Example Usage
Instagram Carousel (select a specific video with ?img_index=2)
Instagram Carousel (transcribe all videos with all_videos=true)
Success Response (200 OK)
This endpoint has two success response shapes (aoneOf), depending on whether you set all_videos=true:
- Single-video response (default): returns
data.video_info+data.transcript - All-videos response (
all_videos=true): returnsdata.carousel_info+data.videos[]
transcript_text=true affects the shape of each returned transcript (string vs segments) in both response types.Single-video response (default)
All-videos response (all_videos=true)
Error Responses
400 can include (per OpenAPI): missing_parameter, invalid_parameter, no_videos_found, unsupported_platform.Authorizations
API key authentication. Include your VidNavigator API key in the X-API-Key header.
Body
URL of the video to transcribe. For Instagram carousel posts, append ?img_index=N to select a specific video.
"https://www.instagram.com/reel/C86ZvEaqRmo/"
When true, returns the transcript as a single plain-text string instead of an array of segments.
For carousel posts only. When true, transcribes ALL videos in the post and returns them in an array. Ignored for non-carousel URLs (reels, TikTok, etc.).

