Creator Tools

The banner creator

The banner creator builds an animated Telegram custom-emoji strip out of text, images and named motion presets. It is a web-dashboard tool; nothing about…

The banner creator

The banner creator builds an animated Telegram custom-emoji strip out of text, images and named motion presets. It is a web-dashboard tool; nothing about it runs through the Telegram bot.

Overview

The banner creator is **web-only. ** No slash command and no button in the per-user bot fleet touches it — the only thing that reaches Telegram is the finished emoji pack, delivered by DM after export.

The page sits behind the login gate, and ** ** The free-tool demo route (/api/banner-designer/demo) is wired only to the coin creator. Signed out, /banner-creator redirects to / and opens the login prompt; it renders nothing until you're authenticated.

Entry points

WherePath
Standalone page/banner-creator
DashboardEmoji Design → Banner tab, "Open Banner Designer" button
Header navFree Tools → Banner Builder

What a banner is

SettingValue
Tiles8, one row (8 × 1)
Tile size512 × 512 px each
Master canvas4096 × 512 px — an 8:1 strip
Default loop length1.2s (72 frames at 60fps) unless the current design's own bake reports a different length

Note

The same studio component also renders the coin creator, in a separate mode="coin". The coin creator is a single-tile, 512×512 product, documented on its own.

"Banner" names two unrelated things elsewhere in the product: the raid bot's animated progress bar (internally called a progress banner, authored separately by admins) and DexScreener / X profile header images pulled by the scanner and X automations. Neither is built by this tool.

The top bar

Five controls, left to right.

ControlBehaviour
Undo / RedoSteps back and forward through the edit history.
Reset allConfirm popover: “Are you sure? This resets everything to the original state. You can still go back with ‹ afterwards.” Confirming reverts every control to its starting state.
SaveSaves the current design to your permanent collection. Name field, up to 48 characters; placeholder falls back to the pack name (Export, below), then the banner text, then “My Emoji Pack”. Hint: “permanent — separate from the auto-restored workspace”.
ExportOpens the export panel — see Create → export, below. The button label reads “Exporting…” while a pack job is running.
View SavedLists your saved designs under the heading “Your saved banners,” each with a live animated thumbnail. Empty state: “nothing saved yet — hit Save on a banner you like.”

Save writes to your permanent collection. It is separate from the workspace draft, which auto-saves as you work and restores whatever you last had open, saved or not — see Create → export.

The styling row

Five controls, left to right, set the banner's text and its still appearance.

ControlAcceptsDefault
Banner textup to 24 characters“MEMESCALE” — the placeholder “Banner text” shows only once you clear the field
Fonta starter font, or one you uploaded (.ttf / .otf); “Font from web” scrapes a font, colour palette and logos from a URL you paste
Text colourhex / RGB entry, or a colour lifted from a scanned site's palettewhite, #ffffff
Container fillhex / RGB entry — disabled whenever a Design (skin) is activeblack, #000000
Add an animationsee below; disabled once 4 motions existnone

Container fill, locked by a Design

InputOutput
Active skinticket (1 colour slot)
Tooltip shown on Container fillDisable the “ticket” design to enable solid color container. It is currently set by Design 1.

Text colour sub-rows

The text colour badge also carries five collapsible sub-rows:

Sub-rowControlsDefault once turned on
StyleBold and Italic toggles; Bold reveals a Weight slider, 25%–250% in steps of 5Weight 100% while Bold is off
AlignmentLeft / Center / RightCenter
Gradienttwo colour stops across the text#56c4ff#ba6eff
Outline“white outline around the text”width 5, white
Shadow“drop shadow behind the text”dx 10, dy 14, black, 55% opacity

Add an animation

The dropdown offers four sources, each placing a moving element on the stage — see The motion system, below.

SourceWhat it does
From Emojiopens the emoji picker; place any premium emoji as a moving element
From Image → From Filesupload .png, .jpg, .jpeg, .webp, .avif or .svg
From Image → From Websitepick from images already scraped from a site scanned via Font-from-web
From Lottie Fileupload a .json Lottie file
From Profile Picturefetch a Telegram user's profile photo by username, with a square/circle crop toggle

