Telegram custom emoji 100x100: make it from a 1024x1024 image

Telegram custom emoji are exactly 100x100, PNG or WEBP. 100x100 is far below GPT Image 2.5's size floor, so request 1024x1024 on Sume and scale it down.

4 min readSume
All posts

Telegram custom emoji must be exactly 100x100 pixels, as PNG or WEBP. You cannot request 100x100 from GPT Image 2.5 on Sume (10,000 pixels is under the 655,360 minimum), so request 1024x1024 with a transparent background and scale it down in your own tool.

Telegram's rules are from its stickers page; Sume's from the Image API docs. Both read 2026-10-01.

What does Telegram say about custom emoji?

The stickers page lists custom emoji at exactly 100x100, in PNG or WEBP. It also says that adding and using custom emoji sets is a Premium-only feature, so check your audience before you build a set.

What should the source image be?

At 100 pixels, detail disappears. Ask for one bold subject, thick shapes and a transparent background, then check the result at actual size before you upload it.

curl -X POST https://api.sume.com/v1/images \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-image-2.5",
    "prompt": "Single bold cartoon avocado emoji, thick outline, flat colors, centered, no background",
    "image_size": "1024x1024",
    "background": "transparent",
    "output_format": "png"
  }'

Why 1024x1024?

It is a multiple of 16 on both edges, 1,048,576 pixels (inside 655,360 to 8,294,400), and square, so the rules in Sume's docs and OpenAI's guide are met (our arithmetic). Scaling to 100x100 happens on your side; Sume's docs do not describe a resize step for GPT models.

Size rules behind the 1024x1024 request, from Telegram's stickers page and the Image API docs, read 2026-10-01.
ItemValue
Telegram custom emoji sizeExactly 100x100, PNG or WEBP
100x100 pixel count10,000
GPT Image 2.5 pixel range655,360 to 8,294,400
Requested size1024x1024 (1,048,576 pixels)

Can I get several variants?

Send several requests with different prompts, or set n (1 to 10) where the model allows it. Read the model's supported_parameters first; unsupported parameters return 400 unsupported_parameter.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume