Divine Blossom Server BETAFASTLY

Content-addressable blob storage implementing the Blossom protocol with AI-powered content moderation

API Endpoints

GET
/<sha256>[.ext]

Retrieve a blob by its SHA-256 hash. Supports optional file extension and range requests. Use .jpg extension to get video thumbnails. (BUD-01)

GET
/<sha256>.hls

Get HLS master manifest for adaptive streaming. Automatically triggers on-demand transcoding for videos that haven't been transcoded yet. Returns 202 Accepted with Retry-After header while transcoding is in progress.

GET
/<sha256>/hls/master.m3u8

Alternative HLS manifest URL for player compatibility. Same behavior as the .hls endpoint above.

GET
/<sha256>/720p

Direct download of the 720p H.264 transcoded variant (2.5 Mbps). Triggers transcoding on-demand if not yet available.

GET
/<sha256>/480p

Direct download of the 480p H.264 transcoded variant (1 Mbps). Triggers transcoding on-demand if not yet available.

HEAD
/<sha256>[.ext]

Check if a blob exists and get its metadata. (BUD-01)

PUT
/upload

Upload a new blob. Requires Nostr authentication (kind 24242 event). Video uploads automatically generate a thumbnail. (BUD-02)

HEAD
/upload

Pre-validate upload with X-SHA-256, X-Content-Length, X-Content-Type headers. (BUD-06)

GET
/list/<pubkey>

List all blobs uploaded by a public key. (BUD-02)

DELETE
/<sha256>

Delete a blob. Requires Nostr authentication and ownership. (BUD-02)

PUT
/report

Report problematic content using NIP-56 events (kind 1984). (BUD-09)

PUT
/mirror

Mirror a blob from a remote URL. Requires Nostr authentication. (BUD-04)

Features

Nostr Authentication

Secure uploads using NIP-98 HTTP Auth with Schnorr signatures.

Content Moderation

AI-powered moderation with SAFE, REVIEW, AGE_RESTRICTED, and PERMANENT_BAN levels.

Edge Computing

Powered by Fastly Compute for low-latency global delivery.

Video Thumbnails

Automatic JPEG thumbnail generation for uploaded videos, accessible at /<sha256>.jpg.

HLS Video Streaming

On-demand H.264 transcoding to 720p and 480p with HLS adaptive streaming. Direct quality access via /<sha256>/720p and /<sha256>/480p.

GCS Storage

Reliable blob storage backed by Google Cloud Storage.

Protocol

This server implements the Blossom protocol for decentralized media hosting on Nostr.

Implemented BUDs: BUD-01 (Blob Retrieval), BUD-02 (Upload/List/Delete), BUD-04 (Mirroring), BUD-06 (Upload Pre-validation), BUD-09 (Reporting)

Maximum upload size: 50 GB