Media platform: upload, transcode, AI
A polished asset upload and playback experience for every generated app. Drop an image, video, or audio file and the widgets handle the rest.
Drop anywhere, upload everywhere
The home generator and chat input accept paste-from-clipboard, drag-drop, and a full-page dropzone for images. Inside generated apps, the GenMB SDK exposes a<genmb-uploader> Web Component plus a low-levelwindow.genmb.storage API. Files larger than 8MB upload via the GCS resumable protocol so they survive flaky networks.
<genmb-uploader accept="image/*" multiple folder="avatars"> instead of building your own file input. It handles drag-drop, multiple files, instant previews, per-file progress, and retry in one tag. On phones it opens the camera or photo gallery.Per-file caps follow the app owner's plan: 50MB on Free, 500MB on Pro and Team, and 5GB on Business. Storage per app is 1GB on Free, 250GB on Pro and Team, and 2TB on Business. No API keys and no bucket setup: the file-storage capability switches on automatically when your app needs uploads.
Images: AVIF, WebP, blurhash, AI alt-text
Every image upload is processed in the background: AVIF + WebP + JPEG variants at 200 / 600 / 1200 / 2400 px widths, blurhash placeholder, dominant color, and AI-generated alt text. Use <genmb-image src="..." width="800"> and the right variant is served via <picture>. EXIF is stripped on save.
Video: HLS, thumbnails, captions, chapters
Upload an MP4/WebM/MOV and the media-worker transcodes to an HLS multi-bitrate ladder (480p / 720p / 1080p), extracts a thumbnail at 10% of the duration, generates a 3-second GIF preview, runs Whisper for captions, and segments the transcript into chapters.
Drop <genmb-video src="..." controls captions chapters> in your app and it plays the original immediately while the optimized renditions roll in. Seeking works in every browser, including iPhone Safari, and the transcoder thumbnail becomes the poster automatically.
Audio: waveforms and transcripts
Upload audio and you get a <genmb-audio waveform transcript> widget with a click-to-seek transcript and a waveform strip. Whisper handles English natively.
PDFs, ebooks, and documents
<genmb-pdf src="..." height="600"> shows a PDF inline, no download needed. EPUB and MOBI ebooks and Word, Excel, and PowerPoint files upload the same way as any other file.
Permanent and private links
Every upload returns a permanent URL that never expires, so it is safe to store in your database. For files that should not be public, such as paid downloads or per-user documents, window.genmb.storage.getSignedUrl(filename, ttlSeconds) returns a short-lived signed link.
Governance: scanning, versioning, GDPR
Daily ClamAV scans quarantine infected uploads automatically. Every overwrite is kept as a version with one-click rollback in the assets panel. The Storage Analytics panel shows live quota usage and 30-day transcoding trends. GDPR deletion runs through the owner-gated app-deletion flow, which purges every stored asset for the app.