Bounce!
Wink ;)
Cry
Loop it
4×2
8 stickers
the boring text part of making animated stickers

Write the prompts.
Get eight
moving.

Pick eight emotions — the first prompt gets you a 4×2 sticker sheet, the second animates all eight cells at once. Paste into ChatGPT or Nano Banana with a photo, run the result through Veo, Sora or Kling, then bring the clip back to slice into an animated pack — clip import lands in GridSticker soon, iOS first.

Want the static 4×4 sheet? Open the message sticker builder →

01

Two prompts, not one.

Image models draw; video models move. Asking one tool to do both is why animated stickers used to come out as nine stiff keyframes. Get the sheet first, then hand it to something that actually understands time.

02

Eight at once, not one at a time.

The whole 4×2 sheet goes into the video model as a single image. One generation animates all eight stickers simultaneously — each cell acting out its own emotion, in place.

03

The camera must not move.

Video models want to pan and push in. The prompt forbids it four different ways, because one drift ruins all eight cells at once — the grid has to stay pinned for the slice to work.

the animation prompt builder

Build your
animated pack prompts.

1 Pick a character style ← who's in the stickers?
2 Pick a theme ← what's the vibe?
3 Pick 8 emotions ← edit any cell
or tap any cell to edit 8 / 8 picked

Prompt 1 — the sticker sheet

Paste into ChatGPT or Nano Banana with your photo. Set the aspect ratio to 16:9.

Prompt 2 — animate the sheet

Feed the sheet you just got back into a video model (Veo, Sora, Kling) as the input image, with this prompt. Set the clip length to 3–5 seconds.

The clip came back, now what? Coming soon Importing a clip lands on iOS first, Android after. You'll open the clip in GridSticker, pick the 4×2 grid, slice. The Animation tab sets frame order and loop speed (8–10 FPS reads as a subtle idle, 12 FPS suits reactions), and the export squeezes under WhatsApp's 500 KB ceiling automatically.

When it doesn't quite work

The camera drifted or zoomed — everything's ruined

The highest-risk failure, and the one to expect. Video models are trained to move the camera and a locked grid fights that instinct. Re-run the generation first; models vary run to run. If it keeps happening, try a different video model — some hold a static frame far better than others.

A character's arm crossed into the next cell

The motion was too big for the white padding around that cell. Edit that emotion's cell in the builder to something smaller, or re-run — amplitude varies between generations.

The grid shifted or the cells resized mid-clip

The model treated the sheet as a scene to reframe rather than a canvas to animate. Re-run. The prompt already states this four different ways, so a persistent failure usually means that model can't do it.

The loop jumps when it repeats

The last frame didn't return to the first. Slice it anyway and trim the tail frames in GridSticker's Animation tab — a couple of frames off the end usually seals it.

The sheet came back with text on the stickers

Regenerate prompt 1 before going anywhere near the video step. Text that moves and warps through the animation is unfixable afterwards.

Can I use fewer than eight emotions?

Not in this flow — the grid is exactly 4×2, and the video prompt numbers all eight cells. Eight is also a valid LINE sticker pack size, which is why it's the number.