Banners and image studios
The layered image studio behind welcome banners, boost banners, birthday cards, rank cards, leaderboards and achievement badges, and why the browser preview is exactly what the bot draws.
On this page
Several systems post a generated image rather than only text: welcome and goodbye banners, boost thank-yous, birthday cards, level-up banners, rank cards, leaderboards, invite cards and achievement profile cards. They all use the same studio, and the same drawing core.


One renderer, two places
The studio in your browser and the bot that sends the image share one drawing module. The browser draws it to a canvas; the bot draws it with a native canvas on the server. There is no separate export, no “approximate preview”, and no class of bug where the preview and the post disagree. A layer that looks right in the editor is right in Discord.
Working in the studio
Start from the library or your own art
Welcome, boost and birthday banners come with a library of ready-made themes; rank, invite and achievement cards start from a built-in design. Pick one and open Customize in Studio to edit it, or upload your own image instead of a generated banner.
Arrange the layers
A design is a stack of layers: text, images, shapes, and Discord elements such as the member's avatar or the server icon, which are filled in for each member. Drag to move, use the handles to resize and rotate, and reorder in the layer list. Text layers carry their own font, size, weight, letter spacing, solid or gradient color, stroke, shadow and glow.
Ctrl+Zundoes.Put placeholders in the text
Banner text supports a shorter placeholder set. A welcome banner's is the username, display name, server name, member count, place in line and account age. A mention has nowhere to go in a drawn image, so it is not offered.
Send yourself a test
Welcome, goodbye, boost and birthday messages have a Send test message button that sends the real thing, banner included, to the real channel with your own account in it. It works before you save, and it is the only way to see how it looks in a live Discord message rather than on a white page.
Recoloring library art
Recolor to embed color repaints a library theme in the message's embed color, and the banner follows when you change that color. It starts off for welcome and goodbye banners, because that art is scenic and a design drawn to look a specific way usually should, and on for the abstract boost and birthday art. An uploaded image is never recolored.
Things to know
- Banners are generated at send time, with that member's avatar. Nothing is pre-rendered, so a member who changes their avatar gets the new one on their next banner.
- A design holds at most 30 layers (the studio shows the count). Enough for a rich composition, low enough that a runaway design cannot make the bot spend a second drawing one message.
- Uploaded art (PNG, JPG, WebP or GIF, up to 8 MB each) is stored by Arclo and served to Discord from there. It counts toward the server's image storage, shown on General → Settings → Image storage, and an image no design uses any more is deleted about an hour later.
- A banner is an image attached to the message. It is not the embed's color, its title or its text. Those are set in the message editor beside it.
Attach Files is required
A generated banner is uploaded with the message, so Arclo needs Attach Files in the target channel. Without it Discord refuses the whole message, not just the picture, and nothing posts; with that system's logger on, it records the failed post. (An uploaded image is sent as a link instead, so it still shows.)
Which systems have one
| System | What it draws |
|---|---|
| Welcome & Goodbye | A banner per arrival and per departure, with the member's avatar |
| Boost Messages | A thank-you banner per boost |
| Birthdays | A birthday card, on the member's own date |
| Levels | The rank card, the leaderboard board's background, and an optional level-up banner |
| Invite Tracking | The invite card and its leaderboard |
| Achievements | Badges, the profile card and the leaderboard board |
| Information Channel | Section headers inside a published channel |
Troubleshooting
The message never arrives.
Arclo lacks Attach Files in that channel (or Send Messages, or View Channel). Discord refuses a message whose banner it cannot attach, so nothing posts. The system's logger records the failed post.
The message arrives without the image.
Check the Banner switch is on. If it is, the banner failed to draw for that one member and Arclo sent the message without it rather than not at all; the next one is drawn fresh.
The avatar is a silhouette.
The silhouette is the placeholder the studio shows where no picture is available, and the bot draws it when a member's avatar could not be downloaded at send time. A member without an avatar of their own gets Discord's default avatar, not the silhouette.
My GIF is not moving.
Uploaded as the banner itself, a GIF stays animated, because it is sent as it is. Placed as a layer inside a studio design, it is drawn as a still frame, because the design is rendered fresh as one picture for each member.
The library art is the wrong color.
Recolor to embed color is a switch. It is off by default for the welcome library (that art is scenic, and re-hueing a forest breaks the picture) and on for the abstract boost and birthday art, which then follows the message's embed color.
Still stuck? Ask in the support server: somebody there has almost certainly configured this before.
