We’re announcing a new generative developer platform today called Gengine™ and opening up private beta to interested artists and developers. If you’re interested in using Gengine, send us an email with details on your project to gm@highlight.xyz.
The engineering team at Highlight has been hard at work on a brand new offering, aimed at artists, developers and platforms. We’re calling it Gengine (as in generative engine). It takes the fundamental components of Highlight’s generative art workflows and deploy pipeline and offers discrete access to the relevant components in the form of a set of APIs.
This enables artists and developers to pick and choose specific elements to use (rolling the rest on their own) or even enable platforms to create their own white-labeled creative tools and workflows.
There are 5 core components to Gengine. We’ll introduce each of them, the possibilities they unlock, and how they all work together to simplify the development process for generative NFTs.
There are a variety of ways that artists and developers want to save code and image assets. Gengine exposes a single API endpoint that lets you select from Amazon S3, Arweave, IPFS, and on-chain storage solutions—or a combination of any of them, all in one upload.
Storing your assets through Gengine not only simplifies the upload process and helps you introduce some redundancy but also enables you to run various functions on that code that simplify the rest of the development process—sort of like Amazon Cloud Functions. We’ll specify those below.
Generative art is dynamic and often requires real-time or post hoc data from the blockchain to render. Fetching blockchain transaction data—things like transaction hashes, block timestamps, owner addresses, etc.—for use in your generative projects can be repetitive and requires some potentially tricky calls to the blockchain.
While we already offer a script called hl-gen.js that abstracts much of this away, artists and developers often want unique blockchain data—things like determining how many of a specific collection a user owns, how much Ether is in their wallet, or when they first collected an artist’s work.
Gengine exposes a developer dashboard that lets you select from and customize a broader set of data sources for use in your generative projects, enabling novel kinds of experiences for collectors.
Similarly to the real-time traits generation of generative art, preview images and thumbnails are only renderable after a token is minted. This again requires post hoc processing which renders the artwork, captures an image of it, uploads that to storage, and saves it as part of the metadata for that token. This aspect of generative art production is highly tedious and repetitive.
Gengine allows you to tap into this preview pipeline with a simple set of APIs without needing to use any other aspects of the Highlight platform. This tooling allows you to specify which part of the artwork to capture, what resolution it should be captured in, and what output format, among other options.
Because generative art is created dynamically, at the moment of minting, it’s impossible to know in advance which tokens will have which traits. This requires real-time or post hoc processing which evaluates the resulting tokens, collects their individual traits, and saves them as JSON as the metadata for the tokens in that collection.
Again, hl-gen.js covers the basics here, but Gengine lets you tailor the trait capturing process to your project. For example, let’s say you’re using WebGL and you want to wait a few seconds before capturing traits. Gengine enables tailoring that time delay to your desired settings.
When one or more of the above options are set, developers can select the appropriate Highlight contracts to use (generative series, open editions, etc.), or bring their own custom contracts, and deploy their code. Once the various engines have been configured, Gengine watches the blockchain for new mints on the appropriate contracts, and updates the collection as new mints come in—storing the appropriate metadata, calling necessary data inputs, setting the appropriate traits, and processing image assets in real-time.
–
If you’re interested in using Gengine™, or wondering whether it might be useful for a specific use case you have in mind, send us an email with details on your project to gm@highlight.xyz.