Limit

Up to 4 motions total, from any combination of these sources — the Add an animation control disables itself at the cap.

The knob row

Four sliders, plus a fifth that appears once a Border preset is active.

KnobRangeDefault
Letter Spacing−30 … 1000
Text Size40% … 100%100%
Border Radius0 … 250 — disabled when the active Design sets its own shape84
Animation Speed0.3× … 2.5×1.0×
Border width (shown only once a Border preset is picked)2 … 16

Border Radius, locked by a Design

InputOutput
Active skinticket
Tooltip shown on Border RadiusDisable the “ticket” design to enable border radius — it currently sets its own border radius.

“ticket” is the only Design preset that currently sets its own shape (ownsRadius); the same lock disables the Border knob and border colour.

Below the knobs, two more controls appear conditionally. A Second text field — up to 24 characters, placeholder “Second text (required),” hint “swaps in mid-loop” — appears once a Two-Text preset is active. 1–8 Design colour badges appear once a Design (skin) is active, labelled “Color n” when the skin exposes more than 2 slots and “Design n” otherwise, with a reset button that clears your overrides back to the skin's own palette.

The stage

The stage plays the same animation the pack ships — not a simplified preview.

  • A background swatch picker sits over the stage; it shows a checkerboard when Container fill is set to none.
  • Placed images and emoji can be dragged to move; a corner handle scales them, a separate handle rotates them, and a × removes them.
  • Motion paths draw as an overlay on the stage. Clicking one opens a chip offering edit (✎), tint, and delete.
  • A chip strip under the stage lists every active choice — the Animation preset, Entrance, Design, each Effect, Border, and Two-Text — each removable with its own ×. Clicking a chip scrolls the rail to that cell and flashes it.

The meta line reads {tiles} × 512 · {loop}s loop — for a banner, 8 × 512 · 1.2s loop by default.

The rail

Six tabs list the buildable pieces of a banner. Every cell in every tab is a live-rendered preview of what picking it would do to the current design, not a static icon.

The 6 rail tabs, live counts as of 2026-09-14

TabRegistry keyEntries
Entranceentrances11
Animationtext18
Designskins28
Effectseffects0
Bordersborders8
Two-Textsequences12

Warning

A tab with 0 entries is removed from the rail once the registry loads, so Effects never shows. The Icons row (Logo / Plane / uploaded images, under the Design colour badges) only appears once an active Effect declares an icons capability — with no Effect ever active, the Icons row is hidden with it.

Entrance (11)

NameEffect
Dropthe whole banner drops in from above and bounces to a stop
Risethe banner sinks away and rises back up from below
Zoomthe banner collapses to a point and zooms back with a pop
Swingthe banner swings down from a top hinge and pendulums to rest
Slamslams down hard — squash on impact, shockwave shake
Skidraces in from the left, overshoots and skids back into place
Floatthe whole banner hovers — a weightless bob with a hint of sway
Breathethe banner breathes — a continuous subtle scale swell
Catapulttips back, launches skyward, falls back in and settles
Rubberpops in like a rubber ball — a decaying jelly wobble
Hanghangs like a signboard — a lazy pendulum sway from the top

Animation (18)

NameEffect
Spinletters spin in (rotation + fade)
Flipcard-flip: letters unfold from a vertical sliver
Typewriterletters appear one by one, instant with a tiny pop
Elasticletters land with a 3-swing elastic settle
Crossflyletters fly in ACROSS the banner — entrances travel through neighboring emojis
Trackingletters expand out from a center pile to final spacing
Heartbeatwhole word double-pulses once per loop (lub-dub)
Bounceletters drop and bounce twice before settling
Drawonletters DRAW themselves stroke-by-stroke, then fill in (trim paths)
Glitchdigital glitch: letters slice into bands that jitter + RGB split flashes
Shatterletters SHATTER into shards that fly out, then reassemble
Swoopletters SWOOP in along true curved arcs (spatial bezier paths)
Coinspineach letter does a full 3D coin flip (backside shading), wave stagger
Marqueeinfinite ticker — the word scrolls through the banner, perfect loop
Swingletters swing down like pendulums, hinged at the top, with follow-through
Smearfast slide-in with a motion SMEAR — letters stretch along the move, snap back
Popcornletters POP in random order with real squash-and-stretch
Arcinletters swoop in on curved arcs from above, banking into place

