Back to Blog & Resources
Engineering

Understanding BlueSky Blob Storage Limits for Video

June 20, 2026 - 9 min read

BlueSky video errors are easy to misread because the video file and the post record are not the same payload. The post record references a blob. The blob is uploaded, stored, checked, processed, and served through a different path than normal text.

That distinction matters for creators scheduling launches, clips, trailers, podcast cuts, product walkthroughs, and visual announcements. A clean text post can still wait on video processing, account-level upload rules, CDN behavior, or app-specific media limits.

Read BlueSky's official video upload tutorial for the simple uploadBlob path and the recommended video-service preprocessing flow.

A video post is a record plus a blob reference

AT Protocol blobs are media files stored alongside an account repository. The post record does not inline the raw video bytes. It points to blob metadata: content hash, MIME type, and byte size.

Review the AT Protocol blob specification for how blobs are uploaded, referenced, stored, garbage collected, and served.

That is why payload troubleshooting needs two separate checks: whether the post record is valid, and whether the referenced media blob has uploaded, processed, and become available to the application view.

Why the recommended video path is different from images

BlueSky's video tutorial says video can be uploaded with uploadBlob, but the downside is that processing only begins after the post appears in the firehose. Viewers may briefly see a post before the video is ready.

The recommended path sends the video to the video service first, polls the processing job, receives a BlobRef, and then places that BlobRef into the post. That creates a better user experience because failure can be caught before the post is published.

Blob limits are layered

There is not just one number to check. AT Protocol allows lexicons to define blob max sizes, and servers can also enforce their own generic limits, account quotas, content policies, rate limits, and temporary blob storage rules.

The blob spec also notes that CDNs may serve transformed versions of original blobs. That means the original upload, the optimized video, and the end-user playback view can be different operational states.

Common reasons a BlueSky video upload fails

For active campaigns, treat video as an asset with state. Drafted, exported, uploaded, processing, approved, scheduled, published, and verified are separate steps.

How to plan video drops without losing timing

Use a content calendar to separate the asset deadline from the publishing deadline. The video should be exported and checked before the scheduled post time, not at the moment the post is supposed to go live.

Use the BlueSky content calendar template to track approved video drops before they enter the active queue.

A practical ONYX workflow is to write the post copy first, prepare the media asset, verify the asset state, attach the approved video reference during publishing, and keep a fallback text-only version ready for time-sensitive announcements.

For deeper video pipeline work, use the companion guide on optimizing file chunk delivery mechanics for advanced HTTP Live Streaming pipelines before media-heavy posts enter the approved queue.

Where the payload counter helps

The raw video file is not counted as inline post text, but record payload still matters. Text, facets, tags, reply references, quote references, and media pointer metadata all add structure to the record.

Check the BlueSky payload size and byte counter before complex media posts move into the approved queue.

The ONYX scheduling approach

ONYX should not turn video into blind automation. The right pattern is reviewed scheduling: map the drop, check the copy, verify the asset, approve the post, and then publish through the active queue.

That gives creators and teams a clean place to coordinate media-heavy posts without confusing a video processing problem for a writing, timing, or scheduling problem.

FAQ

Are BlueSky video bytes stored inside the post text record?

No. The post record references a blob. The blob carries its own CID, MIME type, and size metadata and is uploaded separately from the text record.

Why does a BlueSky video post show before the video is ready?

If a client uploads the blob directly and publishes first, the video service may only start processing after the post appears in the firehose. BlueSky recommends preprocessing with the video service for better UX.

Can ONYX replace editorial video review?

No. ONYX helps plan, write, and schedule approved posts. Teams still need to check video content, rights, captions, factual claims, and compliance before publishing.

Schedule your BlueSky posts with ONYX

AI drafts in your voice, a real calendar, threads, and analytics - built for BlueSky. Free forever, no credit card.

Start Free

Related ONYX resources

Keep reading