Skip to content
Try it free

Start

Sources and limits

Which links and files work where, why Instagram and sites that block servers work best from your own machine, and the size and length limits.

View as Markdown
On this page

Scribiz reads public videos and files you own. This page says what works where, and why.

Note

The CLI column below is the command-line tool on npm, signed in to a free account or with your own Gemini key. It has been tested on macOS only. The Mac app is not out yet.

Supported sources

SourceHosted (web, API, MCP)CLINotes
Public YouTube videoWorksWorksCaptions first. Without captions the model reads the link.
Direct audio or video file linkWorksWorksA link that ends in a media file, for example .mp3 or .mp4. A podcast episode's media link from its RSS feed is the same thing.
A file you upload or dropWorks up to 100 MBWorks, no size limitSee Files.
TikTok, X, Vimeo, FacebookBest effortBest effort, from your connectionRead by yt-dlp. Sites change their rules often.
InstagramUsually refused, with a way forward: upload the fileWorks with login cookiesInstagram requires a login for most posts.
Spotify, Netflix and other DRM sourcesNoNoProtected content cannot be read.
Private and login-walled videosNoOnly with your own browser loginScribiz never takes your cookies off your machine.

Why the columns differ: the hosted service fetches from a data center, and platforms often block those. The CLI fetches from your own connection and, if you allow it, your browser's login. yt-dlp does the fetching, so a link needs it, except a public YouTube link, which is read through Gemini without it, with approximate timing. "Best effort" means it may fail, and when it does you get the reason and a way forward.

Links to private addresses, such as http://169.254.169.254/ or http://localhost, are refused on the hosted service with url_unsupported.

The hosted service refuses a link it cannot read before any job starts, with a 422 and a code such as source_unavailable, source_auth_required or source_live. The hint says what to do. For a login wall it says to download the file and upload it. The CLI can fetch with your own browser login instead.

In the CLI the same failures use the exit code 4 and an error code such as SOURCE_BLOCKED, SOURCE_UNAVAILABLE or SOURCE_AUTH_REQUIRED. CLI troubleshooting has the fixes.

Instagram and cookies

Instagram needs a login for most posts. The CLI can use your browser's session:

Terminal
scribiz 'https://www.instagram.com/reel/REEL_ID/' --cookies-from-browser chrome

Cookies stay on your machine. A hosted request for an Instagram link usually answers source_auth_required and tells you to upload the file:

JSON
{  "error": {    "code": "source_auth_required",    "message": "Instagram needs a login to read this video.",    "engineCode": "SOURCE_AUTH_REQUIRED",    "hint": "Download the video or its audio yourself and upload the file instead.",    "retryable": false,    "stage": "resolve"  }}

YouTube details

For a public YouTube link, Scribiz works in this order:

  1. A stored result, if someone already ran the video.
  2. The video's title, channel and length from yt-dlp. When yt-dlp cannot read the video (it is missing, blocked or slow), the title and channel come from YouTube's public oEmbed and the length is unknown.
  3. The video's own captions. A manual track in the video's language, or the original-language automatic track when it passes a quality check.
  4. If there are no usable captions and the audio cannot be downloaded, the model reads the video link directly. YouTube blocks the download from our server, so on the hosted service this is the usual path for Listen and Watch.

Step 4 only works for public videos. Unlisted and private videos fail. The transcript from step 4 has approximate timing and no speakers, and the Context carries the warning DOWNLOAD_FALLBACK_URL_DIRECT. Every result says how its transcript was made: from captions, or by listening.

Live streams are not supported (SOURCE_LIVE).

Files

  • You can drop audio and video files. Scribiz uses ffprobe to decide whether it can read a file, not the file extension.
  • The hosted service takes a file up to 100 MB, as an upload to the API or in the web tool. Larger files are not accepted there. The CLI has no such size limit.
  • In the web tool, your browser extracts the audio from a video file and uploads only that. It sends the audio as a WAV, 1.9 MB a minute, so a video is limited to about 50 minutes there however small the file is. The CLI has no such limit. The API accepts a whole media file, so send audio only if you do not want the picture to leave your machine. See the API quickstart.
  • In the CLI, only audio leaves your machine in Listen mode. For Watch and Both, a low-resolution copy of the video is built on your machine and uploaded. The original file is never uploaded. See Privacy and data handling.
  • A video with no audio track works in Watch. Auto switches to Watch on its own. Listen alone fails with NO_AUDIO_STREAM.

Length limits

WhereLongest video
Anonymous web15 minutes
Free account2 hours
Pro account6 hours
CLI with your own Gemini keyNo limit from Scribiz, unless you pass --max-duration
CLI signed in to a Scribiz accountYour account's minutes. It stops when they are used up
Remote MCP15 minutes without a key, otherwise your plan's limit

A video over the limit is rejected before any work starts, with 413 and the code video_too_long, and the message names the limit.

Languages

Scribiz detects the spoken language. Pass a hint when you know it: --language in the CLI, language in the API. Summary and chapters are written in the language of the transcript.

Rate limits

Anonymous use is limited by connection and by a daily minute budget. When all anonymous use together has spent its daily budget, the hosted service switches Listen and Watch off for anonymous callers for a while, and Auto falls back to captions. A request that needs Listen or Watch then answers 503 with busy. Accounts are not affected. The MCP server without a key has its own daily limit across all callers. It cannot use up the web tool's, and the web tool cannot use up its. Errors and limits lists the numbers.

Checked against the Scribiz build on 2026-10-05.

Loading the index