Stickermaker.dev Docs
Guides

Platform Optimization

Optimize your stickers for WhatsApp, Telegram, iMessage, and Discord.

Each messaging platform has specific requirements for stickers. The Sticker Maker API can automatically format your stickers to meet these standards.

WhatsApp

WhatsApp stickers must be strictly sized and formatted.

  • Size: 512x512 pixels
  • Format: WebP
  • File Size: < 100KB
  • Background: Transparent

Optimization Request

const sticker = await client.generateSticker({
  source: {
    /* ... */
  },
  processing: {
    image: { removeBackground: "hq" },
  },
  output: {
    format: "webp",
    size: 512,
    quality: 80, // Lower quality slightly to ensure <100KB
  },
});

Telegram

Telegram supports both static and animated stickers.

Static Stickers

  • Size: 512px on one side, other side less or equal to 512px
  • Format: PNG or WebP
  • Stroke: White stroke often recommended for visibility on dark backgrounds

Animated Stickers

Telegram uses a specific .tgs (Lottie) format which we do not currently support. However, you can generate video stickers in WebM format which can be converted for video stickers.

Optimization Request (Static)

const sticker = await client.generateSticker({
  source: {
    /* ... */
  },
  processing: {
    image: { removeBackground: "hq" },
  },
  output: {
    format: "webp",
    size: 512,
    border: { width: 3, color: "#FFFFFF" }, // White stroke
  },
});

Discord

Discord is more flexible but has file size limits for emojis and stickers.

  • Emojis: 256KB limit
  • Stickers: 500KB limit, 320x320 pixels

Optimization Request

const sticker = await client.generateSticker({
  source: {
    /* ... */
  },
  output: {
    format: "png",
    size: 512, // Discord will resize down, but 512 is good source
  },
});

iMessage

iMessage Sticker Packs are very flexible but prefer higher resolutions for retina displays.

  • Size: 300x300 (Small), 408x408 (Medium), 618x618 (Large)
  • Format: PNG, APNG, GIF, JPEG

Optimization Request

const sticker = await client.generateSticker({
  source: {
    /* ... */
  },
  output: {
    format: "png",
    size: 512, // Close to Medium/Large
  },
});

On this page