Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Content studio

The Content Studio (/space/content) is the generative media pipeline of the Space. It is deep-linkable per media type: /space/content/image, /video, /audio, /model3d — the bare /space/content redirects to Image. Every generated asset lands in the Content Library (/space/content/library).

New to the AI side? Read AI concepts from scratch first — generation models work on the same token/context/sampling ideas as text, just on other modalities (pixels, audio, 3D).

Generating an image, video, audio or 3D asset uses a different model modality than text, but the same deep ideas from the AI primer apply:

  • A generative model samples. Just like next-token sampling, a diffusion/autoregressive media model produces output from a probability distribution given a prompt — that’s why the same prompt can give different results, and why parameters (steps, guidance, seed) exist to steer it.
  • Models are modality-specific. Text, image, video, audio and 3D models are separate model families; the studio filters which generation model runs per group, all under the same BYOK rule — you bring the key, the studio lists what that provider’s model can generate.
  • Prompting is the interface. Like chat, a well-formed prompt is how you steer generation; and because media is expensive, every asset is persisted (Postgres + R2) and searchable so you never regenerate what already exists.
Group Route What it generates
Image /space/content/image Images from prompts (and image-to-image) via supported vision providers
Video /space/content/video Short-form video generation
Audio /space/content/audio Speech/music generation and transcription
3D /space/content/model3d 3D model generation

The studio components (content-studio.tsx, content-group-page.tsx) share a common pipeline: pick a media model (media-model-selector.tsx), configure parameters, generate, and save the result as an asset. Generation runs through the /api/content/* routes backed by provider models.

The media model selector filters the available generation models per group (image/video/audio/3D). Model availability follows the same BYOK rule: you bring the key, the studio lists what that provider can generate. Sampling parameters (steps, guidance, seed) surfaced per model give you the same creativity controls as temperature does for text — see the AI concepts page for the mental model.

The library (ContentLibrary) is the persistent home of everything generated:

  • Assets are stored server-side in content_assets (Postgres) with media blobs in R2.
  • Each asset records its type (image/video/audio/model3d), origin (studio group + conversation if generated from chat), and metadata.
  • Search and filter across the whole library — find any generated media without digging through chat history.
  • Assets can be reused as inputs (e.g. image-to-image) and shared into conversations/artifacts.

Artifacts produced in chat (e.g. an image rendered in the artifacts panel) can be promoted into the library, and library assets can be attached back into chat as media context (attachMediaLibrarySnapshot in chat-transport.ts snapshots the current library state for the request context).

Generation costs run against your provider billing (BYOK) — the platform never meters or resells media credits. Check the governance page for usage metrics per content request.