Snelstart#
Van inloggen tot een gerigd model in drie stappen. Je hebt Node.js 18.17 of nieuwer nodig.
- 01
Maak een sleutel aan
Log in op je afk.ai-account met Google en maak er een aan onder API keys. Hij begint met
afk_en wordt één keer getoond; je kunt hem daar altijd intrekken. Zet hem niet in webpagina's of apps die mensen downloaden. - 02
Zet hem in je omgeving
shellexport AFK_API_KEY=afk_... # from afk.ai/account#api - 03
Rig een model
npx afk-rig knight.glb --type human -o knight.rigged.glbRigs draaien op onze GPU's, meestal in 1 tot 2 minuten; de CLI en de client wachten erop. Vraag met een MCP-client bijvoorbeeld “rig models/fox.glb als viervoeter”.
Vanuit een afbeelding#
Nog geen 3D-model? Stuur dan een afbeelding van een personage: één call maakt er een getextureerd 3D-model van en rigt het met elke animatie voor zijn lichaamstype, in één GLB, in ongeveer 2 tot 3 minuten.
25¢ per personage van je credits: het 3D-model, de rig en elke animatie; je krijgt het terug als het mislukt. Gratis rigs gelden niet voor personages. De billing van de job laat het zien: held terwijl hij loopt, daarna charged of refunded, en de CLI toont wat er is afgeschreven en hoeveel credits je nog hebt.
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.Een duidelijke, goed belichte afbeelding van één heel personage op een effen achtergrond werkt het best. De textures van het model (kleur, metaal en ruwheid) worden afgestemd op de afbeelding, en een eerste request na een rustige periode kan tot 5 minuten duren terwijl de GPU opstart. Vraag met een MCP-client bijvoorbeeld “maak een gerigd personage van art/knight.png”. Meer in onze handleiding over de API van afbeelding naar gerigd personage.
Lichaamstypes#
Geef er een mee als --type. afk.ai plaatst een skelet dat ervoor gemaakt is, berekent de skin weights en voegt elke animatie toe die voor dat skelet gemaakt is: 933 over alle types. afk-rig types <type> toont de animaties van een type.

Mensen, robots, zombies, alles op twee benen. Inclusief vingers.

Honden, katten, vossen, wolven

Paarden, herten, koeien

Vleugels en twee poten

Vleugels en vier poten

Rechtop, met een staart

Zes of acht poten, geen vleugels

Geen poten, één lange wervelkolom

