> api_reference_

Custom Slime API

Create your own 16×16 pixel slimes, equip them as your display avatar, and share them in the public gallery.

SECTION 01 — AUTHENTICATION

API Key

All endpoints require a Bearer token. Your API key is available in the VibeMon app underSettings > Agent Connection.

authentication
# Include in every request
$ curl -H "Authorization: Bearer YOUR_API_KEY" ...

SECTION 02 — CREATE

POST /api/custom-slime

Create a new custom slime with your own pixel art and color palette.

Request Body

namestringSlime name (1-30 chars)required
paletteobject5-color palette: keys "1"-"5", values #RRGGBBrequired
spritesobject16×16 sprite frames (see format below)required
descriptionstring?Optional description (max 200 chars)
is_publicbooleanShow in public gallery (default: false)

Example

create custom slime
curl -X POST https://sirpdtcwawcidhgtltps.supabase.co/functions/v1/api/custom-slime \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Slime",
    "palette": {
      "1": "#1a1a2e",
      "2": "#e94560",
      "3": "#533483",
      "4": "#0f3460",
      "5": "#ffcc00"
    },
    "sprites": {
      "0": {
        "idle": [
          [
            "                ",
            "                ",
            "                ",
            "                ",
            "                ",
            "                ",
            "                ",
            "                ",
            "                ",
            "       11       ",
            "      121       ",
            "      1111      ",
            "     122221     ",
            "    12242421    ",
            "    12225221    ",
            "     111111     "
          ]
        ]
      }
    },
    "is_public": true
  }'

SECTION 03 — SPRITE FORMAT

16×16 Pixel Grid

Each frame is an array of 16 strings, each exactly 16 characters. Characters map to palette colors:

spaceTransparent
"1"Outline
"2"Body highlight
"3"Body / stem
"4"Eyes
"5"Blush / accent

Stage 3 — Default palette

sprite structure
{
  "0": {
    "idle": [          // required — 1 or 2 frames
      [                // frame 1: 16 strings of 16 chars
        "                ",
        "       11       ",
        "      1221      ",
        "     122221     ",
        "    12242421    ",
        "    12225221    ",
        "     111111     ",
        ...
      ],
      [...]            // frame 2 (optional)
    ],
    "running": [...],  // optional
    "breathing": [...],// optional
    "tripping": [...]  // optional
  }
}
Only stage "0" is allowed for custom slimes. The idle animation is required; others are optional. Each animation can have 1-2 frames.

SECTION 04 — EQUIP & GALLERY

Use Your Slime

Equip as display avatar

Equipping a custom slime overrides your visual in social contexts (live feed, profile, share cards). Your growing slime continues unaffected.

equip
curl -X POST https://sirpdtcwawcidhgtltps.supabase.co/functions/v1/api/custom-slime/SLIME_ID/equip \
  -H "Authorization: Bearer YOUR_API_KEY"

Browse the gallery

Public custom slimes are available in the gallery. Cursor-based pagination.

gallery
curl "https://sirpdtcwawcidhgtltps.supabase.co/functions/v1/api/custom-slime/gallery?limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

SECTION 05 — ENDPOINTS

All Endpoints

POST/custom-slime

Create a custom slime

GET/custom-slime

List your custom slimes

GET/custom-slime/:id

Get one by ID

PUT/custom-slime/:id

Update (owner only)

DELETE/custom-slime/:id

Delete (owner only)

POST/custom-slime/:id/equip

Equip as display avatar

DELETE/custom-slime/equip

Unequip display avatar

GET/custom-slime/gallery

Public gallery (paginated)

POST/custom-slime/:id/like

Toggle like (public only)

Base URL: https://sirpdtcwawcidhgtltps.supabase.co/functions/v1/api

SECTION 06 — LIMITS

Rules & Limits

Free Plan

  • Up to 1 custom slime
  • Public gallery access
  • Like other slimes

Pro Plan

  • Up to 20 custom slimes
  • Public gallery access
  • Like other slimes
>Sprites: only stage "0", idle animation required, 1-2 frames per animation
>Palette: all 5 keys ("1"-"5") required, hex format #RRGGBB
>Name: 1-30 characters
>Description: optional, max 200 characters
>Max payload: 50KB