ChatGPT's GIF Generation: Build a WeChat Sticker Pack from Character to Submission
The author creates 14 AI-themed GIF stickers using ChatGPT's new image model, sharing the full workflow: character master design, storyboarding with precise prompts, comparing 16 vs 36 frame animations, encoding GIFs via Codex, preparing WeChat platform assets (banner, cover, icon), and packaging a reusable Skill for future automation.
Final Stickers: 14 AI Worker Moments
The author used ChatGPT's new image model (which now supports direct GIF output) to create a sticker pack titled "AI Goes Wild Again" featuring a bespectacled cartoon avatar. The 14 stickers depict daily AI-practitioner scenarios: asking AI until compute runs out, model updates, Codex quota resets, switching between top models, dispatching Agents, hunting for tokens, waiting for generation, switching models mid-task, recharging credits, and celebrating domestic models (DeepSeek, GLM, Qwen, MiniMax) plus a tribute to Liang Wenfeng. All stickers are 240×240 GIFs with transparent backgrounds, looping permanently.
Step 1: Fix a Recognizable Character Master
Consistency across 14 stickers requires a fixed character master. The author started from a photo, tried a chibi Q-version, then settled on a glasses-wearing cartoon: black short hair, square glasses, white shirt, blue tie, khaki pants. This master is reused for every sticker.
Prompt used to generate the master:
Using my uploaded photo as character reference, create a soft chibi hand-drawn Q-version character master. Preserve my recognizable face shape, hairstyle, and glasses; proportion ~2.5 heads tall. Fix outfit and color palette, clean outlines, suitable for shrinking to chat sticker size. Show me the character first; don't rush the full action set.Once confirmed, the master is attached to every subsequent generation. Any text on clothing (e.g., brand name) is specified at this stage and verified for typos.
Step 2: Break a Gag into Sequential Frames
Vague ideas like "thinking" or "error" produce generic results. The author rewrites each gag into a concrete scenario with props and actions. Example: "Kind soul, please spare some tokens" → character holds a bowl, begs, stares at model icons.
For "Domestic models are the best", the prompt specifies juggling four model icons (DeepSeek, GLM, Qwen, MiniMax) in a circle, character frantic but smug, returning to start pose. The prompt demands a 4×4 grid (16 frames) row-major, fixed camera/character size/clothing/text position, transparent background, no grid lines or frame numbers, logos matched to reference images.
Reuse reference character, caption "Domestic models are the best". Character exaggeratedly juggles DeepSeek, GLM, Qwen, MiniMax four icons: catch, toss, icons orbit character once, character flustered but smug, finally return to opening state. First pass generates continuous 16 frames, arranged 4×4 grid row-major. Camera, character size, clothing, text position fixed; each cell a different continuous pose, transparent background, no grid lines or frame numbers. Logos per provided references; do not alter shapes or brand colors.Text and logos must be checked frame-by-frame; long captions often drift. Supplying trusted logo references avoids hallucination.
Step 3: 16 Frames vs 36 Frames — Smoothness Depends on Motion Design
A 4×4 grid only means 16 cells; smoothness depends on inter-frame motion delta and playback timing. The author produced a 36-frame high-quality version for the "Domestic models" sticker. Side-by-side comparison shows the 36-frame version (split into three 4×3 grids of 12 frames each to keep cell size large) has smoother icon orbit and juggling motion, though some line jitter remains.
Key loop check: last frame must connect to first frame in position, direction, and speed. Duplicating the first frame as the last can cause a visible pause; sometimes holding an extra beat works better.
GIF assembly is delegated to Codex (which can run local scripts). Prompt for encoding:
Slice these sequential storyboards row-major into frames, assemble in temporal order into a true multi-frame GIF. Export 240×240, keep transparent background, loop forever. This 36-frame animation totals ~2.4 seconds; also save a submission version under 480,000 bytes, preserving the high-quality original. Do not pad frame count by duplicating frames. After export, re-read file to verify actual frame count, total duration, loop flag, transparent edges, and file size; generate a browser-openable preview page.Machine checks plus manual browser looping: high-quality 36-frame ~824 KB; submission version ~474 KB (color reduction). More frames increase size; small text and logo colors need re-inspection after compression.
Step 4: Prepare Three Submission Assets
WeChat Sticker Open Platform requires four asset types for a regular animated album:
Sticker frames : 240×240 GIF, each ≤500 KB, permanent loop. (Album size 8–24 stickers; this pack uses 14.)
Album banner : 750×400 JPG/PNG, ≤500 KB, opaque colored background, no text.
Album cover : 240×240 PNG, ≤500 KB, transparent background. (Cover should avoid text; the author's cover retains tiny "Shi Zhen Says AI" on shirt — pending review.)
Chat icon : 50×50 PNG, ≤100 KB, transparent background.
The author initially failed because the icon exceeded 100 KB after platform compression. Re-exporting a true 50×50 transparent PNG (~5 KB) solved it. Keeping "upload version" and "high-res original" separate prevents mix-ups.
Step 5: Submit to WeChat Sticker Open Platform
Entry point: https://sticker.weixin.qq.com/ (separate from WeChat Official Account backend). After login, create album → choose animated → batch upload GIFs. For each sticker, pick a representative key frame and write a short "meaning keyword" (e.g., "beg for tokens", "updated again", "quota restored") used for chat suggestion.
Metadata fields (character limits: name 8, description 80, copyright 10 Chinese chars; English counts differently):
Name : AI Goes Wild Again
Description : Chasing updates, waiting for quota, begging tokens, dispatching Agents — the bespectacled AI worker goes wild every day. Dedicated to you who shouts "true fragrance" while being trolled by AI.
Copyright : Shi Zhen; replace with your actual rights holder.
Type : Cartoon sticker / Other
Style : Funny, soft cute
Theme : Internet hot topics
Third-party logos (model icons) require source attribution for review. Final preview and submit; status becomes "awaiting review". The QR code shown is for following platform notifications, not for sticker download.
Bonus: Automate the Workflow with a Skill
The author packaged the entire process into a local Skill named sz-wechat-sticker-maker. It includes 10 style presets (soft chibi, round healing, b&w doodle, ugly-cute, plush, claymation, pixel retro, flat color blocks, paper cutout, vintage comic). The Skill guides: pick style & master → generate storyboards & GIFs → prepare submission package (GIFs, banner, cover, 50×50 icon, name, description, copyright, meaning keywords) → pause before upload for user confirmation.
Invocation example:
Use $sz-wechat-sticker-maker to make an AI worker GIF sticker pack with my uploaded cartoon avatar. First show me 3 style directions and gag scenarios per sticker, reuse my confirmed master. After completion, prepare GIFs, banner, cover, 50×50 icon, plus name, description, copyright, and meaning keywords; before uploading to WeChat Sticker Open Platform, let me choose whether to proceed.The Skill outputs organized asset directory, filled content, per-sticker check reports, animation previews, and a ZIP. Upload step presents full materials; user can keep local, upload manually, or assist after login — never bypasses platform review.
Without the Skill, one can still copy the master, storyboard, and encoding prompts manually. To save a personal workflow, tell Codex: "Create a local Skill from the successful steps just now, saving style presets, storyboard templates, encoding checks, and WeChat submission checklist; keep a confirmation step before upload."
First-timer tip: run the full pipeline on the most complex sticker first — verify likeness, text clarity, loop seam, file size compliance. Only then expand to the full set.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
