Limits
INDXR enforces a few hard limits: AI transcription up to 10 hours per file, uploads up to 500 MB, playlists up to 500 videos per job (a job is one transcription or playlist run), and 3 jobs running at once. Caption extraction — pulling a video's existing subtitles — has no length limit, and requests are rate-limited (each account can only make so many per hour). There is no public REST API, the kind of programmatic interface other apps could plug into.
Size & length
Scroll the table horizontally →
Audio over 10 hours is rejected before any credits are reserved — you are never charged for a file the provider can't process. A playlist over 500 videos is rejected the same way; split it into batches of 500. “Concurrent jobs” means how many transcriptions or extractions can run at the same time — you can have up to 3 going at once.
Rate limits
A rate limit caps how many requests you can make in a set window of time, so no single user can overload the service. “Per IP” means per network address — how visitors without an account are counted.
Scroll the table horizontally →
No public API
INDXR is a web app — there is no public REST API, the kind of endpoint other programs could call directly to automate it. Everything runs through the interface; the export formats (including JSON and RAG JSON) are how you get the data out programmatically — that is, into your own scripts or tools.
Sources
- INDXR (own code) — duration, playlist, concurrency and upload limitsVerified against backend/main.py (MAX_TRANSCRIPTION_SECONDS, MAX_PLAYLIST_VIDEOS, MAX_CONCURRENT_JOBS); backend/audio_utils.py (SUPPORTED_FORMATS, MAX_FILE_SIZE_MB)
- INDXR (own code) — rate limitsVerified against packages/shared/src/lib/ratelimit.ts
See also



