Make your own Snuggling
A pet is a .zip with a pet.json manifest, a gallery thumbnail and PNG sprite strips. Upload it from My pets, preview every state, then send it for review.
Download the example (Lil Cub) Upload a pet
What's in the zip
my-pet.zip
โโโ pet.json
โโโ preview.png square thumbnail, 64-512 px
โโโ sprites/
โโโ baby_idle.png <form>_<animation>.png
โโโ baby_bottle.png
โโโ balanced_idle.png
โโโ โฆ
Each sprite is one horizontal strip: width = frames ร frame width, height = frame height. Zip limit is 10 MB, PNG only. A single top-level folder inside the zip is fine.
pet.json
{
"formatVersion": 1,
"id": "lil-cub", // lowercase, numbers, dashes
"name": "Lil Cub",
"author": "your name",
"description": "A tiny lion cub with a big heart.",
"species": "lion cub",
"pixelArt": true, // crisp scaling (false for painted art)
"voice": "en_US-amy-low", // optional storytime voice
"frameSize": { "w": 48, "h": 48 }, // 16-256 px
"stats": { // optional: tune how needy the pet is
"tummy": { "label": "Tummy", "drainMinutes": 45 },
"sleepy": { "label": "Sleepy", "drainMinutes": 90 },
"fun": { "label": "Fun", "drainMinutes": 40 },
"comfy": { "label": "Comfy", "drainMinutes": 35 },
"fresh": { "label": "Fresh", "mode": "event", "style": "diaper" } // diaper | potty | none
},
"animations": {
"idle": { "frames": 4, "fps": 4, "loop": true },
"bottle": { "frames": 6, "fps": 6 },
โฆ
},
"forms": {
"baby": { "label": "Baby" },
"balanced": { "label": "Balanced" },
"snuggly": { "label": "Snuggly" },
"bouncy": { "label": "Bouncy" },
"sleepy": { "label": "Sleepy" }
}
}
Comments above are for explanation; real JSON can't contain them.
Forms
Every pet starts as baby. Every 6 stream-hours (streamers can change this) it shifts toward the form that matches how chat cared for it:
- snuggly: mostly cuddles, paci and headpats
- bouncy: mostly play, bubbles and coloring
- sleepy: mostly naps and lullabies
- balanced: needs met evenly
baby and balanced are required. Missing forms fall back to balanced.
Animations
Required in every form:idle happy bottle play paci sleep needs_change change fussy crying tantrum cuddle
Optional (falls back when missing):
snack | โ bottle |
bath | โ change |
bubbles | โ play |
coloring | โ play |
storytime | โ cuddle |
lullaby | โ sleep |
celebrate | โ happy |
visitors | โ happy |
missed_you | โ happy |
evolve | โ happy |
no_thanks | โ idle |
If you list an optional animation in pet.json, every form you include needs a strip for it.
Content policy
Snugglings show up on public Twitch streams, so every pet must be completely SFW.
- No sexual or suggestive content, fetish framing, nudity or adult references, in the art, names or descriptions.
- No real people's likeness without their permission, and no copyrighted or trademarked characters.
- Cute, cozy and kind. Fussy and crying states should read like a sad baby animal, nothing upsetting.
Every custom pet is reviewed before it can be used on stream, and so is every new version. Pets that break the policy are removed and the uploader can be suspended. Streamers are responsible for following Twitch's guidelines and labeling their streams appropriately; the diaper / potty mechanic is off unless a streamer turns it on.