Banner Studio
Publish background-free versions of your art and your holders can build banners, wallpapers and profile pictures from your NFTs in the Flex Machine. You host the images and a small JSON file describing them; downbad stores only the link, so your art stays yours and updates are instant.
How it works
- Export your art with the background removed, and host it yourself.
- Go to Creator Tools → your collection → Banner Studio and tell us where the art lives. We write and host the manifest for you.
- Holders get a Banner tab in the Flex Machine with your art in it.
downbad never copies, resizes or re-hosts your images — only the small JSON file describing where they are. Change a file on your side and the change is live immediately.
If your filenames don't follow a pattern, or you want options the form doesn't cover, you can write the manifest yourself and give us the URL instead. The rest of this page is that format.
Letting us build it
Most projects name their art after a number in the NFT's name or after the asset id. If yours does, you never need to touch JSON — give us the pattern and we resolve it against your actual assets:
https://cdn.example.com/art/{number}.png <- "Lost Pigs 0414" becomes 414
https://cdn.example.com/art/{asset_id}.png <- the Algorand asset idBefore publishing you'll see how many of your NFTs matched, which ones didn't and why, and a preview of the real art loaded on a canvas — so a wrong pattern is obvious rather than something holders discover. Numbers can be zero-padded if your filenames and names disagree, which is common.
Overlays go in the same form: a name, an image URL, and whether holders-only. You can come back and edit any of it later.
Hosting requirements
These apply to the manifest and to every image it points at.
- https, publicly readable, no authentication and no signed or expiring URLs — requests come from your visitors' browsers, not from us.
- CORS enabled. Send Access-Control-Allow-Origin — either * or at least https://downbad.farm, https://www.downbad.farm and https://market.downbad.farm.
- Cutouts and stickers must be PNG or WebP with a real alpha channel. A JPEG cutout is a rectangle.
- Manifest at most 2MB; each image at most 4MB.
Recommended: at least 1000px on the long edge, and a long cache-control on versioned filenames.
The manifest
One JSON file describing where your art lives. Point your editor at the JSON schema and it will validate as you type.
{
"$schema": "https://downbad.farm/schemas/banner-manifest-v1.json",
"version": 1,
"name": "Down Bad Gorillas",
"cutouts": {
"type": "template",
"url": "https://art.gorillas.xyz/cutouts/{asset_id}.png"
},
"overlays": [
{
"id": "jungle",
"name": "Jungle",
"url": "https://art.gorillas.xyz/overlays/jungle.jpg",
"kind": "background",
"group": "Backdrops"
},
{
"id": "party-hat",
"name": "Party hat",
"url": "https://art.gorillas.xyz/overlays/party-hat.png",
"group": "Accessories",
"default_scale": 0.18
}
]
}Unknown top-level fields are rejected rather than ignored, so a typo is caught instead of silently doing nothing.
Cutouts
Two ways to describe them. Use a template if your filenames are predictable — it keeps the manifest tiny, and the file is downloaded by everyone who opens the tab.
"cutouts": {
"type": "template",
"url": "https://cdn.example.com/cutouts/{asset_id}.png",
"coverage": "all"
}If your filenames don't follow a pattern, list them explicitly instead:
{
"type": "map",
"assets": {
"1234567": "https://art.gorillas.xyz/cutouts/gorilla-1.png",
"1234568": "https://art.gorillas.xyz/cutouts/gorilla-2.webp"
}
}A 10,000-entry map is roughly 600KB that every visitor downloads. Prefer a template where you can; the validator warns past ~200KB.
Overlays
Extra art holders can drop onto the canvas — hats, speech bubbles, logos, backdrops, borders. By default an overlay is locked unless the visitor holds one of your NFTs, and locked art is still shown, so people see what they'd get.
- sticker — drag, scale, rotate and flip freely. Needs transparency.
- background — fills the canvas behind everything. A JPEG is fine here.
- frame — fills the canvas in front of everything, so it needs a transparent middle or it hides the art.
Validating
The creator page checks all of this before it will let you save:
- Your manifest is reachable from a browser, with CORS.
- It parses and matches the schema, with errors pointing at the exact field.
- Every overlay and a sample of cutouts load, decode, and survive being drawn to a canvas.
- Cutouts and frames actually have transparent pixels.
- Warnings you can ignore: oversized files, low resolution, a large manifest.
Nothing is stored except the URL, so if something breaks later the Banner tab quietly disappears for your collection rather than showing holders errors.
Getting set up
Head to Creator Tools, pick your collection, and open Banner Studio. It's available on every collection — if you can't see it, you're most likely not listed as a manager of that collection yet. Get in touch and we'll add you.