/api/movie, /api/tv, /api/stream/movie, and /api/stream/tv response includes a subtitles array alongside sources.
Subtitle Object
Direct URL to the subtitle file. May require a
Referer header — route through /api/proxy to handle automatically.Display name — e.g.
English, English [CC], French, Bengalivtt or srt. Most subtitles are VTT; SRT files come primarily from the hakunaymatata CDN.Sources
Subtitles are collected from multiple providers and merged:Filtering & Deduplication
- Filtering
- Deduplication
Only English subtitles are returned. A subtitle is kept if any of the following match:
labelcontains"english"or"en"languagecode matcheseng,en,en-us, oren-gb- label is
"unknown"
Common Labels
| Label | Description |
|---|---|
English | Standard English subtitles |
English [CC] | Closed captions — includes sound descriptions |
English - English | Duplicate label from VidRock CDN naming |
English 1, English 2 … | Multiple English tracks (e.g. SDH vs standard) |
French | French subtitles |
French - Canadian French | Canadian French variant |
Bengali | Bengali subtitles from VidRock |
VTT vs SRT
| Format | Notes |
|---|---|
vtt | Native browser support — works directly in <track src> |
srt | Requires conversion for browser playback. Use subtitle.js or a proxy that converts on the fly |
Using Subtitles
- Native video element
- HLS.js
Subtitle URLs from VixSrc and some CDN sources require a
Referer header. Route them through /api/proxy:The
/api/player endpoint handles all of this automatically — subtitles are proxied and injected as <track> elements with no configuration needed.
