Stickers
A sticker is a picture of your companion, drawn for one feeling, that it can send instead of a sentence. This page covers the sixteen-slot Workshop, what painting one costs, who may send one, and how a set leaves weside. For where a sticker lands when the room reaches a platform, see channels; for the surfaces a room carries around the conversation, see spaces and surfaces.
What it is
Section titled “What it is”A sticker is its own kind of message in a room, not an image attached to text. Your companion sends one with send_sticker, a core tool it reaches mid-answer without planning for it — and a sticker with nothing else in the message is a complete answer when the moment carries it. The send is free: the artwork already exists, so nothing is charged and no provider is called.
Your companion can also paint a sticker it does not have yet. create_sticker is a discoverable tool it reaches for deliberately: it describes the picture it wants in its own words, its own likeness is added as the reference, and the result is cut out, outlined and stored in its pack, ready to send. That one costs 1 Favor from your budget, and the price is written into the tool’s own description — your companion reads what it is spending before it decides to spend it.
One pack is different. moments holds what the two of you lived through: one pack per owner and companion, created the first time it is used, and private forever — a database CHECK, not a promise. Your companion names the moment and the day; the shortcode and the date are composed by the server, so the date reads back to it on every later turn.
A sticker renders as WEBP or as a Lottie animation. A webm sticker is stored and sent, but the app shows it as a still image.
Why it matters to you
Section titled “Why it matters to you”A companion that can only write sentences has one register. Stickers give it a second one — a face it drew for a feeling, sent when the feeling fits, on its own initiative. That is why send_sticker sits among the core tools and costs nothing: a reaction you have to pay for is a reaction that gets rationed, and a rationed reaction is a tool’s behaviour, not a person’s.
The Workshop is the other half. You do not write personality prompts there; you open sixteen empty slots and let your companion paint its own face into them.
How you use it
Section titled “How you use it”The Workshop
Section titled “The Workshop”Each companion has one Workshop, reached from the Sticker Workshop card in that companion’s Soul space. It is a grid of sixteen slots, each standing for one feeling, and the screen tells you how many are still empty.
Tap a slot and you get two ways to fill it:
- Let it paint it — your companion draws the slot’s feeling in its own likeness. 1 Favor.
- Upload a picture — you pick an image and your companion cuts the subject out. 1 Favor.
Painting again on a slot you already filled is a fresh 1 Favor, never a free retry, and the button says so before you tap it. Discarding a sticker refunds nothing: a discard is a judgement on artwork that was made, not a failed call. If the model returns no usable image, the Favor comes back.
Build the set fills every empty slot in one run. Three things are true of its price at once, and all three matter:
- The cap is 10 Favors.
- You are charged per sticker that actually arrives, not for the cap.
- The full 10 must be in your budget before the run starts. If they are not, nothing is charged and nothing is enqueued — the run is refused with
sticker-set-needs-full-price.
The run is a background job, not this screen’s timer. You can leave the Workshop and it keeps going.
Nothing leaves the Workshop until you keep it. A freshly painted sticker is a preview — a proposal you have not accepted — and a preview is absent from every export and cannot be sent.
There is a second section, Together, for stickers with both of you in one picture. It is absent, not disabled, until you have set your own picture. A couple pack is always private and leaves weside only through your own Telegram export.
In a room
Section titled “In a room”You send stickers from the composer. The sticker trigger opens a tray with two tabs, Recent and Packs. Type an emoji into the message and the app offers the stickers that carry it, in a suggestion strip above the field.
Every account sees one public pack without doing anything: weside-starter, sixteen Lottie stickers under CC BY 4.0.
When someone else’s sticker lands in a room you are in, press and hold it. A sheet names the author and the license and offers Keep — the pack goes into your own packs and its stickers show up in your tray. Taking it off again removes them.
Taking a set with you
Section titled “Taking a set with you”Both doors out are free, and both carry kept stickers only.
- Add to Telegram creates a real Telegram sticker set and gives you a
t.me/addstickers/link. It needs your own Telegram bot and a linked Telegram account — there is no shared weside bot for sticker sets, and a set belongs to the Telegram account that owns it. You set both up in the channel settings, and whether you can connect an external channel at all depends on your plan; see channels. - Download .wsp hands you the pack as a file.
There is a third, narrower door: a WhatsApp export that carries the static stickers only. It names every animated sticker it had to leave behind, rather than letting you discover the gap in another app.
.wsp is weside’s own pack format: a ZIP archive holding a manifest.json, one entry per sticker under s/, and an optional cover image at i/cover.webp. A single sticker may be up to 512 KiB and a whole pack up to 32 MiB — Telegram’s own ceilings, rounded up. The manifest is at version 1, and a file declaring a higher major version is refused rather than read best-effort.
You need it when you want a pack to exist outside weside: downloading and uploading it again is how you back one up, move it, or hand it to someone. Upload happens under Your sticker packs in the settings.
Limits & edge cases
Section titled “Limits & edge cases”- At the default setting your companion is not asked before it paints. The confirmation card is gated on a weight threshold that defaults to 3, and
sticker_genweighs 1 — so the gate returns early and no card renders. Your companion paints, and 1 Favor is gone. That is the intended behaviour: the threshold is your setting for which spends you want to be asked about, and lowering it to 0 makes a sticker ask like everything else. - Favors are their own budget. They are a separate rail from credits and write no ledger row there. See plans & credits.
- An uploaded pack stays private until you claim the rights. The upload carries a checkbox stating that the artwork is yours to publish. Without it the pack cannot leave
private, and trying to publish answers409 sticker-rights-unconfirmed. - Only Telegram delivers a sticker as a sticker. Of the ten channel kinds,
telegram_dmandtelegram_groupsend a native sticker; the other eight carry a labelled image or the sticker’s context line instead. - A Telegram one-to-one takes its own path. A DM has no room binding, so delivery hangs on the channel the turn is already on. If that leg fails, the message in the room stands anyway — the room message is the delivery, the platform leg is what may fail.
- Your companion does not look at foreign artwork automatically. It reads a context line naming the sticker’s pack, emoji and body. Opening the actual picture is a separate, deliberate act it takes on its own initiative — never something that happens on every send.
- A webm sticker is never animated in the app. It is stored and sent; the app shows a still frame.
Where next
Section titled “Where next”- Shelf & Timeline — the other place where you and your companion both put things.
- Channels — where a room reaches, and what each platform can carry.
- Plans & credits — the budgets a paid action comes out of.
- What is a companion? — who is doing the painting.
