Every Asset Your Brand Produces, in One Place

Video, images, PDFs, audio files, spreadsheets, presentations — all content your Brandstaq agents produce lands in your content library with full version history, metadata, and a built-in multi-format viewer.

Key Benefits

  • 8 content format viewers — video, image, PDF, audio, spreadsheet, presentation, HTML, fallback — all in one library
  • Automatic storage of all agent-generated and pipeline-produced content
  • Cloudflare R2 storage with structured paths — organized at scale without manual filing
  • 24-hour TTL voice preview cleanup keeps storage costs predictable
  • Same viewer system across library, chat messages, and job completion cards

Multi-Format Content Viewer

Brandstaq's content library handles 8 content types through a plugin-based viewer system. Each format has its own viewer — video plays in-browser with controls, images display in a lightbox with zoom, PDFs render natively, audio plays with a progress bar and accessibility controls, spreadsheets display in a table viewer, presentations play as slideshows, HTML content renders in a sandboxed iframe, and a fallback viewer handles any format the specialized viewers don't cover.

This plugin architecture means you interact with all content types from a single unified interface, but each type gets an experience appropriate for how humans consume it. A PDF training guide shows up very differently from a social media image grid or an MP3 voice preview — but they're all searchable, filterable, and organized in the same library.

The viewer system is the same across every surface in Brandstaq: the content library grid (thumbnail previews), the library detail page (full viewers), chat messages (inline previews for content created during conversation), and job completion cards (what was just produced). You see content consistently regardless of where you encounter it.

How Content Gets Into the Library

Content enters your Brandstaq library through three paths:

Agent-generated content: Every output from a deployed agent run is automatically stored in your library. Social posts (with their platform metadata), blog drafts, research reports, voice clips, generated images — everything the agent produces is captured with a structured R2 key path: `users/{user_id}/brands/{brand_kit_id}/content/{job_id}/{filename}`.

Pipeline output: When a multi-step pipeline completes, Brandstaq's lifecycle system automatically uploads every agent's output file to R2 after completion. The R2 key replaces the local temporary path, making all pipeline outputs immediately accessible in your library.

Manual upload: Your team can upload assets directly — client-provided brand assets, stock images, recorded video footage — and they appear in the library alongside agent-generated content. This lets you brief agents on existing assets: 'Use the product photos in my library for this week's Instagram campaign.'

Job records track the output type (video, image, PDF, audio, pptx, xlsx, script) inferred from the file extension when the job completes. This metadata powers the library's filtering and viewer selection.

Storage, Organization, and Cleanup

Brandstaq uses Cloudflare R2 for all content storage, with structured key paths that keep your library organized even at scale. Brand assets (logos, brand kit files) live at `brands/{brand_kit_id}/logos/`. Agent artifacts live under `agents/{agent_id}/`. Generated content lives under `content/{job_id}/`. Voice preview audio — temporary by design — lives under `previews/` with a 24-hour TTL enforced by an hourly Celery Beat cleanup job.

Brandstaq's storage adapter handles the R2/local fallback logic transparently. In development, files are stored locally. In production, they go to R2. Your code and your agents never need to handle this distinction — `StorageAdapter.content_key()` returns the right path for the environment.

For agencies managing multiple client brands, each client's content library is completely separate — different brand kit ID, different R2 key prefix, different access control. Switching between clients in the dashboard switches the library view to that client's content without any overlap.

Frequently Asked Questions

Storage limits vary by tier and are based on your R2 usage. Free tier includes storage for recent content with older files cleaned up after 30 days. Paid tiers have longer retention and higher storage caps. Your content library dashboard shows current storage usage and what's approaching TTL expiry so you can export anything you want to keep before cleanup.

Individual file downloads are available from the content library detail view for all formats. Bulk download as a ZIP is on the roadmap. For agencies producing high content volumes, Brandstaq's API lets you programmatically access your content library and download files using authenticated R2 URLs.

Yes. You can reference library content when briefing agents through the chat interface: 'Use the brand guidelines PDF in my library as context for this content series.' Agents can also be configured to check the library before generating content to avoid duplication — particularly useful for content writers who should know what's already been published.

Ready to deploy your AI growth team?

Start free. No credit card required.

Deploy Your AI Team — Free