Animated Sticker Studio — скилл

Скилл делает набор анимированных стикеров по картинке персонажа и выгружает его под требования WeChat, Telegram, LINE и Discord.

  • 62 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Расширенный доступ

Почему такой уровень

  • Скилл запускает свои Python-скрипты и отправляет запросы к подключенному генератору изображений.
Все причины и проверки

fantuan-lab/animated-sticker-studio

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/animated-sticker-studio

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Скилл запускает свои Python-скрипты и отправляет запросы к подключенному генератору изображений.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Animated Sticker Studio ведет агента по цепочке: план набора в `manifest.json`, референс персонажа, атласы поз, нарезка, сборка, проверка глазами и упаковка в ZIP. Часть стикеров получает 2–4 нарисованных ключевых кадра (взмах руки, аплодисменты, слезы, зевок), остальные оживляют процедурной анимацией, подписью и значками эффектов. Скилл экспортирует набор под спецификации WeChat Sticker Platform, Telegram, LINE, Discord, Slack и WhatsApp либо в обычный GIF. Файлы пережимаются, пока не уложатся в лимит размера. Для самопроверки каждый стикер раскладывается на четыре кадра на светлой и темной полосе, чтобы агент увидел обрезку, ореолы и повторяющиеся позы.

Для кого. Авторам чатовых стикеров и владельцам брендовых талисманов, которые делают набор с помощью Claude Code или Codex.

Подходит, если

  • Есть талисман или персонаж, и нужен набор из 16–24 стикеров для WeChat.
  • Готовый набор надо перевыгрузить под Telegram или LINE с другими лимитами.
  • Один стикер из набора вышел неудачным, и его нужно переделать.
  • Из описания без картинки надо получить лист референса для утверждения.

Не подходит, если

  • Нужен один статичный рисунок, а не набор.
  • Нет доступа ни к одному генератору изображений.
  • Нужна видеоанимация длиннее нескольких секунд.

Пример запроса к агенту

Используй animated-sticker-studio и сделай 16 анимированных стикеров этого персонажа для WeChat Sticker Platform.

Ограничения

Нужны Python 3 и Pillow, для экспорта в Telegram и предпросмотра MP4 еще ffmpeg. Кадры рисует один из подключенных генераторов изображений, поэтому у агента должен быть доступ хотя бы к одному, а его запросы могут быть платными. Подписи по умолчанию на упрощенном китайском, для другого языка укажите свои. Одобрение модерацией скилл не гарантирует. Правила площадок меняются, поэтому итоговые файлы стоит просмотреть до загрузки.

Как отключить. Удалите папку `animated-sticker-studio` из каталога скиллов агента. Готовые наборы лежат в вашей рабочей папке и удаляются отдельно.

Частые вопросы

Какие платформы поддерживает экспорт?

WeChat Sticker Platform, Telegram, LINE, Discord, Slack, WhatsApp и обычный GIF. Размер, формат, число кадров и лимит в байтах учитываются для каждой платформы.

Чем стикеры отличаются от анимации одной картинки?

Жесты вроде взмаха руки получают 2–4 нарисованных ключевых кадра поверх процедурного движения статичного рисунка.

Что нужно для работы?

Python 3 и Pillow, для Telegram и MP4 еще ffmpeg. Нужен и доступ агента к генератору изображений.

Можно ли задать свои подписи?

Да. Подписи берутся из справочника фраз, если пользователь не дал свои, поэтому достаточно перечислить нужные тексты в запросе.

Сколько стикеров в наборе?

По умолчанию 16. WeChat принимает альбомы из 8–24 стикеров, а пакеты LINE должны содержать 8, 16 или 24.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл для Codex делает из одной картинки персонажа девять прозрачных анимированных GIF-стикеров в 36 стилях.

СкиллРасширенный доступ95Звезды репозитория

Скилл режиссера для видео со стикменами: по теме или тексту готовит предложение по сценарию и промпты для клипов по десять секунд в одном из четырех стилей

СкиллМинимальный доступ5,8 тыс.Звезды репозитория

Скилл превращает китайский текст истории или набор упорядоченных картинок в вертикальную рисованную анимацию, немой видеоряд в стиле дневникового комикса

СкиллРасширенный доступ2,5 тыс.Звезды репозитория

Скилл для Claude Code и Codex: из двух листов персонажей и строки сюжета делает серию аниме и держит один состав героев

СкиллРасширенный доступ139Звезды репозитория

