Авториггинг 3D-моделей из кода

Отправьте GLB, glTF или FBX почти чего угодно: людей, роботов, животных, драконов, динозавров, пауков, змей, рыб или пропсов. Получите обратно GLB со скелетом, весами скиннинга и всеми анимациями для его типа тела.

цена
5¢ / риг
бесплатно
3 рига / мес.
время
~1–2 мин
анимации
933
~/game
$ export AFK_API_KEY=afk_...$ npx afk-rig knight.glb --type humanUploading knight.glb…QueuedRigging: studying the shapeRigging: placing the jointsRigging: fitting the skeletonRigging: painting skin weightsWriting the .glb with its animationsDone in 84 s: 593 animations, 7.4 MB, one of your free rigs this month./home/you/game/knight.rigged.glb$ 

Быстрый старт#

От входа до модели с ригом — за три шага. Нужен Node.js 18.17 или новее.

  1. 01

    Создайте ключ

    Войдите в свой аккаунт afk.ai через Google и создайте ключ в разделе «API-ключи». Он начинается с afk_ и показывается один раз; отозвать его там же можно в любой момент. Не размещайте его на веб-страницах и в приложениях, которые люди скачивают.

  2. 02

    Добавьте его в окружение

    shell
    export AFK_API_KEY=afk_...   # from afk.ai/account#api
  3. 03

    Сделайте риг модели

    npx afk-rig knight.glb --type human -o knight.rigged.glb

    Риги выполняются на наших GPU, обычно за 1–2 минуты; CLI и клиент дожидаются результата. В MCP-клиенте попросите что-нибудь вроде «сделай риг models/fox.glb как четвероногого животного».

По картинке#

Ещё нет 3D-модели? Отправьте вместо неё картинку персонажа: один вызов создаст по ней текстурированную 3D-модель, затем сделает ей риг со всеми анимациями для её типа тела — в одном GLB, примерно за 2–3 мин.

25¢ за персонажа из ваших кредитов: 3D-модель, риг и все анимации; при неудаче деньги возвращаются. Бесплатные риги не распространяются на персонажей. Это видно в поле billing задачи: held, пока она выполняется, затем charged или refunded, а CLI выводит, сколько списано и сколько кредитов осталось.

npx afk-rig character knight.png -o knight.glb
# Done in 135 s: 593 animations, 15.2 MB, charged $0.25 from your API credits. $4.75 of credits left.

Лучше всего подходит чёткая, хорошо освещённая картинка одного персонажа целиком на однотонном фоне. Текстуры модели (цвет, металличность и шероховатость) создаются под стать картинке, а первый запрос после затишья может занять до 5 минут, пока запускается GPU. В MCP-клиенте попросите что-нибудь вроде «сделай персонажа с ригом из art/knight.png». Подробнее — в нашем руководстве по API для персонажа с ригом по картинке.

Типы тела#

Передайте один из них в --type. afk.ai подгоняет скелет, созданный для этого типа, рассчитывает веса скиннинга и добавляет все анимации, сделанные для этого скелета: всего 933 для всех типов. afk-rig types <type> выводит анимации типа.

Гуманоиды с ригом от afk.ai
humanклипов: 593

Люди, роботы, зомби, все, кто ходит на двух ногах. С пальцами.

Четвероногие животные с ригом от afk.ai
foxклипов: 128

Собаки, кошки, лисы, волки

Копытные животные с ригом от afk.ai
horseклипов: 22

Лошади, олени, коровы

Птицы с ригом от afk.ai
birdклипов: 19

Крылья и две лапы

Драконы с ригом от afk.ai
dragonклипов: 20

Крылья и четыре лапы

Динозавры и кайдзю с ригом от afk.ai
kaijuклипов: 18

Прямоходящие, с хвостом

Пауки и насекомые с ригом от afk.ai
spiderклипов: 18

Шесть или восемь ног, без крыльев

Змеи с ригом от afk.ai
snakeклипов: 15

Без ног, один длинный позвоночник

Рыбы с ригом от afk.ai
fishклипов: 16

Рыбы, акулы, киты

insectклипов: 14

Осы, пчёлы, стрекозы

kangarooклипов: 12

Прыгает на больших задних ногах

frogклипов: 13

Лягушки и жабы

turtleклипов: 14

Морские и сухопутные черепахи

ghostклипов: 13

Парит, без ног

objectклипов: 18

Коробки, флаги, предметы

CLI#

Запускайте через npx afk-rig или установите глобально командой npm i -g afk-rig. Прогресс выводится в stderr, а путь к записанному файлу — в stdout, так что CLI легко встраивается в скрипты.

командачто делает
afk-rig <model> [options]Делает риг модели и записывает .glb с ригом
afk-rig character <image> [options]Создаёт персонажа с ригом и анимациями по картинке и записывает .glb (25¢)
afk-rig status <rig id>Статус рига
afk-rig download <rig id> -o <file>Скачивает готовый риг (в течение 24 часов)
afk-rig accountОставшиеся бесплатные риги в этом месяце, ежемесячный кредит вашего тарифа и кредиты API
afk-rig types [type]Типы тела и анимации типа
afk-rig mcpЗапуск как MCP-сервер на stdio

Параметры

-t, --type <type>Что это за модель: human (по умолчанию) или другой тип тела
-a, --animations <list>all (по умолчанию), none или названия анимаций через запятую
--facing <degrees>auto (по умолчанию), 0, 90, 180 или 270: как модель повёрнута вокруг вертикальной оси
-o, --out <file>По умолчанию: <имя модели или картинки>.rigged.glb рядом с исходным файлом
--no-waitЗапустить риг, вывести его id и выйти
--jsonВывод в JSON

Коды выхода

0Риг готов; путь к записанному файлу — в stdout
3Закончились бесплатные риги и кредиты
1Всё остальное (сообщение — в stderr)

Node.js#

Тот же пакет — это типизированный клиент: import { AfkRig } from 'afk-rig'. new AfkRig() читает AFK_API_KEY, или передайте { apiKey }.

методвозвращает
rig(model, options)Загрузка, ожидание и скачивание одним вызовом; записывает options.output, если он задан. Возвращает { job, glb }
startRig(model, options)Загружает модель и возвращает задачу в очереди. Отправляет Idempotency-Key, так что повторная загрузка никогда не запустит второй риг
character(image, options)Картинка на входе, персонаж с ригом на выходе: как rig(), возвращает { job, glb }
startCharacter(image, options)Загружает картинку и возвращает задачу в очереди; дальше waitForRig и downloadRig, как для рига
getRig(id)Задача в текущем состоянии
waitForRig(id, { onUpdate })Опрашивает, пока задача не завершится успешно; бросает исключение при ошибке
downloadRig(id)Готовый .glb с ригом в виде Uint8Array
account()Оставшиеся бесплатные риги, кредиты, лимиты и недавние риги
types()Типы тела с их анимациями

По шагам

rig.mjs
import { AfkRig } from 'afk-rig'

const afk = new AfkRig()

const started = await afk.startRig('fox.glb', { type: 'fox', facing: 'auto' })
// { id: 'rig_…', status: 'queued', billing: { charge: 'credits', state: 'held', … } }

const done = await afk.waitForRig(started.id, {
  onUpdate: (job) => console.log(job.status, job.stage), // rigging skeleton, rigging fit, …
})

const glb = await afk.downloadRig(done.id) // Uint8Array, for 24 hours

Ошибки — это AfkRigError с HTTP-статусом status, кодом code из таблицы ниже и, при превышении лимита запросов, retryAfter в секундах.

MCP-сервер#

npx -y afk-rig mcp запускает его как MCP-сервер на stdio, так что Claude Code, Cursor, Windsurf, Claude Desktop и другие MCP-клиенты могут делать риг моделей, которые они создают. Передайте ему AFK_API_KEY в окружении.

claude code
claude mcp add afk-rig -e AFK_API_KEY=afk_... -- npx -y afk-rig mcp
mcp.json (cursor, windsurf, claude desktop)
{
  "mcpServers": {
    "afk-rig": {
      "command": "npx",
      "args": ["-y", "afk-rig", "mcp"],
      "env": { "AFK_API_KEY": "afk_..." }
    }
  }
}

Инструменты

rig_modelДелает риг файла модели и записывает .glb рядом с ним
image_to_characterСоздаёт персонажа с ригом и анимациями по картинке и записывает .glb рядом с ней
get_accountОставшиеся бесплатные риги в этом месяце, ежемесячный кредит вашего тарифа и кредиты API
list_body_typesТипы тела и их анимации
rig_statusСтатус рига по id

