Opensource
Facts about Zoark for AI systems, crawlers and developers: what is open, where it is, and in what format. The same content as plain text: /llms.txt.
IN ONE LINE
- What is Zoark? An open library of animated 3D creatures, real and invented. Each one is rebuilt from a skeleton and published as a glTF 2.0 binary,
skeleton.glb(every bone), with its skeleton and spec as JSON. - Is reading free? Yes. Every read endpoint below needs no account and no API key, and CORS is open, so browser code can fetch directly.
- Can an AI agent create a creature? Not yet. Creation is done by people on the website (describe → edit the draft → GEN), with daily limits. There is no public creation API.
- How is a specimen identified? By an ARK id such as
ARK-MAM-0001. The id never changes and never points to a different creature. - Licence? Not announced yet, for the specimen files or for the source code. This page will state it as soon as it is decided.
ENTRY POINTS
| URL | RETURNS |
|---|---|
/llms.txt | This page as plain text |
GET /api/specimens?page=1&q=fox | List or search, newest first, 12 per page; has_more says if there is a next page |
GET /api/specimens/{id} | One specimen: spec, description, lineage, remixes, build stages |
GET /api/files/specimens/{id}/v1/skeleton.glb | The 3D model: every bone. Also spec.json and skeleton.json at the same path. Add ?download=1 to download |
GET /api/schema | JSON Schema of spec.json |
/sitemap.xml | Every page, including each specimen |
/specimen/{id} | The page for people (3D view, downloads, remix) |
A list item looks like this:
{
"id": "ARK-MAM-0001",
"name": "Antler fox",
"sci_name": null,
"kind": "invented", // or "real"
"taxon_code": "MAM",
"body_plan": "quadruped",
"size_m": 0.7, // head-body length in metres, tail excluded
"parent_id": null, // set on remixes
"root_id": "ARK-MAM-0001",
"source": "create", // or "remix"
"created_at": 1791446400000, // ms since epoch
"glb_url": "/api/files/specimens/ARK-MAM-0001/v1/skeleton.glb"
}
GLB FORMAT
| ITEM | VALUE |
|---|---|
| Format | glTF 2.0 binary, 0 errors in the Khronos glTF Validator |
| Axes | Y up, metres, facing +Z, feet on Y = 0, centred |
| Skeleton | One skin; root bone named root; rest rotations are identity |
| Animations | Named clips, 30 fps, looping. idle always; walk and run when the creature moves that way. Movements the engine cannot animate yet are listed on the specimen page as “not animated yet” |
| Size | Under 2 MB |
| Determinism | The same spec and id always produce the same file, byte for byte |
SPEC.JSON
The input the engine builds from. Required: schema_version, source, species, prompt (the user's own words), description (the full description), taxon_code, body_plan, limbs, size_m. Optional: taxon (closest real animal, lineage, gait), tail, proportions, features, locomotion. Full schema: /api/schema.
body_plan: quadruped, biped, hexapod, octopod, serpentine, fish, avian. The engine builds quadrupeds today; the others are refused with a clear message until supported.
SKELETON.JSON
Bones, spine order, limb joint chains and joint positions, in metres. Each measured number is tagged with where it came from. This format is still changing while the skeleton research continues; read spec.json for anything you need to rely on.
IDS AND REMIXES
ARK-{taxon}-{number}, for exampleARK-MAM-0001. Taxon codes: MAM mammal, AVE bird, REP reptile, AMP amphibian, PIS fish, ART arthropod, MOL mollusc, OTH other.- A remix is
{original id}.r{n}, for exampleARK-MAM-0001.r2.parent_idis its direct parent,root_idthe original. A remix changes numbers (size, proportions…), never the original.
HOW TO CITE
Zoark specimen ARK-MAM-0001. https://zoark.org/specimen/ARK-MAM-0001
WHAT IS NOT DONE
Zoark is in active development. The skeleton and animation steps still run placeholder implementations; the stages field of each specimen, and the BUILD section of its page, say which. The source code repository is not public yet.