用代码给 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

    创建密钥

    用 Google 登录你的 afk.ai 账号,在 API keys(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 绑骨的人形角色
human593 个片段

人、机器人、僵尸,任何用两条腿站立的角色。含手指。

afk.ai 绑骨的四足动物
fox128 个片段

狗、猫、狐狸、狼

afk.ai 绑骨的有蹄动物
horse22 个片段

马、鹿、牛

afk.ai 绑骨的鸟
bird19 个片段

翅膀加两条腿

afk.ai 绑骨的龙
dragon20 个片段

翅膀加四条腿

afk.ai 绑骨的恐龙和怪兽
kaiju18 个片段

直立,带尾巴

afk.ai 绑骨的蜘蛛和昆虫
spider18 个片段

六条或八条腿,没有翅膀

afk.ai 绑骨的蛇
snake15 个片段

没有腿,一条长脊柱

afk.ai 绑骨的鱼
fish16 个片段

鱼、鲨鱼、鲸

insect14 个片段

黄蜂、蜜蜂、蜻蜓

kangaroo12 个片段

用粗壮的后腿跳跃

frog13 个片段

青蛙和蟾蜍

turtle14 个片段

乌龟和陆龟

ghost13 个片段

飘浮,没有腿

object18 个片段

箱子、旗帜、物品

CLI#

用 npx afk-rig 运行,或用 npm i -g afk-rig 全局安装。进度输出到 stderr,写出的文件路径输出到 stdout,便于在脚本中组合使用。

命令作用
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作为 stdio 上的 MCP 服务器运行

选项

-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)以 Uint8Array 形式返回绑好骨骼的 .glb
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 会把它作为 stdio 上的 MCP 服务器运行,这样 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;这些请求不收费。

状态码code含义
401missing_api_key没有发送密钥。请设置 AFK_API_KEY。
401invalid_api_key密钥错误或已被吊销。请在你的账号页面创建一个新密钥。
402insufficient_credits本月的免费绑骨次数和方案额度都已用完,积分也不足。生成角色无论有没有免费绑骨次数,都需要积分:每个角色从你的积分中扣 25¢:包含 3D 模型、骨骼绑定和全部动画;失败则退款。CLI 会以退出码 3 退出。
400bad_type, bad_facing, unknown_animation有一个选项 API 不认识。afk-rig types 会列出类型和动画。
400missing_image请求生成角色,却没有提供图片。
413too_large文件超过 200 MB,或网格太精细无法绑骨(最多约 500 万个顶点);如果是角色,则是图片超过 20 MB。
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 中给出以下之一。不收费。

unriggableAI 在模型中找不到可以绑骨的身体。
content_not_allowed模型未通过成人内容检查,afk.ai 上的每次绑骨都要经过这项检查。
rig_failed我们的 GPU 出了问题,请重试。
no_model角色:无法从图片生成 3D 模型。请换一张更清晰、只有一个完整角色的图片。

限制#

输入.glb、.gltf(缓冲区和纹理已内嵌)或 .fbx。暂不支持 Draco 和 meshopt 压缩的网格。
模型大小文件最大 200 MB(含纹理),最多约 500 万个顶点
图片用于生成角色:PNG、JPEG 或 WebP,最大 20 MB,只有一个完整的角色,背景干净。角色生成与绑骨共用同样的并发和速率限制。
并发每个账号同时运行 2 个绑骨任务;CLI 会等待空闲位置
速率每小时最多启动 100 次绑骨
请求每个账号每分钟 120 次,用于查询状态、账号和下载
无密钥每个 IP 地址每分钟 60 次请求:查询体型,以及缺少密钥或密钥错误的请求
下载每次绑骨的 .glb 每小时最多下载 20 次
结果绑骨完成后 24 小时内可下载
输出glTF 二进制文件(.glb),包含骨架、蒙皮权重和动画片段。纹理和材质保持原样。可导入 Unity(glTFast)、Unreal、Godot、Blender 和 three.js。
已绑骨的输入按其当前姿势重新绑骨;原有的骨架和动画会被替换
许可你的模型仍归你所有。骨架和动画采用 CC0 授权,可用于商业用途。

价格#

每次绑骨 5¢,统一价格。一次绑骨就是全部产出:骨架、蒙皮权重和该体型的全部动画。从图片生成角色为 25¢。不按动画收费,无需订阅。

每次绑骨$0.05,从预付积分中扣除
免费每月 3 次,与 afk.ai/rig 共用
Pro 用户每个 Pro Pass(30 天 $29)为你增加 $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.ai3¢ 到 5¢每个 1.5¢ 到 2.5¢任何形状;预设动画适用于人形Pro 或 Studio 订阅(每月 $50,或每年 $420 或 $3,600)
Meshy6.25¢ 到 10¢每个 3.75¢ 到 6¢(绑骨附带一个行走和一个奔跑)仅限人形付费方案,每月 $20 起
Uthana15¢单独计价人形按量付费
Tripo25¢每个 10¢双足、四足、六足和八足生物、鸟、蛇、海洋生物按量付费,$1 起
Anything World按积分计费,见其价格页面提供绑骨加动画接口人形、四足动物、鸟、鱼等每月免费额度,之后按积分计费
Mixamo免费,但未找到公开 API人形动画库仅限人形免费,需 Adobe ID

价格核实于 2026年10月,来自各家自己的页面,仅计常规方案(不含新用户优惠):Ludo.ai、Meshy API、Meshy 方案、Uthana、Tripo、Anything World、Mixamo FAQ。价格会变动,决定前请先核实。

常见问题#

它是最便宜的绑骨 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 起,不会自动续费。积分不会过期。

Pro 包含 API 额度吗?

包含。每个 afk.ai Pro Pass(30 天 $29)都会为你的 API 积分增加 $10,Lifetime($85)则增加 $10。这些积分和你购买的积分一样:不会过期,Pro Pass 到期后也会保留。持有早期 Lifetime 或手机应用 Lifetime 的用户则是每月有 $10 的 API 额度,即 200 次绑骨,在免费绑骨之后、预付积分之前使用。这部分额度只能用于绑骨,不能用于从图片生成角色;每月 1 日重置,用不完不会累积到下个月。你的账号页面会显示还剩多少。

一次绑骨需要多久?

在我们的服务器上通常约 1 到 2 分钟。API 是异步的:你上传模型,拿回一个 id,然后查询状态,直到绑好骨骼的 GLB 就绪。CLI 会替你等待。

我要发送什么,会拿到什么?

发送 GLB、glTF 或 FBX 以及体型。你会拿回一个标准的 glTF 二进制文件(GLB),包含骨架、蒙皮权重和动画,可导入 Unity(使用 glTFast)、Unreal、Godot、Blender 和 three.js。

我的 AI 智能体能用吗?

能。afk-rig 包同时也是 MCP 服务器,所以 Claude Code、Cursor、Windsurf、Claude Desktop 和其他 MCP 客户端都能把绑骨当作工具使用。只有 shell 的智能体可以运行 CLI。

绑好骨骼的模型可以商用吗?

可以。你的模型仍归你所有,动画采用 CC0(公共领域)授权,可以用在商业游戏和应用中。

在哪里获取 API 密钥?

登录 afk.ai,在账号页面的 API keys(API 密钥)下创建。密钥只显示一次,请妥善保存;你可以随时吊销并创建新的。

$ npx afk-rig --help每月 3 次免费绑骨,之后每次 5¢。