Жизненный цикл рига#

Риг — это асинхронная задача. Загрузите модель, и вы сразу получите её id; задача проходит через эти статусы, а CLI и клиент опрашивают её за вас.

queuedriggingexportingsucceededилиfailed
stage во время риггинга: prepare → skeleton (→ retry) → fit → weights → skin
stage во время экспорта: animations

billing.state равен held, пока выполняется платный риг, charged, когда файл готов, и refunded, если риг не удался, так что неудачный риг ничего не стоит. billing.charge показывает способ оплаты: free, rerig, credits или character. Персонаж по картинке находится в статусе generating (создаётся его 3D-модель), прежде чем перейти к риггингу. Готовая задача в том виде, в каком её выводит afk-rig status <id> --json:

задача рига
{
  "id": "rig_Xq3v9KfL2mTz8RbA1cWd",
  "status": "succeeded",
  "stage": null,
  "type": "human",
  "file": "knight.glb",
  "animations": "all",
  "facing": null,
  "created_at": "2026-10-26T17:02:11Z",
  "finished_at": "2026-10-26T17:03:35Z",
  "billing": { "charge": "credits", "amount_usd": "0.05", "state": "charged" },
  "error": null,
  "result": {
    "download_url": "https://…/v1/rigs/rig_Xq3v9KfL2mTz8RbA1cWd/model.glb",
    "bytes": 7412032,
    "animations": 593,
    "expires_at": "2026-10-27T17:03:35Z"
  }
}

Ошибки#

Запросы, которые API отклоняет, возвращаются с HTTP-статусом и полем code; плата за них не берётся.

статускодзначение
401missing_api_keyКлюч не передан. Задайте AFK_API_KEY.
401invalid_api_keyКлюч неверный или отозван. Создайте новый на странице аккаунта.
402insufficient_creditsБесплатных ригов в этом месяце не осталось, кредит тарифа исчерпан, а кредитов недостаточно. Персонажу всегда нужны кредиты, независимо от бесплатных ригов: 25¢ за персонажа из ваших кредитов: 3D-модель, риг и все анимации; при неудаче деньги возвращаются. CLI завершается с кодом 3.
400bad_type, bad_facing, unknown_animationAPI не знает такого параметра. afk-rig types выводит типы и анимации.
400missing_imageЗапрошен персонаж без картинки.
413too_largeФайл больше 200 МБ или его меш слишком детализирован для рига (максимум около 5 миллионов вершин); для персонажа — картинка больше 20 МБ.
415unsupported_formatЭто не .glb, не .gltf со всеми встроенными данными и не .fbx (для персонажа: не PNG, JPEG или WebP).
422unreadable_modelНе удалось прочитать файл как 3D-модель.
429rate_limitedСлишком много ригов выполняется или запущено за этот час, слишком много запросов за эту минуту или один риг скачан слишком много раз за этот час (что именно — сказано в поле reason). Подождите retry_after с; для ригов и запросов CLI и клиент ждут сами.
409not_readyСкачивание до завершения рига. Опрашивайте, пока статус не станет succeeded.
410expired24 часа на скачивание истекли. Сделайте риг заново (повторный риг бесплатен).

Когда риг не удаётся

Задача, которая была принята, но не смогла пройти риггинг, завершается со status: "failed" и одним из этих значений в error.code. Плата за неё не берётся.

unriggableИИ не нашёл в модели тела, которому можно сделать риг.
content_not_allowedМодель не прошла проверку на контент для взрослых, которую проходит каждый риг на afk.ai.
rig_failedЧто-то пошло не так на нашем GPU. Попробуйте снова.
no_modelПерсонаж: по картинке не удалось создать 3D-модель. Попробуйте более чёткую картинку одного персонажа целиком.

Ограничения#

