Questions/bugs/feedback: runvnc on Discord Server Also check #announcements for updates.
This will permanently destroy assets!
After deleting assets from the collection wallet, YOU MAY NEED TO ENTER THE STARTING # MANUALLY FROM NOW ON IN THE GENERATE TAB! This is the "Starting generating at #".
The cost is 0.05 per asset destroyed.
Enter asset ids to destroy, separated by spaces.
Enter password:
Note: there are additional instructions at the top of the Images/Code tab, and a tutorial video in the upper right hand corner of the page.
1. Create or import a wallet.
2. The Images/Code, Generate and Pin/Mint tabs will appear.
3. If you created a new wallet, go to the Pin & Mint tab and click [Toggle Mnemonic]. Then import the mnemonic into another wallet system like My Algo Wallet or Pera Wallet.
4. Enter collection name, unit name, description etc. on the Setup tab.
5. On the Images/Code tab, add your traits. Then click the folder icon next to the trait names to upload your variant images.
6. If you need a specific (random) distribution, enter numbers into the occurrence % column
7. When you press the Generate button this page will create random combinations of the images according to your Occurrence % (approximately, its random).
8. Go to the Pin & Mint tab, enter your password, and press the button. It will create the ARC69 metadata, Pin on Filbase and web3.storage, and mint the NFTs.
9. If you have questions, please talk to runvnc on the Discord server.
Questions/bugs/feedback: runvnc on Discord Server Also check #announcements for updates.
Password:
Warning: backup your API Token after generating! This is stored in your browser only, and browsers will delete data with no warning (such as if disk space gets evenly slightly low).
API Token:
There are a few ways that you can use this site:
In all cases this site uses its own built-in wallet system based on the Rand Labs code. The key is encrypted and stored only in your browser, and used to sign transactions locally and easily without pop-ups. The wallet data is never transmitted.
To unlock the tabs, just enter and confirm a password, and either press Create Wallet or import an existing wallet.
For help, please see runvnc in the Discord Server
Collection/wallet address:
NOTE: Wallet key is stored in your browser using the encrypted-local-storage
module by Rand Labs.
Transactions are signed in the browser and your private key is never transmitted.
As a legal disclaimer, it is recommended that you
Immediately after creating a wallet, back up and import the mnemonic phrase (which you can toggle on the Pin & Mint tab) into another wallet system. After minting and importing the address into another system, use the [Delete Wallet] button.
Import the wallet into another system BEFORE deleting from this web page, because if there is any typo or other problem recovering the account with the mnemonic, you will lose access to all ALGOs and NFTs minted with this address.
NOTE: images are stored in a directory named after this wallet address. You will need to re-upload images.
Warning: make sure you BACKUP YOUR MNEMONIC! Browsers will RANDOMLY DELETE LOCALSTORAGE/INDEXDB STORAGE when disk space gets even slightly low (even with multiple GBs free) (or on update, or just for no good reason possibly) and that means your wallet can DISAPPEAR WITHOUT WARNING. (Click this message to hide it.)
Note: you can ignore this section and the Image/Code, Generate Pin & Mint tabs if you are just trying to create a shuffle or destroy assets in an existing wallet.
Note: please be careful with all of the fields. Unfortunately we are not going to be able to change them after minting. I advise you to use TESTNET first, and then also do another small test on MAINNET if possible so you can look on NFT Explorer etc.
Show offset drag area
Show extra columns
Note: in the new version, data rows start in the collapsed state when you refresh the page.
Note: uploaded images are now converted to WEBP. Do not reupload after you have started minting, this will cause duplicates if they change or were used (e.g. as PNG) prior to the new version.
1. Click on Add Trait and type in a trait name. Typing spaces in variant names not allowed, but underscores are converted to spaces in the output.
2. Click the folder icon to the right of the trait name to select and upload variant images.
3. Specify the approximate Occurrence % or blank/0 for an equal chance. Note: make sure your total % adds up to exactly 100%, or less than 100% and leave one or more rows as 0 which will divide the remainder evenly.
4. You can ignore the Data column, Definition Order, and code editor unless you are a programmer doing procedural generation.
5. To offset images, drag the square in the preview area to the right of the table. Pay attention to the orange dots position. Note: to use this feature you will need to close the Help section first. You can also use the x and y input boxes in the data table.
Note: the preview area now only shows the last few variant images that you have clicked rather than the entire stack.
6. To scale images, use the w and h input boxes in the table.
7. To collapse/expand trait rows (hide/show variants) click the [-] symbol.
Warning: images automatically resized to max 2048 pixels.
ARC-19 Information
To mint modifiable NFTs using ARC-19, check the box on the Setup tab.
To modify an existing NFT:
1. Enter the asset ID on the Images/Code tab in the upper right and press Load ASA. The existing variants should be selected with the Force checkboxes.
2. Make any desired changes to traits with the Force checkboxes or by clearing them to allow random generation.
3. Press Generate. Note that you should not generate more than 1. Check the generated item carefully.
4. Go to the Pin & Mint tab. Enter your password. The asset ID to modify should be in the Reconfigure input box above the Pin & Mint button. This will default to the one you loaded.
5. Press the Pin & Mint button.
[->]
icon to the right of Definition Order to enter p5.js
code in LiveScript for generating images.
Here is a video showing some ways to use code generation.
Note: to generate graphics using code, the trait must still have at least one variant defined with an image attached (it can be a transparent image).
Examples
Avoid conflicting variants
# traitdef tab of Glasses trait
if char.Eyes.n.includes(\Laser) and kind.n != 'None' then return \retry
Random image color
# traitdef tab
kind.n = colors[round (random! * colors.length)]
# predraw tab
tint kind.n
Text
# draw tab
textSize 64
fill \white
text kind.n, 400, 120
Procedural shapes
# draw tab
x = round (random! * 600)+300
y = round (random! * 400)+200
translate x, y
for i from 0 to 10
fill \magenta
ellipse 0, 30, 20, 80
rotate PI/5
The following variables/functions are pre-defined:
kind # this is the variant that has been randomly preselected
# it contains the offset (.x, .y), (width/height .w, .h) data (.d) and name (.n) of the trait variant
# .w and .h are only available in predraw and draw
defs # has all of the data from the table in the UI. The keys are the trait names
# under each trait key is another object indexed by variant names
# containing 'kind' (as described above)
char # this is the randomly preselected "character" or collection of trait variants, indexed by
# the trait names
rel (x,y) # Adds x and y to the kind.x and kind.y
Lossless mode images can be 5-10 times larger and take 5-10 times as long to generate.
This is not ideal for mint-on-demand. Do some tests, and don't use it unless you are doing pixel art or sure you need it.
If you do use lossless mode, consider a somewhat smaller image. Warning: you cannot change the lossless setting OR
variant images after you start minting.
Duplicate prevention uses the content hashes of the image files (IPFS CIDs). Warning: always double check the numbering has updated fully after minting before generating again. This now only updates when you switch to this tab rather than every time you press the Generate button. Please note that generation can take some time to start up because the sysbox container has to be started, then images loaded.
Especially for large images, they can take time to load. But once you have generated a fair number and most of the images have been
loaded, generation should generally be around less than 1 second per image. You can decrease the warm-up time by using smaller images which will load faster.READ THIS: about duplicate prevention, lossless mode and generator startup time.
Number to generate:
Lossless (best for pixel art)
Start generating at #
(optional)
Items generated at end of page.
Sound effects
If button is disabled, make sure the balance is adequate and you have entered your password above.
Warning: always double-check the generated numbering and other details carefully first.
Reconfigure asset (ARC19 only):
WARNING: DO _NOT_ MINT LARGE NUMBERS OF NFTs WITHOUT FIRST DOING ONE OR TWO AND VERIFYING ON NFTX AND SOME OTHER SITE(S) THAT THEY LOOK CORRECT.
TESTNET
This will create a shuffle that uses the (v)erifiable (r)andom (f)unctions feature of Algorand via the
vrf_verify
and block
opcodes to ensure trustworthy and fair distribution. Each shuffle can contain a max of about 800 NFTs.
More info on VRF.
You may optionally require a custom token (ASA) as part of the payment (amount specified).
Fee per NFT: 1% of shuffle ALGO price, or minimum 0.5 ALGO.
Enter wallet password here: