快速开始#
从登录到拿到绑好骨骼的模型,只需三步。需要 Node.js 18.17 或更新版本。
- 01
创建密钥
用 Google 登录你的 afk.ai 账号,在 API keys(API 密钥)下创建一个。它以
afk_开头,只显示一次;随时可以在那里吊销。不要把它放进网页或供人下载的应用里。 - 02
放进环境变量
shellexport AFK_API_KEY=afk_... # from afk.ai/account#api - 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> 会列出某个类型的动画。

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

狗、猫、狐狸、狼

马、鹿、牛

翅膀加两条腿

翅膀加四条腿

直立,带尾巴

六条或八条腿,没有翅膀

没有腿,一条长脊柱

鱼、鲨鱼、鲸
黄蜂、蜜蜂、蜻蜓
用粗壮的后腿跳跃
青蛙和蟾蜍
乌龟和陆龟
飘浮,没有腿
箱子、旗帜、物品
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() | 体型及其动画 |
分步操作
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 mcp add afk-rig -e AFK_API_KEY=afk_... -- npx -y afk-rig mcp{
"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 和客户端会替你轮询。
stage:prepare → skeleton (→ retry) → fit → weights → skinstage: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 | 含义 |
|---|---|---|
| 401 | missing_api_key | 没有发送密钥。请设置 AFK_API_KEY。 |
| 401 | invalid_api_key | 密钥错误或已被吊销。请在你的账号页面创建一个新密钥。 |
| 402 | insufficient_credits | 本月的免费绑骨次数和方案额度都已用完,积分也不足。生成角色无论有没有免费绑骨次数,都需要积分:每个角色从你的积分中扣 25¢:包含 3D 模型、骨骼绑定和全部动画;失败则退款。CLI 会以退出码 3 退出。 |
| 400 | bad_type, bad_facing, unknown_animation | 有一个选项 API 不认识。afk-rig types 会列出类型和动画。 |
| 400 | missing_image | 请求生成角色,却没有提供图片。 |
| 413 | too_large | 文件超过 200 MB,或网格太精细无法绑骨(最多约 500 万个顶点);如果是角色,则是图片超过 20 MB。 |
| 415 | unsupported_format | 不是 .glb、资源全部内嵌的 .gltf 或 .fbx(如果是角色:不是 PNG、JPEG 或 WebP)。 |
| 422 | unreadable_model | 无法将文件读取为 3D 模型。 |
| 429 | rate_limited | 正在运行或本小时已启动的绑骨太多、本分钟的请求太多,或者某次绑骨在本小时内下载次数过多(reason 会说明是哪一种)。请等待 retry_after 秒;遇到绑骨和请求的限制时,CLI 和客户端会自动等待。 |
| 409 | not_ready | 在绑骨完成前就请求了下载。请轮询,直到状态变为 succeeded。 |
| 410 | expired | 24 小时的下载期限已过。请重新绑骨(重新绑骨免费)。 |
绑骨失败时
已被接受但无法绑骨的任务,最终会以 status: "failed" 结束,并在 error.code 中给出以下之一。不收费。
| unriggable | AI 在模型中找不到可以绑骨的身体。 |
|---|---|
| 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.ai | 5¢ | 全部包含(各体型共 900+ 个) | 人形、动物、鸟、龙、恐龙、蜘蛛、蛇、鱼等 | 预付积分,无需订阅 |
| Ludo.ai | 3¢ 到 5¢ | 每个 1.5¢ 到 2.5¢ | 任何形状;预设动画适用于人形 | Pro 或 Studio 订阅(每月 $50,或每年 $420 或 $3,600) |
| Meshy | 6.25¢ 到 10¢ | 每个 3.75¢ 到 6¢(绑骨附带一个行走和一个奔跑) | 仅限人形 | 付费方案,每月 $20 起 |
| Uthana | 15¢ | 单独计价 | 人形 | 按量付费 |
| Tripo | 25¢ | 每个 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 密钥)下创建。密钥只显示一次,请妥善保存;你可以随时吊销并创建新的。