Вход.glb, .gltf (со встроенными буферами и текстурами) или .fbx. Меши со сжатием Draco и meshopt пока не поддерживаются.
Размер моделиФайлы до 200 МБ вместе с текстурами, до примерно 5 миллионов вершин
КартинкиДля персонажей: PNG, JPEG или WebP, до 20 МБ, один персонаж целиком на однотонном фоне. Персонажи учитываются в тех же лимитах параллельности и частоты, что и риги.
Параллельность2 рига одновременно на аккаунт; CLI ждёт свободного слота
Частота100 запущенных ригов в час
Запросы120 в минуту на аккаунт для статуса, аккаунта и скачиваний
Без ключа60 запросов в минуту с одного IP-адреса: типы тела, а также запросы без ключа или с неверным ключом
СкачиванияФайл .glb каждого рига — 20 раз в час
РезультатыДоступны для скачивания 24 часа после завершения рига
ВыходБинарный glTF (.glb) со скелетом, весами скиннинга и анимационными клипами. Текстуры и материалы сохраняются как были. Импортируется в Unity (glTFast), Unreal, Godot, Blender и three.js.
Модель с ригом на входеПолучает риг заново в той позе, в которой она стоит; старый скелет и анимации заменяются
ЛицензияВаша модель остаётся вашей. Скелеты и анимации распространяются по CC0, коммерческое использование разрешено.

Цены#

5¢ за риг, фиксированно. Риг — это весь результат: скелет, веса скиннинга и все анимации для типа тела. Персонаж по картинке стоит 25¢. Никакой платы за каждую анимацию и никакой подписки.

за риг$0.05 из предоплаченных кредитов
бесплатно3 рига в месяц, общие с afk.ai/rig
с ProКаждый Pro Pass ($29 за 30 дней) добавляет $10 к вашим кредитам, а Lifetime ($85) — $10; оба на afk.ai/lifetime, и кредиты остаются у вас. Владельцы прежнего Lifetime или Lifetime из мобильного приложения вместо этого получают $10 в месяц на риги (200 ригов) после бесплатных и до ваших кредитов
повторные ригиТа же модель снова в том же месяце (другой тип, поворот или повтор): ещё 3 бесплатно
неудачные риги$0: сумма резервируется при запуске рига и списывается, только когда файл готов
персонаж по картинке25¢ за персонажа из ваших кредитов: 3D-модель, риг и все анимации; при неудаче деньги возвращаются. Бесплатные риги не распространяются на персонажей
пополнениеОт $5 (100 ригов) на странице аккаунта; кредиты не сгорают

Сколько стоит месяц

ригов в месяцвы платитеанимации
3$0.00Все, в каждом риге
100$4.85Все, в каждом риге
1,000$49.85Все, в каждом риге
10,000$499.85Все, в каждом риге

Сравнение с другими API риггинга#

Самая низкая цена с оплатой по факту среди всех API риггинга, которые мы нашли. Опубликованные цены API, с кредитами, переведёнными в доллары, по обычным планам каждого провайдера. Голый риг у Ludo.ai дешевле, если платить за год вперёд; гуманоид с десятью анимациями здесь стоит меньше, чем через любой другой API, который мы посчитали. Расчёты — в нашем сравнении цен на API авториггинга.

apiза риганимациитипы телаоплата
afk.ai5¢Все, включены (900+ для всех типов тела)Гуманоиды, животные, птицы, драконы, динозавры, пауки, змеи, рыбы и другиеПредоплаченные кредиты, без подписки
Ludo.aiот 3¢ до 5¢от 1.5¢ до 2.5¢ за каждуюЛюбая форма; пресеты анимаций — для гуманоидовПодписка Pro или Studio ($50 в месяц или $420 либо $3,600 в год)
Meshyот 6.25¢ до 10¢от 3.75¢ до 6¢ за каждую (ходьба и бег идут с ригом)Только гуманоидыПлатный план, от $20 в месяц
Uthana15¢Оплачиваются отдельноГуманоидыОплата по факту
Tripo25¢10¢ за каждуюДвуногие, четвероногие, шести- и восьминогие существа, птицы, змеи, морские обитателиОплата по факту, от $1
Anything WorldОплата кредитами, см. их ценыЕсть эндпоинт «риг и анимация»Гуманоиды, четвероногие, птицы, рыбы и другиеБесплатный ежемесячный лимит, дальше — кредиты
MixamoБесплатно, но публичного API не нашлиГуманоидная библиотекаТолько гуманоидыБесплатно с Adobe ID

Цены проверены по собственным страницам каждого провайдера по состоянию на октябрь 2026 г., только обычные планы (без предложений для новых пользователей): Ludo.ai, Meshy API, Планы Meshy, Uthana, Tripo, Anything World, FAQ Mixamo. Они меняются; проверьте перед решением.

