BuzzioSticker API

Website

You host the pack. Buzzio only documents how to open the app. Same art rules as the Android app API.

Host these files

One folder per pack:

https://stickers.example.com/packs/cuppy/contents.json
https://stickers.example.com/packs/cuppy/tray.png
https://stickers.example.com/packs/cuppy/01.webp
https://stickers.example.com/packs/cuppy/02.webp
https://stickers.example.com/packs/cuppy/03.webp

Relative file names resolve next to the JSON. Absolute image URLs must be https:// and the same origin as the manifest. Buzzio refuses http://, path .., and files on another host.

CORS is not required. The Buzzio app fetches on the phone, not the browser.

contents.json (one pack)

{
  "identifier": "cuppy",
  "name": "Cuppy",
  "publisher": "Example",
  "publisher_website": "https://stickers.example.com",
  "tray_image_file": "tray.png",
  "image_data_version": "1",
  "animated_sticker_pack": false,
  "stickers": [
    {
      "image_file": "01.webp",
      "emojis": ["🙂", "👋"],
      "accessibility_text": "A round smiling face waving"
    }
  ]
}

You may instead publish the Android-style sticker_packs array. If it has more than one pack, add &pack=cuppy to the Add link. Limits: spec.

Add to Buzzio button

One pack per tap. URL-encode your manifest.

<a href="https://sticker-api.buzzio.dev/import?manifest=https%3A%2F%2Fstickers.example.com%2Fpacks%2Fcuppy%2Fcontents.json">
  Add to Buzzio
</a>

That page opens:

buzzio://stickerPack?manifest=https://stickers.example.com/packs/cuppy/contents.json

Buzzio downloads from your origin, the user confirms, files copy into private storage. If they uninstall your site later, imported stickers stay on the phone.

Already added?

A web page cannot query Buzzio’s whitelist provider. Always show Add to Buzzio. If the pack is already installed, Buzzio says so on confirm.