Developers
Build with Bluvy Tube
Bluvy Tube is a video client for the AT Protocol network, and everything it publishes is open. You can embed its player, read its records and connect your apps to it, with no API key and no sign-up.
Bluvy Tube and the protocol
Bluvy Tube’s videos and data don’t live on our servers: they are in each user’s repository (PDS). Bluvy Tube indexes and presents them, much like an AppView. In practice:
- No API key. The player, oEmbed and the endpoints described here are public. Everything else is read straight from the network.
- Each video is a standard
app.bsky.feed.postpost, paired with anapp.bluvy.tube.video.metadatarecord (title, description, chapters, captions…). Playlists, favorites and preferences areapp.bluvy.tube.*records too. - Video files are served as HLS by Bluesky’s video CDN (
video.bsky.app).
Guides
App identity
Bluvy Tube has its own identity on the network. Its lexicons are published from this account, and every page of the site declares it in its at-tags.
| DID | did:plc:dgqudubx2plnmynqu5wtsoan |
|---|---|
| Handle | @tube.bluvy.app |
| Handle verification | https://tube.bluvy.app/.well-known/atproto-did |
| Lexicons | app.bluvy.tube.* — Public data |
| at-tags | <meta name="at:me" content="at://did:plc:dgqudubx2plnmynqu5wtsoan"> |
Good practices
- For data, prefer the source (PDS, Jetstream, relays) over our pages: it’s more complete, and you don’t depend on us.
- Cache what you fetch. oEmbed responses include
cache_age, and embeds send aCache-Controlheader. - Identify automated requests with an explicit
User-Agent(app name and a contact URL). - Only endpoints marked “stable” are guaranteed. Others may change without notice.
A question, a need, a bug? Get in touch.