Codels
KI-Agenten & Entwickler

Lass deinen Agenten die Modelle wählen.

Jedes Modell auf Codels hat einen maschinenlesbaren Zwilling. Kein API-Key nötig, CORS aktiviert, stabile URLs. Klicke auf einer Modellseite auf Für KI-Agenten kopieren oder verweise deinen Agenten auf https://codels.download/llms.txt und lass ihn selbst suchen.

Was „Für KI-Agenten kopieren“ in deine Zwischenablage legt

Add the 3D model "Pine Tree" from the Codels library to this three.js project.

1. First read the agent page (preview image, size, parts and ready-to-use code):
   https://codels.download/m/pine-tree.md?snow=true
2. Then integrate it:
   - Preferred: ES module https://codels.download/m/pine-tree.js?snow=true — exports createPineTree(): THREE.Group …
   - Or the binary glTF: https://codels.download/m/pine-tree.glb?snow=true
   - React Three Fiber component: https://codels.download/m/pine-tree.jsx?snow=true

Conventions: meters, +Y up, front faces +Z, origin at the center of the base (y = 0).

Schwebende Modelle (Pickups, Planeten) sind um den Ursprung zentriert, und Wandobjekte liegen mit der Rückseite auf der Ebene z = 0 — jede Agent-Seite nennt den exakten Ursprung.

MCP-Server

Verbinde Codels mit Claude Code, Cursor, Windsurf oder einem anderen MCP-Client. Dein Agent erhält sechs Tools: search_models, get_model (liefert ein Vorschaubild mit 4 Ansichten, das der Agent wirklich sehen kann), get_model_code, list_packs, get_pack und list_categories.

claude mcp add --transport http codels https://codels.download/mcp

Andere Clients (z. B. Cursor mcp.json):

{
  "mcpServers": {
    "codels": {
      "url": "https://codels.download/mcp"
    }
  }
}

Endpunkte

/m/<slug>.md

Agent-Seite: Beschreibung, Vorschaubild, Größe, Teiletabelle, Parameter und der vollständige three.js-Code — ein Abruf liefert alles.

/m/<slug>.js

ES-Modul, das create<Name>(): THREE.Group exportiert. Keine Abhängigkeiten außer three.

/m/<slug>.jsx

React-Three-Fiber-Komponente.

/m/<slug>.instanced.js

Instancing-Modul: bake<Name>() (eine Geometrie pro Material) + create<Name>Instances(count, place) – Hunderte Kopien mit wenigen Draw Calls.

/m/<slug>.html

Eigenständige, lauffähige Demoseite (three.js vom CDN).

/m/<slug>.png · .sheet.png

Vorschau-Render / 4-Ansichten-Blatt (3/4, vorne, seitlich, oben), damit Agenten das Modell „sehen“ können.

/m/<slug>.glb · .gltf · .obj · .stl · .json

Binäres/JSON-glTF, OBJ mit Vertex-Farben, STL, rohes CodelSpec.

/api/v1/models?q=&category=&tags=&sort=

Suche mit Facetten. Liefert URLs für jedes Ergebnis.

/api/v1/models/<slug> · /api/v1/tags · /api/v1/categories

Metadaten, Tag-Suche mit Anzahl, Kategorienbaum.

/c/<pack>.md · .js · .zip · .json

Packs & öffentliche Sammlungen: Agent-Übersicht, ein ES-Modul mit allen Modellen oder ein ZIP mit GLBs + Modulen.

/llms.txt

Maschinenlesbarer Leitfaden zu dieser Website.

/mcp

Model-Context-Protocol-Endpunkt (Streamable HTTP) mit Such-, Vorschau- und Code-Tools.

Parametrische Varianten

Parametrische Modelle akzeptieren ihre Parameter als Query-Strings in jeder URL. Die .md-Seite listet jeden Parameter mit seinem Wertebereich auf.

// fetch a taller pine with snow caps as a ready ES module
const src = await fetch('https://codels.download/m/pine-tree.js?height=5.5&snow=true').then((r) => r.text());

Code verwenden

import * as THREE from 'three';
import { createPineTree } from './pine-tree.js';

const forest = new THREE.Group();
for (let i = 0; i < 40; i++) {
  const tree = createPineTree();
  tree.position.set((Math.random() - 0.5) * 60, 0, (Math.random() - 0.5) * 60);
  tree.rotation.y = Math.random() * Math.PI * 2;
  tree.scale.setScalar(0.8 + Math.random() * 0.5);
  forest.add(tree);
}
scene.add(forest);

Aus dem Code suchen

const res = await fetch('https://codels.download/api/v1/models?q=medieval+barrel&sort=relevance');
const { items } = await res.json();
console.log(items[0].urls.code); // → https://codels.download/m/<slug>.js

Rate-Limits & API-Keys

Alles funktioniert ohne Key (120 API-Anfragen pro Minute und IP). Für intensivere Nutzung erstellst du einen kostenlosen API-Key: 1.200 Anfragen pro Minute und Nutzungsstatistiken. Sende ihn als Authorization: Bearer cdl_… — Antworten enthalten X-RateLimit-Remaining, und ein 429 sagt dir, wann du es erneut versuchen kannst.

curl -H "Authorization: Bearer cdl_your_key" "https://codels.download/api/v1/models?q=barrel"
claude mcp add --transport http codels https://codels.download/mcp --header "Authorization: Bearer cdl_your_key"