Design (28)

NameEffectColour slots
Ticketevent ticket — concave side notches + perforation dots1 · sets its own shape
Carboncarbon fiber — fine diagonal weave stripes (two-color)2
Outlinedouble border — thick white frame + inner hairline1
Shadow3dlifted card — soft offset drop shadow behind the banner2
Extrudestacked 3D depth — layered offset slabs behind the banner1
Auravolumetric sheen — twin colored radial glows drifting inside the fill2
Holoholographic foil — iridescent pastel sweep + drifting sheen3
Nebuladeep-space clouds — twin colored nebulae + a starfield5
Goldluxeblack-tie luxury — near-black satin + double gold hairlines5
Vaporvaporwave horizon — gradient sky, glowing sun, perspective grid5
Circuitcircuit board — trace lines with solder-pad dots2
Topotopographic map — concentric contour rings2
Oceandeep water — layered wave crests over an abyss gradient2
Auroraflowliving aurora — three color fields drift and breathe through the dark4
Flowlinesdark abstract wave-lines gliding across the surface (the classic)2
Meshdriftmoving mesh gradient — four color points slowly wander2
Silkblack silk — a soft diagonal light band sweeps slowly, endlessly2
Dustmotesdeep velvet with slow-drifting luminous motes2
Sunburstart-deco sunburst — gilded rays fanning up, breathing softly2
Breathdarkexecutive satin that breathes — vignette and hairline in sync2
Plusgridplus-sign lattice drifting over a dark field2
Squigglehand-wavy squiggle rows gliding sideways2
Hexlatticehoneycomb lattice — the Memescale hex grid, in-banner2
Scallopsendless-clouds scallop bands rolling slowly2
Diamondweaveinterlocking diamond lattice, faintly breathing2
Weavewoven cloth — textures.js over-under diagonal strands2
Dotfadedot matrix swelling from the center — textures.js circles2
Crosshatchetched crosshatch — two stroke families shearing past each other2

Borders (8)

NameEffect
Rainbowborder color cycles through the spectrum
Sparkstiny lights twinkling along the border
Beamconic beam — a hot comet with a real fading tail laps the frame
Entwinetwo-tone comets with tails chase each other, entwined
Breathedouble frame breathing in counter-phase, halo answering
Quartersfour synchronized arcs orbiting the frame — loader-spinner energy
Duelarcstwo opposed arcs chasing, widths breathing in counter-phase
Stationstwelve frame segments lighting up in sequence around the loop

Two-Text (12)

NameEffect
Slidesnap-slide — text shoots in from the left, exits right, second text takes over
Popcenter-out pop — letters scale-pop in, pop away, second text pops
Zoomcamera cut — text lands from a zoom, racks out on exit
Flipsplit-flap — letters flap down into place, flap away, board swaps
Cardflipcard flip — the whole word flips edge-on and the second text is the back face
Typeswaptypewriter swap — types in, backspaces away, types the second text
Cascadesoft cascade — letters drift-fade through, silky and quick
Glitchcutglitch cut — text stutters into place, tears away, hard swap
Elasticspringy — letters bounce in with real spring physics, zip out clean
Backinspring up past the mark, settle — leans back out below
Flipyletters flip open door-style left to right, flip shut — swap
Jackboxjack-in-the-box — wobble-spring open, snap shut — swap

A Two-Text preset needs the Second text field, in the knob row, filled in — that's the text it swaps to mid-loop.

The motion system

A motion places a moving image, emoji, logo or profile picture on the stage and animates it, independently of the text animation. Up to 4 motions total — see the styling row, above.

Motion paths

Opens as a modal with two modes:

