Только по подписке PRO

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 уже не опросить.