For developers & AI
Use the models in your games, apps and AI tools.
Every one of the 6,781 models has a direct .glb URL — no sign-up, no API key — and can be loaded from any website. AI assistants and agents can read the whole catalog from one file instead of opening thousands of pages.
Catalog files
The whole library in a few files
- /llms.txt19 KB
Start here: what's on the site, licenses, how to load the files and an index of every collection.
- /llms-full.txt1004 KB
Every model in one Markdown file: name, page, .glb path, triangles, size and license notes.
- /catalog.json1.9 MB
The same data as JSON for scripts: models, collections, licenses and animation clips.
- /llms/car-kit.md90 files
One collection per file with absolute URLs — every one is linked from /llms.txt.
Every page on the site, for crawlers.
The .glb files, thumbnails and these catalog files can be fetched from any origin (CORS), so a web game can load models straight from models.codelove.in. Files are glTF 2.0 binary with EXT_meshopt_compression and EXT_texture_webp.
AI assistants
Ask ChatGPT, Claude or Gemini to build with them
Paste this into any assistant that can open web pages — or into a coding agent like Claude Code or Cursor. It reads /llms.txt, picks models and writes the loading code with real URLs.
Make a small three.js game in a single HTML file. Use free 3D models from models.codelove.in: read https://models.codelove.in/llms.txt to pick models and get their .glb URLs, then load them with GLTFLoader and MeshoptDecoder.
three.js
Load a model
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
import { MeshoptDecoder } from "three/addons/libs/meshopt_decoder.module.js";
const loader = new GLTFLoader().setMeshoptDecoder(MeshoptDecoder);
const gltf = await loader.loadAsync("https://models.codelove.in/library/car-kit/police.glb"); // Police
scene.add(gltf.scene);Rigged characters play the shared animation clips: load a character and a clip from its set (female or male), then play the clip with THREE.AnimationMixer — the bone names match. See Animations.
Scripts
Search the catalog in code
const catalog = await fetch("https://models.codelove.in/catalog.json").then((r) => r.json());
// Low-poly trees, smallest first
const trees = catalog.models.filter((m) => m.category === "Trees").sort((a, b) => a.triangles - b.triangles);
const url = new URL(trees[0].glb, catalog.url).href; // absolute .glb URLLicensing
Free to use, even commercially
Most models are CC0 or public domain — no credit needed. The rigged characters and animation clips are MIT: keep the license file with them. A few hairstyles are CC BY or CC BY-ND: credit the author. Each model's license is in catalog.json, on its page and inside the .glb file. Full licensing.