Скилл Claude Code для коротких анимационных роликов, нарисованных кодом: семь стилей, согласование сюжета и раскадровки, озвучка и рендер в MP4

СкиллРасширенный доступ1,8 тыс.Звезды репозитория

Скилл превращает текст в готовое видео: озвучка, субтитры, обложка и описание, а картинку код рисует кадр за кадром.

СкиллШирокий доступ85Звезды репозитория

Коротко о README

Конвейер от плана до ZIP с проверкой по кадрам на светлом и темном фоне. 22 пресета движения, 5 анимаций подписи и 17 векторных значков эффектов.

Бейдж для README

Исходный SKILL.md

---
name: animated-sticker-studio
description: Turn a character image (mascot, OC, pet photo, 3D render, or just a text description) into a full pack of animated chat stickers — real keyframe animation plus motion, captions and effects — exported to the exact spec of WeChat 表情开放平台, Telegram, LINE, Discord, Slack, WhatsApp or plain GIF, auto-compressed under each size limit, visually verified and zipped. Use for 表情包/动态表情/贴纸/sticker pack requests of any size (8 to 100+), for redoing single stickers, or for converting an existing pack to another platform.
---

# Animated Sticker Studio · 动态表情包工坊

Pipeline: **plan → reference → atlases → cut → build → look → fix → deliver**. Scripts live in `scripts/` (Python 3 + Pillow; ffmpeg for Telegram/MP4). Run every script with `--help` before first use.

## 1. Plan (manifest.json)

Ask only what you cannot default. Defaults: 16 stickers, Simplified Chinese captions, `generic` GIF; add `wechat` if they mention 微信表情开放平台/上架, `telegram`/`line`/`discord`/`slack`/`whatsapp` if named. WeChat albums take any 8–24 stickers; LINE packs must be 8, 16 or 24.

Write `manifest.json` next to the work (format: [references/manifest.md](references/manifest.md)). Pick captions from [references/phrases.md](references/phrases.md) unless the user gave their own, and give every entry:

- `pose` — what the body does, in English, concrete enough to draw (arms, props, expression). Two entries may never share the same pose with only new text.
- `motion` + `icon` + optional `caption_fx` — chosen to match the line (table in phrases.md).
- For the 4–8 stickers where the gesture IS the joke (挥手, 鼓掌, 打字, 干饭, 点赞, 哭, 打哈欠, 比心…) put them in a group with `"keys": 4` and write four `key_poses`. These become real frame-by-frame animation. Single poses get procedural motion only.

Show the user the plan as a short table (编号 / 文案 / 动作) before spending on generation when the pack is ≥24 or the user seems picky; otherwise go.

## 2. Reference

- User image → copy into `ref/`, set `character.reference`. Write `character.anchors`: one English sentence listing what must never change (shape, colours, markings, accessories).
- 3D model → render a front/three-quarter view with the face visible, use that.
- Only a description → `gen_atlas.py manifest.json --provider hiapi --make-reference "<description>"`, show the result, get a yes.
- Use only art the user owns or may adapt. Do not recreate a third party's character from memory.

## 3. Atlases

One sheet per group (≤16 cells). Either:

- **Your own image tool** (Codex `image_gen`, etc.): `gen_atlas.py manifest.json --print-prompts`, generate each sheet with the reference attached, save as the printed path, then set the group's `atlas` and `grid`.
- **Bundled providers**: `gen_atlas.py manifest.json --provider hiapi|openai` (keys only from env: `HIAPI_API_KEY`, or `OPENAI_API_KEY` + optional `OPENAI_BASE_URL`/`OPENAI_IMAGE_MODEL`). Skips groups that already have an atlas; `--group N` redraws one. Never print or echo a key.

Open every sheet at full size. Reject and redraw (`--group N`) when the identity drifts, a cell is missing or doubled, limbs are clipped, or two poses are the same.

## 4. Cut

`cut_atlas.py manifest.json` — removes solid or fake-checkerboard backgrounds, finds each sprite by its pixels (not by a rigid grid), writes `sprites/` and fills every entry's `sprites` list. **Open each `atlases/*.index.png`** and confirm number N shows the pose written for entry N. If the model swapped cells, fix by editing `sprites` paths in the manifest — never by renaming captions to fit wrong art.

## 5. Build

```sh
python3 scripts/build_pack.py manifest.json out --mp4          # platforms from manifest

Сообщить о проблеме