Everything on murl reduces to a small set of nouns. This page defines them once; the rest of the docs use them without re-explaining.
Blocks
A block is one model-backed generation step: a prompt, a model, typed inputs, and an output (text, image, or video). Blocks are the atoms of the studio:
- Chaining: a block’s output can feed the next block’s input (text to image to video), including typed media sockets: image-to-video, and audio/video inputs for lip-sync and add-sound workflows.
- Priced upfront: every block shows its posted credit price before it runs; chained steps whose cost depends on earlier outputs (e.g. video duration) are re-quoted from resolved inputs.
- Model-agnostic: a block binds to a model from the registry; swapping the model keeps the block.
Pages
A page is a published studio document: blocks arranged in a Notion-style
editor, shipped as a runnable surface at /p/{id}. Visitors run the page with
their own inputs and remix it in one click; running and remixing live in one
place. Pages are the fast path from idea to published, earning work: no code,
no design decisions beyond the blocks themselves.
Apps
An app is a custom AI product with full UI freedom: a single-module worker
that a creator vibe-codes through the authoring agent, served in a sealed
sandbox at /apps/{id}. Apps talk to the platform exclusively through the
env.MURL SDK for models, chains, storage, and uploads, and inherit
wallets, pricing, history, and creator attribution with zero code. See
Custom apps.
Publications
Publishing a page or an app creates a publication, the marketplace unit
that carries title, cover media, category, pricing surface, and lineage. One
column discriminates the two kinds: format = 'page' | 'app'. The marketplace,
search, and profile surfaces are lenses over publications.
Remix lineage
Every remix records its parent. That produces a lineage tree per publication, and the creator pool pays up the tree: a foundational page or app earns from the runs of every derivative that descends from it, with harmonic decay by depth. Remixing is therefore not a leak of value; it is the compounding mechanism.
Wallets and credits
Users hold a wallet; actions cost credits (1 credit = $0.01). Internally every amount is integer micros ($1 = 1,000,000 micros) on an append-only ledger; credits are a display skin at the UI edge, never a unit of internal math. Every spend follows hold, run, settle: the quote is held before the provider is called, the actual cost settles after, and a failed provider call releases the hold.