Skip to content

Generative Art

Generative collections use code (typically JavaScript/HTML) to produce unique artwork for each token. The code runs at mint time, creating a one-of-a-kind output based on a random seed.

  1. Upload your code — Package your generative script as a zip file
  2. Configure capture — Define how the output is captured as an image or video
  3. Test and preview — Generate test outputs to verify your code works
  4. Deploy — Collectors mint tokens, each generating a unique piece

The capture system renders your code and produces a static asset for each token:

  • Trigger type — How the capture is initiated (delay-based or selector-based)
  • Delay — Time to wait before capturing (for animation-based pieces)
  • Viewport — The rendering resolution
  • Selector — CSS selector to target for capture
  • Selector typeSVG or ELEMENT — determines how the selector is used for capture
  • Capture area — Capture the entire viewport or a specific element via CSS selector
  • GPU rendering — Enable for WebGL/GPU-intensive code

Generative collections support two supply models:

  • Limited — Fixed number of outputs
  • Open — Unlimited outputs

Creators can curate their generative output:

  • Allowed hashes — Whitelist specific outputs by their hash
  • Required parameters — Enforce specific generation parameters

Generative collections (and series) support deploying a contract without configuring a sale. This is useful when you want to deploy the contract first and configure the sale later, or when minting will be handled through a custom integration.

Generative collections support:

  • Fixed price sales (Open and Limited)
  • Dutch auction sales (Open and Limited)
  • Ranked auction sales — Limited only, public only

Ranked auctions are not available for open generative (maxTotal = 0) or for gated access. See the support matrix for details.