ModeHow it works
Dotsplace up to 12 dots; double-click a dot to remove it; a + button adds one, disabled at 12
Drawtrace the path directly — “it only moves forward”
ControlAccepts
Size5% – 400%
Traversals per loop1×, 2× or 3×
Motion feelSteady (linear) or Smooth
Rotate along pathon/off — the element's own rotation follows the path's direction
Mirroradds a linked twin on the other side, position and rotation mirrored, size shared; once on, Flip ↔ and Flip ↕ sub-toggles appear

Motion presets

10 named motions, applied instead of a freehand path:

NameEffect
Hovergentle levitation — perfect for a logo
Bounceone confident hop per loop
Swaybarely-there side to side
Circlesmall smooth orbit
Pendulumswings like it's hanging
Pulsebreathes in place
Rocktilts side to side
Driftslow floating figure-eight
Heartbeatdouble-thump pulse
Orbitcircles while spinning

A third source, the Emoji picker modal, lets you pick any premium emoji to use as the moving element for either a path or a preset.

Create → export

From an open design to a delivered pack

  1. Every change — text, colour, a knob, a rail pick, a motion — debounces 350ms, then re-renders the stage preview.
  2. The workspace draft auto-saves to your browser's local storage as you go, restoring itself if you leave and come back. This is separate from an explicit Save (top bar), which writes to your permanent collection.
  3. Click Export, in the top bar.
  4. Name the pack — up to 48 characters, placeholder falls back to the banner text, then “My Emoji Pack.” The panel shows the exact title the finished pack will post under: “{name} @memescaleai”.
  5. Click Generate pack.
  6. The job is queued, then moves Building → Uploading, shown as “Building {done}/{total} designs” then “Uploading {done}/{total} emojis.” If Telegram throttles the upload, the panel shows “Telegram paused uploads — resumes in {mm:ss}.”
  7. On success: “Success — check your DMs,” with a View in Telegram button. The finished design is also saved silently to your collection under the same name, equivalent to hitting Save yourself.
  8. Cancel, while a job is running, stops the render process and deletes the half-built sticker set from Telegram.

Note

Delivery is always through @memescalebot, to your Telegram DM — never through your own bot, even if you picked one for the export. Your own bot can't message you until you've sent it /start; @memescalebot already can, because logging in required a DM to it.

Finished pack naming

InputOutput
You type (pack name)MEMESCALE
Posted titleMEMESCALE @memescaleai
Set namemzd1a2b3c4d_by_yourbot — mzd+ 8 hex characters +by + your bot's username
Share linkt.me/addemoji/mzd1a2b3c4d_by_yourbot

The pack title is the cleaned name plus “ @memescaleai”, truncated to 64 characters total.

Upload order: the first 8 tiles go up in one call that creates the sticker set. Any tiles beyond 8 (an 11-cell divider's 9th–11th) are added one at a time, with a fixed 0.7-second pause between each. Telegram flood-wait responses are retried automatically, up to 10 attempts.

** It refers to the renderer trimming, inside each individual tile, whatever geometry never reaches that tile's own 512×512 window (with a 40-unit slack margin) — an optimisation invisible in the output.

Every finished tile is capped at 64KB, Telegram's per-sticker ceiling; a design that can't fit fails the export outright rather than shipping a degraded tile.

Once delivered, the finished banner also appears back in Dashboard → Emoji Design → Banner as a gallery card, and under a “Banners” heading in the emoji picker of every message editor that has one — inserted as the whole 8-tile strip in one click. That insert button is disabled if any tile is missing its emoji glyph.

Limit

A dashboard export always produces exactly one design of 8 tiles.

Limits

Field caps

FieldCap
Banner text24 characters
Second text (Two-Text)24 characters
Pack name (Export)48 characters
Save-design name48 characters

Uploads

TypeCap
Image (From Files)4MB — “image over 4MB”
Lottie JSON4MB — “lottie over 4MB”
Font (.ttf / .otf)3MB — “font over 3MB”

Account and render caps

LimitValue
Saved designs, per account200
Saved design spec size16384 bytes — “spec too large”
Concurrent packs generating, same account4
Global pack queue, whole platform48
Pack job timeout45 minutes
Tile size ceiling (Telegram)64KB per tile
Copyright © 2026