API спрайтов
Генерация спрайтов из своего кода или прямо из движка: тот же конвейер, что на сайте, без интерфейса.
Плагин для Godot 4
Если пишешь на Godot — код не нужен. Плагин ставится в проект, панель появляется в редакторе: выбрал картинку персонажа, нажал кнопку, в res://sprites/ легли листы кадров и готовые SpriteFrames для AnimatedSprite2D.
Скачать плагинРаспаковать в res://addons/, включить в Настройках проекта → Плагины. Нужен Godot 4.2 или новее.
Доступ
Отдельных ключей нет намеренно: у тебя уже есть постоянный токен сайта, а второй секрет — это ещё одно место, откуда он может утечь. Возьми его в консоли браузера на любой странице сайта, где ты вошёл:
localStorage.getItem("web_auth")
// {"telegram_id":"123456789","_authHash":"abc..."}Дальше он идёт в заголовке каждого запроса:
Authorization: Bearer <telegram_id>:<_authHash>Токен равносилен доступу к аккаунту и списывает звёзды — не публикуй его в открытом репозитории.
Создать анимацию
POST /api/sprite-generate
Content-Type: application/json
{
"character": "https://.../hero.png", // ссылка или data:image/...;base64,
"action": "walk", // idle | walk | run | jump | attack
"mode": "video", // video — плавнее, grid — дешевле
"view": "side", // side | iso (пять направлений)
"style": "cartoon", // cartoon | pixel
"pixelSize": 64, // только для pixel: 32 | 48 | 64 | 96
"pixelColors": 24, // 8 | 16 | 24 | 32
"move": "колдует заклинание", // необязательно: своё движение
"free": false // true — бесплатное превью со знаком
}
→ { "jobId": "spr_...", "cost": 100, "mode": "video" }Узнать готовность
GET /api/sprite/v1/job?jobId=spr_...
→ {
"status": "done", // queued | processing | done | error
"progress": 100,
"locked": false, // true — превью с водяным знаком
"animations": [
{ "label": "walk", "frames": 16, "sheet": "https://.../sheet_spr_..._walk.png" }
],
"atlas": "https://.../atlas_spr_....json"
}Лист кадров идёт в один ряд, координаты и частота — в атласе. Изометрия возвращает пять анимаций, по одной на направление.
Справочник значений
GET /api/sprite/v1/actions
→ действия, виды, стили, цены и допустимые настройки пикселяПример целиком
TOKEN="123456789:abc..."
JOB=$(curl -s https://ai-super-app.ru/api/sprite-generate \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"character":"https://example.com/hero.png","action":"walk","mode":"grid"}' \
| python3 -c 'import sys,json; print(json.load(sys.stdin)["jobId"])')
until curl -s "https://ai-super-app.ru/api/sprite/v1/job?jobId=$JOB" \
-H "Authorization: Bearer $TOKEN" | grep -q '"status": "done"'; do sleep 5; done
curl -s "https://ai-super-app.ru/api/sprite/v1/job?jobId=$JOB" \
-H "Authorization: Bearer $TOKEN"- · Ролик занимает пару минут, изометрия в режиме «плавно» — около десяти.
- · Звёзды списываются при создании задания и возвращаются, если оно упало.
- · При free: true результат приходит с водяным знаком, снять его — POST /api/sprite-unlock с тем же jobId.
- · Задания живут в памяти сервера: после его перезапуска ссылки на файлы остаются, а сам jobId уже не опросить.