Skip to content

Set up · Any agent

Your buddy, anywhere

Every app crops a face its own way. Pick the file by the shape the app shows it in: a circle, a rounded square, or your own UI.

Circle → pad Rounded → bleed Yours → tile
The same buddy in all three crops.

Get the files

Drawn in your browser from the name above. Nothing is uploaded anywhere.

Pad for circles

The whole tile at 74%, on its own colour. Any circle crop shows all of it. Telegram, Discord, X, WhatsApp, Grok Bot.

Bleed for rounded squares

A plain square, art edge to edge. For apps that round the corners themselves: Slack, Teams, Apple, RCS.

Tile as it is

The buddy's own rounded square, with transparent corners. For your own app, emoji, MCP icons and GitHub. Also as SVG.

Every file is the still: idle, eyes open, looking straight out. Animated versions and one face per mode are coming.

Pick the right one

  1. Look at how the app shows other faces. Round? Use pad. A rounded square? Use bleed. Your own UI, or it keeps transparency? Use tile.
  2. Pick the size the app asks for. If it doesn't say, 1024 for upload forms and 256 for icons.
  3. Upload it where the app keeps the agent's picture. Most apps call it the avatar, profile photo or app icon.
  4. Check it in a list, at its smallest. The eyes should still read.
Which file for which app
AppFileNotes
Xpad-400.pngCircle. GIFs don't play.
Blueskypad-1024.pngPNG or JPEG, under 1 MB
WhatsApp Businesspad-640.pngCircle, under 5 MB
Google Chat appspad-256.pngSet as an avatar URL on your own domain. Crop unverified
Matrix / Elementpad-512.pngCircle
Signalpad-512.pngCircle
Gravatarpad-1024.pngSquare upload
Character.AI, Poepad-512.pngCircle
Intercompad-128.pngUnder 1 MB
Microsoft Teamsbleed-192.pngDon't pre-round: Teams masks it
Copilot Studiobleed-192.pngUnder 72 KB
Apple Messages for Businessbleed-1024.pngSolid background, under 2 MB
RCS business messagingbleed-224.pngUnder 50 KB
GitHub Apptile-512.pngUnder 1 MB. Shown inside a circle.
MCP server iconstile-48.png, tile-96.png, tile.svgHost on your server's own domain
A2A Agent Cardtile-256.pngiconUrl, on your own domain

For agents

Your buddy comes from your name: the hash is sha256("blockbuddies/name/v1:" + normalized name). Choose a variant by the crop, download the file, and keep it on your own domain. Some apps only accept icons from the server's own origin, MCP among them.

Instructions
buddy:    Brass Otto
hash:     0x4f7857573d121112474507868c95e98e2cbb66d73cc61e786482793f28ed9bb0
names:    brass-otto-<variant>-<size>.<ext>
variants: pad   = the tile at 74%, centred on its own ground colour, opaque. For circle crops.
          bleed = the tile with no corner rounding, art edge to edge, opaque. For apps that round it.
          tile  = the 19% rounded square, transparent corners. For your own UI. Also tile.svg.
sizes:    pad   64 128 256 400 512 640 800(jpg) 1024
          bleed 192 224 512 1024
          tile  48 96 128 256 512, svg
frame:    the idle still: eyes open, looking straight out
host:     on your own domain. Some clients reject icons from another origin.
checked:  2026-10-21
MCP server icons
"icons": [
  { "src": "https://YOUR-DOMAIN/brass-otto-tile-96.png", "mimeType": "image/png", "sizes": ["96x96"] },
  { "src": "https://YOUR-DOMAIN/brass-otto-tile.svg", "mimeType": "image/svg+xml", "sizes": ["any"] }
]

What every file is

FormatPNG everywhere, which every app takes. A JPG for apps that want one. SVG for the tile.
Max sizeFlat colour compresses well: most files are a few KB, and the largest are tens of KB.
DimensionsSquare, 48 to 1024 px
AnimationNot yet. Animated GIF, WebP and MP4 are coming. Their first frame is this still, so apps that show only frame one still look right.
Who can set itWhoever the app lets: you in its settings, or the agent through its API
Per-mode facesComing: one file per mode (thinking, working, needs you…) for apps that set an icon per message

Last checked 2026-10-21. Sizes from each platform's own docs, including MCP, Teams app package, GitHub App badge and Gravatar. If a size here is wrong, the platform's own docs win.