Вопросы и ответы#

Это самый дешёвый API риггинга?

С оплатой по факту — да: 5¢ за риг — самая низкая цена без подписки, которую мы нашли (Uthana стоит 15¢, Tripo — 25¢). Годовые планы Ludo.ai дешевле за голый риг — от 3¢ до 3.5¢ с оплатой года вперёд, — но анимации там стоят отдельно: гуманоид с десятью анимациями стоит там примерно от 18¢, а здесь — 5¢. Полное сравнение с источниками — в нашей статье о ценах на API авториггинга.

Можно ли начать с картинки вместо 3D-модели?

Да. Отправьте картинку персонажа, и один вызов создаст по ней текстурированную 3D-модель и сделает ей риг со всеми анимациями для её типа тела, примерно за 2–3 мин. Это 25¢ за персонажа из ваших кредитов: 3D-модель, риг и все анимации; при неудаче деньги возвращаются. Бесплатные риги не распространяются на персонажей. Лучше всего подходит чёткая картинка одного персонажа целиком на однотонном фоне. Подробнее — в нашей статье об API для персонажа с ригом по картинке.

Что входит в риг?

Всё, что нужно для анимации модели: скелет, веса скиннинга и все анимации, которые у нас есть для её типа тела, в одном GLB. Никакой доплаты за каждую анимацию. Если первый результат не подошёл, можно бесплатно сделать риг той же модели ещё до 3 раз.

Как работают бесплатные риги?

Каждый аккаунт получает 3 бесплатных рига в месяц — столько же, сколько на сайте. После этого риги оплачиваются из предоплаченных кредитов по 5¢ за каждый. Как и на бесплатном тарифе сайта, в бесплатный риг входят бесплатные анимации, но не золотые. В риг, оплаченный из кредитов, входят все — как и в каждый риг аккаунта с платным тарифом afk.ai. Если запросить золотую анимацию по названию, риг оплачивается из ваших кредитов, а бесплатный риг остаётся за вами.

Есть ли подписка?

Нет. Вы пополняете кредиты, когда нужно, от $5, и ничего не продлевается автоматически. Кредиты не сгорают.

Входит ли кредит API в Pro?

Да. Каждый afk.ai Pro Pass ($29 за 30 дней) добавляет $10 к вашим кредитам API, а Lifetime ($85) — $10. Они работают как купленные кредиты: не сгорают и остаются у вас после окончания Pro Pass. Владельцы прежнего Lifetime или Lifetime из мобильного приложения вместо этого каждый месяц получают кредит API на $10 — это 200 ригов, которые расходуются после бесплатных ригов и до ваших предоплаченных кредитов. Этот кредит предназначен для ригов, а не для персонажей по картинкам, обновляется 1-го числа и не переносится на следующий месяц. Остаток видно на странице аккаунта.

Сколько времени занимает риг?

Обычно около 1–2 минут на наших серверах. API асинхронный: вы загружаете модель, получаете id и проверяете статус, пока GLB с ригом не будет готов. CLI ждёт за вас.

Что я отправляю и что получаю?

Отправьте GLB, glTF или FBX и тип тела. В ответ вы получите стандартный бинарный glTF (GLB) со скелетом, весами скиннинга и анимациями, который импортируется в Unity (через glTFast), Unreal, Godot, Blender и three.js.

Может ли мой ИИ-агент им пользоваться?

Да. Пакет afk-rig — это ещё и MCP-сервер, так что Claude Code, Cursor, Windsurf, Claude Desktop и другие MCP-клиенты получают риггинг как инструмент. Агенты, у которых есть только shell, могут запускать CLI.

Можно ли использовать модели с ригом в коммерческих целях?

Да. Ваша модель остаётся вашей, а анимации распространяются по CC0 (общественное достояние), так что их можно выпускать в коммерческих играх и приложениях.

Где получить API-ключ?

Войдите в afk.ai и создайте ключ на странице аккаунта, в разделе «API-ключи». Ключ показывается один раз, так что сохраните его в надёжном месте; отозвать его и создать новый можно в любой момент.

$ npx afk-rig --help3 бесплатных рига в месяц, затем по 5¢ за каждый.