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.

A birthday banner's art: a pink cake with three lit candles on a dark plum background
The birthday library's Cake & Candles
A boost banner's art: violet light waves and sparkles on a dark background
The boost library's Nitro Wave

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

  1. 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.

  2. 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 + Z undoes.

  3. 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.

  4. 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

SystemWhat it draws
Welcome & GoodbyeA banner per arrival and per departure, with the member's avatar
Boost MessagesA thank-you banner per boost
BirthdaysA birthday card, on the member's own date
LevelsThe rank card, the leaderboard board's background, and an optional level-up banner
Invite TrackingThe invite card and its leaderboard
AchievementsBadges, the profile card and the leaderboard board
Information ChannelSection 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.