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.