Vissen, haaien, walvissen
Wespen, bijen, libellen
Springt op grote achterpoten
Kikkers en padden
Water- en landschildpadden
Zweeft, geen benen
Dozen, vlaggen, items
CLI#
Voer hem uit met npx afk-rig, of installeer hem globaal met npm i -g afk-rig. De voortgang gaat naar stderr en het pad van het weggeschreven bestand naar stdout, dus hij past goed in scripts.
| commando | wat het doet |
|---|---|
| afk-rig <model> [options] | Rigt een model en schrijft de gerigde .glb weg |
| afk-rig character <image> [options] | Maakt een gerigd, geanimeerd personage van een afbeelding en schrijft de .glb weg (25¢) |
| afk-rig status <rig id> | De status van een rig |
| afk-rig download <rig id> -o <file> | Downloadt een afgeronde rig (binnen 24 uur) |
| afk-rig account | Gratis rigs die deze maand over zijn, het maandtegoed van je plan en API-credits |
| afk-rig types [type] | Lichaamstypes, en de animaties van een type |
| afk-rig mcp | Draait als MCP-server op stdio |
Opties
| -t, --type <type> | Wat het model is: human (standaard) of een ander lichaamstype |
|---|---|
| -a, --animations <list> | all (standaard), none, of animatienamen gescheiden door komma's |
| --facing <degrees> | auto (standaard), 0, 90, 180 of 270: hoe het model om zijn verticale as gedraaid is |
| -o, --out <file> | Standaard: <model of afbeelding>.rigged.glb ernaast |
| --no-wait | Start de rig, print het id en stop |
| --json | Print JSON |
Exitcodes
| 0 | Gerigd; het pad van het weggeschreven bestand staat op stdout |
|---|---|
| 3 | Geen gratis rigs en credits meer |
| 1 | Al het andere (de melding staat op stderr) |
Node.js#
Hetzelfde pakket is ook een getypeerde client: import { AfkRig } from 'afk-rig'. new AfkRig() leest AFK_API_KEY, of geef { apiKey } mee.
| methode | geeft terug |
|---|---|
| rig(model, options) | Uploaden, wachten en downloaden in één call; schrijft naar options.output als die is opgegeven. Resolvet naar { job, glb } |
| startRig(model, options) | Uploadt en geeft de job in de wachtrij terug. Stuurt een Idempotency-Key mee, zodat een herhaalde upload nooit een tweede rig start |
| character(image, options) | Een afbeelding erin, het gerigde personage eruit: net als rig(), resolvet naar { job, glb } |
| startCharacter(image, options) | Uploadt een afbeelding en geeft de job in de wachtrij terug; daarna waitForRig en downloadRig, net als bij een rig |
| getRig(id) | De job zoals hij nu is |
| waitForRig(id, { onUpdate }) | Pollt tot hij slaagt; gooit een fout als hij mislukt |
| downloadRig(id) | De gerigde .glb als Uint8Array |
| account() | Gratis rigs over, credits, limieten en recente rigs |
| types() | Lichaamstypes met hun animaties |
Stap voor stap
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 hoursFouten zijn AfkRigErrors met de HTTP-status, een code uit de tabel hieronder en, bij rate limiting, retryAfter in seconden.
MCP-server#
npx -y afk-rig mcp draait hem als MCP-server op stdio, zodat Claude Code, Cursor, Windsurf, Claude Desktop en andere MCP-clients de modellen kunnen riggen die ze maken. Geef hem AFK_API_KEY mee in zijn omgeving.
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_..." }
}
}
}Tools
| rig_model | Rigt een modelbestand en schrijft de .glb ernaast |
|---|---|
| image_to_character | Maakt een gerigd, geanimeerd personage van een afbeelding en schrijft de .glb ernaast |
| get_account | Gratis rigs die deze maand over zijn, het maandtegoed van je plan en API-credits |
| list_body_types | De lichaamstypes en hun animaties |
| rig_status | De status van een rig, op id |
Levenscyclus van een rig#
Een rig is een asynchrone job. Upload het model en je krijgt meteen het id; de job doorloopt deze statussen, en de CLI en de client pollen hem voor je.
stage tijdens het riggen: prepare → skeleton (→ retry) → fit → weights → skinstage tijdens het exporteren: animationsbilling.state is held terwijl een betaalde rig loopt, charged zodra het bestand klaar is en refunded als hij mislukt, dus een mislukte rig kost niets. billing.charge zegt hoe er betaald is: free, rerig, credits of character. Een personage vanuit een afbeelding is eerst generating (het 3D-model wordt gemaakt) voordat het wordt gerigd. Een afgeronde job, zoals afk-rig status <id> --json hem print:
{
"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"
}
}Fouten#
Requests die de API weigert, komen terug met een HTTP-status en een code; er wordt niets voor afgeschreven.
| status | code | betekenis |
|---|---|---|
| 401 | missing_api_key | Er is geen sleutel meegestuurd. Stel AFK_API_KEY in. |
| 401 | invalid_api_key | De sleutel klopt niet of is ingetrokken. Maak een nieuwe aan op je accountpagina. |
| 402 | insufficient_credits | Geen gratis rigs meer deze maand, geen tegoed van je plan meer en niet genoeg credits. Een personage heeft altijd credits nodig, gratis rigs of niet: 25¢ per personage van je credits: het 3D-model, de rig en elke animatie; je krijgt het terug als het mislukt. De CLI stopt met exitcode 3. |
| 400 | bad_type, bad_facing, unknown_animation | Een optie die de API niet kent. afk-rig types toont de types en animaties. |
| 400 | missing_image | Er werd een personage gevraagd zonder afbeelding. |
| 413 | too_large | Het bestand is groter dan 200 MB, of de mesh is te gedetailleerd om te riggen (maximaal ongeveer 5 miljoen vertices); bij een personage is de afbeelding groter dan 20 MB. |
| 415 | unsupported_format | Geen .glb, een .gltf met alles ingebed of een .fbx (bij een personage: geen PNG, JPEG of WebP). |
| 422 | unreadable_model | Het bestand kon niet als 3D-model worden gelezen. |
| 429 | rate_limited | Te veel rigs actief of dit uur gestart, te veel requests deze minuut, of één rig dit uur te vaak gedownload (het veld reason zegt welke). Wacht retry_after seconden; de CLI en de client doen dat vanzelf bij rigs en requests. |
| 409 | not_ready | Gedownload voordat de rig klaar was. Poll tot de status succeeded is. |
| 410 | expired | De 24 uur om te downloaden zijn voorbij. Rig het opnieuw (opnieuw riggen is gratis). |
Als een rig mislukt
Een job die is geaccepteerd maar niet gerigd kon worden, eindigt met status: "failed" en een van deze in error.code. Er wordt niets afgeschreven.
| unriggable | De AI kon in het model geen lichaam vinden om te riggen. |
|---|---|
| content_not_allowed | Het model kwam niet door de controle op inhoud voor volwassenen die elke rig op afk.ai ondergaat. |
| rig_failed | Er ging iets mis op onze GPU. Probeer het opnieuw. |
| no_model | Een personage: van de afbeelding kon geen 3D-model worden gemaakt. Probeer een duidelijkere afbeelding van één heel personage. |
Limieten#
| Invoer | .glb, .gltf (met de buffers en textures ingebed) of .fbx. Meshes met Draco- of meshopt-compressie worden nog niet ondersteund. |
|---|---|
| Modelgrootte | Bestanden tot 200 MB, inclusief textures, met maximaal ongeveer 5 miljoen vertices |
| Afbeeldingen | Voor personages: PNG, JPEG of WebP, tot 20 MB, één heel personage op een effen achtergrond. Personages tellen mee voor dezelfde limieten voor gelijktijdigheid en tempo als rigs. |
| Gelijktijdigheid | 2 rigs tegelijk per account; de CLI wacht op een vrije plek |
| Tempo | 100 gestarte rigs per uur |
| Verzoeken | 120 per minuut per account voor status, account en downloads |
| Zonder sleutel | 60 requests per minuut per IP-adres: lichaamstypes, en requests met een ontbrekende of verkeerde sleutel |
| Downloads | De .glb van elke rig 20 keer per uur |
| Resultaten | 24 uur te downloaden nadat de rig klaar is |
| Output | glTF-binary (.glb) met het skelet, de skin weights en de animatieclips. Textures en materialen blijven zoals ze waren. Importeert in Unity (glTFast), Unreal, Godot, Blender en three.js. |
| Gerigde invoer | Wordt opnieuw gerigd in de pose waarin het staat; het oude skelet en de oude animaties worden vervangen |
| Licentie | Je model blijft van jou. Skeletten en animaties zijn CC0, ook voor commercieel gebruik. |
Prijzen#
5¢ per rig, vast. Een rig is de hele output: skelet, skin weights en elke animatie voor het lichaamstype. Een personage vanuit een afbeelding kost 25¢. Er zijn geen kosten per animatie en er is geen abonnement.
| per rig | $0.05 van prepaid credits |
|---|---|
| gratis | 3 rigs per maand, gedeeld met afk.ai/rig |
| met Pro | $10 aan credits bijgeschreven bij elke Pro Pass ($29 voor 30 dagen) en $10 bij Lifetime ($85), allebei op afk.ai/lifetime, die van jou blijven. Leden met een eerdere Lifetime of de Lifetime uit de telefoon-app krijgen in plaats daarvan $10 aan rigs per maand (200) na de gratis rigs, vóór je credits |
| opnieuw riggen | Hetzelfde model nog eens in die maand (ander type, andere richting of een nieuwe poging): nog 3 keer, gratis |
| mislukte rigs | $0: het bedrag wordt gereserveerd als een rig start en pas afgeschreven als het bestand klaar is |
| personage vanuit een afbeelding | 25¢ per personage van je credits: het 3D-model, de rig en elke animatie; je krijgt het terug als het mislukt. Gratis rigs gelden niet voor personages |
| opwaarderen | Vanaf $5 (100 rigs) op je accountpagina; credits verlopen nooit |
Wat een maand kost
| rigs / maand | je betaalt | animaties |
|---|---|---|
| 3 | $0.00 | Allemaal, bij elke rig |
| 100 | $4.85 | Allemaal, bij elke rig |
| 1,000 | $49.85 | Allemaal, bij elke rig |
| 10,000 | $499.85 | Allemaal, bij elke rig |
Vergeleken met andere rigging-API's#
De laagste prijs bij betalen naar gebruik van alle rigging-API's die we vonden. Gepubliceerde API-prijzen, met credits omgerekend naar dollars over de reguliere abonnementen van elke aanbieder. Ludo.ai is goedkoper voor een kale rig als je een jaar vooruitbetaalt; een humanoïde met tien animaties kost hier minder dan via elke andere API die we hebben bekeken. De berekening staat in onze vergelijking van prijzen van auto-rigging-API's.
| api | per rig | animaties | lichaamstypes | betaling |
|---|---|---|---|---|
| afk.ai | 5¢ | Allemaal, inbegrepen (900+ over alle lichaamstypes) | Humanoïden, dieren, vogels, draken, dinosaurussen, spinnen, slangen, vissen en meer | Prepaid credits, geen abonnement |
| Ludo.ai | 3¢ tot 5¢ | 1.5¢ tot 2.5¢ per stuk | Elke vorm; preset-animaties zijn voor humanoïden | Pro- of Studio-abonnement ($50 per maand, of $420 of $3,600 per jaar) |
| Meshy | 6.25¢ tot 10¢ | 3.75¢ tot 6¢ per stuk (een loop- en renanimatie zitten bij de rig) | Alleen humanoïden | Betaald abonnement, vanaf $20 per maand |
| Uthana | 15¢ | Apart geprijsd | Humanoïden | Betalen naar gebruik |
| Tripo | 25¢ | 10¢ per stuk | Tweevoeters, viervoeters, wezens met zes en acht poten, vogels, slangen, zeedieren | Betalen naar gebruik, vanaf $1 |
| Anything World | Op basis van credits, zie hun prijzen | Heeft een endpoint voor riggen en animeren | Humanoïden, viervoeters, vogels, vissen en meer | Gratis maandelijkse hoeveelheid, daarna credits |
| Mixamo | Gratis, maar geen openbare API gevonden | Bibliotheek voor humanoïden | Alleen humanoïden | Gratis met een Adobe ID |
Prijzen gecontroleerd in oktober 2026 op de eigen pagina's van elke aanbieder, alleen reguliere abonnementen (aanbiedingen voor nieuwe gebruikers weggelaten): Ludo.ai, Meshy-API, Abonnementen van Meshy, Uthana, Tripo, Anything World, Mixamo-FAQ. Ze veranderen; controleer ze voordat je beslist.
Veelgestelde vragen#
Is het de goedkoopste rigging-API?
Bij betalen naar gebruik wel: 5¢ per rig is de laagste prijs die we vonden zonder abonnement (Uthana kost 15¢ en Tripo 25¢). De jaarabonnementen van Ludo.ai zijn goedkoper per kale rig, met 3¢ tot 3.5¢ als je een jaar vooruitbetaalt, maar de animaties kosten daar extra: een humanoïde met tien animaties kost daar ongeveer 18¢ of meer en hier 5¢. De volledige vergelijking, met bronnen, staat in ons artikel over de prijzen van auto-rigging-API's.
Kan ik beginnen met een afbeelding in plaats van een 3D-model?
Ja. Stuur een afbeelding van een personage en één call maakt er een getextureerd 3D-model van en rigt het met elke animatie voor zijn lichaamstype, in ongeveer 2 tot 3 minuten. Het kost 25¢ per personage van je credits: het 3D-model, de rig en elke animatie; je krijgt het terug als het mislukt. Gratis rigs gelden niet voor personages. Een duidelijke afbeelding van één heel personage op een effen achtergrond werkt het best. Meer in ons artikel over de API van afbeelding naar gerigd personage.
Wat zit er in een rig?
Alles wat je nodig hebt om het model te animeren: het skelet, de skin weights en elke animatie die we voor het lichaamstype hebben, in één GLB. Er zijn geen extra kosten per animatie. Is het eerste resultaat niet goed, dan kun je hetzelfde model nog tot 3 keer gratis opnieuw riggen.
Hoe werken de gratis rigs?
Elk account krijgt 3 gratis rigs per maand, net als op de website. Daarna gaan rigs van je prepaid credits af, voor 5¢ per stuk. Net als bij het gratis plan op de website heeft een gratis rig de gratis animaties, maar niet de gouden. Een rig die van je credits wordt betaald, heeft ze allemaal, net als elke rig van een account met een betaald afk.ai-plan. Vraag je een gouden animatie op naam, dan wordt de rig van je credits betaald en houd je je gratis rig.
Is er een abonnement?
Nee. Je waardeert credits op wanneer je ze nodig hebt, vanaf $5, en er wordt niets verlengd. Credits verlopen niet.
Zit er API-tegoed bij Pro?
Ja. Elke afk.ai Pro Pass ($29 voor 30 dagen) voegt $10 toe aan je API-credits, en Lifetime ($85) voegt $10 toe. Die werken net als credits die je koopt: ze verlopen niet en blijven staan als een Pro Pass afloopt. Leden met een eerdere Lifetime of de Lifetime uit de telefoon-app krijgen in plaats daarvan elke maand $10 aan API-tegoed: goed voor 200 rigs, dat na de gratis rigs en vóór je prepaid credits wordt gebruikt. Dat tegoed is voor rigs, niet voor personages vanuit afbeeldingen, begint op de 1e van de maand opnieuw en schuift niet door. Op je accountpagina zie je wat er nog over is.
Hoe lang duurt een rig?
Meestal ongeveer 1 tot 2 minuten op onze servers. De API is asynchroon: je uploadt het model, krijgt een id terug en controleert de status tot de gerigde GLB klaar is. De CLI wacht voor je.
Wat stuur ik, en wat krijg ik terug?
Stuur een GLB, glTF of FBX en het lichaamstype. Je krijgt een standaard glTF-binary (GLB) terug met het skelet, de skin weights en de animaties, die importeert in Unity (met glTFast), Unreal, Godot, Blender en three.js.
Kan mijn AI-agent het gebruiken?
Ja. Het pakket afk-rig is ook een MCP-server, dus Claude Code, Cursor, Windsurf, Claude Desktop en andere MCP-clients krijgen riggen als tool. Agents die alleen een shell hebben, kunnen de CLI uitvoeren.
Mag ik de gerigde modellen commercieel gebruiken?
Ja. Je model blijft van jou, en de animaties zijn CC0 (publiek domein), dus je mag ze uitbrengen in commerciële games en apps.
Waar krijg ik een API-sleutel?
Log in op afk.ai en maak er een aan op je accountpagina, onder API keys. De sleutel wordt één keer getoond, dus bewaar hem op een veilige plek; je kunt hem altijd intrekken en een nieuwe maken.