How to make a Slack emoji with AI (under 128 KB)

Slack says square images under 128 KB with transparent backgrounds work best. Generate one, cut it out to a PNG, shrink it, then click Add Emoji.

5 min readSume
All posts

To make a Slack emoji, add a square image in Slack: click the smiley face icon in the message field, click Add Emoji, then Upload Image, give it a name and click Save. Slack says square images under 128 KB with transparent backgrounds work best, and images can be JPG, PNG or GIF. To make that image with AI, generate one bold, simple subject on a square canvas, cut it out to a PNG with a transparent background, and shrink it in any image editor until the file is under 128 KB. With the Sume API, the first two steps are POST /v1/images and POST /v1/rmbg-1.0/remove.

Slack's steps and limits come from its help page Add custom emoji and aliases to your workspace. Sume facts come from the Image API docs and the OpenAPI document behind the Sume API reference. All were read on 2026-09-28.

What image does Slack want for a custom emoji?

Slack's page gives no pixel size. Two of its notes decide whether you can add the emoji at all: Workspace Owners and Org Owners can restrict who adds custom emoji (if you can't, ask an owner or admin), and Slack's Android app can't add custom emoji, so use Slack on a desktop or on iOS.

Its guidance for the image itself:

From Slack's Add custom emoji and aliases to your workspace, read 2026-09-28.
WhatSlack's guidance
ShapeSquare images work best
File sizeUnder 128 KB works best
BackgroundTransparent works best
FormatsJPG, PNG or GIF
AnimationGIFs can include up to 50 frames

How do I make the emoji image with AI?

An emoji is shown small, so fine detail and words get lost when you shrink it. Ask for a picture that still reads as a thumbnail. ChatGPT Image 2.5 (openai/gpt-image-2.5) takes an exact custom image_size, but the smallest custom square it accepts is 816 × 816, so the emoji is generated large and shrunk later.

  • One subject, such as a face, an object or a mascot, filling most of the square.
  • Big simple shapes, strong colors and a thick outline; no text.
  • A plain background in a color the subject doesn't use, so the cutout has a clean edge.
  • Several options per call with n (the current catalog allows up to 4 on ChatGPT Image 2.5), so the team can pick one. A 202 instead of 200 means they are still being made: poll GET /v1/jobs/{id}/status, then read GET /v1/jobs/{id}/result.
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": "Emoji of a coffee cup giving a thumbs up, big simple shapes, bold colors, thick outline, no text, plain gray background",
    "image_size": { "width": 1024, "height": 1024 },
    "n": 4,
    "output_format": "png"
  }'

Can I make an emoji from a photo?

Yes. Put the photo at a public HTTPS URL and send it in input_references, with a prompt such as “turn this face into a round cartoon emoji with a big smile, thick outline, plain background”. ChatGPT Image 2.5 takes up to 16 reference images. The model draws a new image from the photo, so the likeness can change. If it's a teammate's face, ask them first.

How do I get the emoji under 128 KB?

Cut it out, then shrink it yourself:

  • Send the chosen image's URL as image_url to POST /v1/rmbg-1.0/remove. The job runs async by default; the completed result is a PNG with alpha. Remove background API covers the call.
  • Image Upscale 1.0 can't shrink it: its upscale_factor runs from 1 to 4. Resize the square in any image editor instead.
  • Export as PNG to keep the transparency; a JPG can't store it.
  • Check the file size. If it's still over 128 KB, resize the square smaller and export again.
  • In Slack, click the smiley face icon, then Add Emoji and Upload Image, name the emoji and click Save.

Can I make an animated Slack emoji with AI?

Not with this workflow. Slack says GIFs can include up to 50 frames, but Sume's image models return still PNG, JPEG or WebP files, so what you get here is a static emoji.

How much does it cost?

The image is priced per model. ChatGPT Image 2.5 estimates each request's price from its size and quality, so read usage.cost in the response: it is the USD amount billed. Failed generations are not billed. The cutout is $0.0225 per image on API pricing, plus a 5.5% agent fee by default. On Slack's side, custom emoji are available on all plans, and by default to all members but not guests.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume