Codels
Agents IA et développeurs

Laissez votre agent choisir les modèles.

Chaque modèle de Codels a un jumeau lisible par machine. Pas besoin de clé API, CORS activé, URL stables. Cliquez sur Copier pour l’agent IA sur une page de modèle, ou indiquez https://codels.download/llms.txt à votre agent et laissez-le chercher seul.

Ce que « Copier pour l’agent IA » place dans votre presse-papiers

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).

Les modèles flottants (objets à ramasser, planètes) sont centrés sur l’origine et les objets muraux ont leur face arrière sur le plan z = 0 — chaque page agent indique l’origine exacte.

Serveur MCP

Connectez Codels à Claude Code, Cursor, Windsurf ou tout autre client MCP. Votre agent dispose de six outils : search_models, get_model (renvoie une image d’aperçu sous 4 vues que l’agent peut réellement voir), get_model_code, list_packs, get_pack et list_categories.

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

Autres clients (p. ex. mcp.json de Cursor) :

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

Endpoints

/m/<slug>.md

Page agent : description, image d’aperçu, dimensions, tableau des pièces, paramètres et code three.js complet — une seule requête suffit.

/m/<slug>.js

Module ES exportant create<Name>(): THREE.Group. Aucune dépendance hormis three.

/m/<slug>.jsx

Composant React Three Fiber.

/m/<slug>.instanced.js

Module d’instanciation : bake<Name>() (une géométrie par matériau) + create<Name>Instances(count, place) — des centaines de copies en quelques draw calls.

/m/<slug>.html

Page de démo autonome exécutable (three.js depuis un CDN).

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

Rendu d’aperçu / planche 4 vues (3/4, face, côté, dessus) pour que les agents puissent « voir » le modèle.

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

glTF binaire/JSON, OBJ avec couleurs de sommets, STL, CodelSpec brut.

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

Recherche à facettes. Renvoie les URL de chaque résultat.

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

Métadonnées, recherche d’étiquettes avec compteurs, arborescence des catégories.

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

Packs et collections publiques : synthèse pour agents, un module ES avec tous les modèles, ou un ZIP de GLB + modules.

/llms.txt

Guide du site lisible par machine.

/mcp

Endpoint Model Context Protocol (Streamable HTTP) avec des outils de recherche, d’aperçu et de code.

Variantes paramétriques

Les modèles paramétriques acceptent leurs paramètres en query string sur chaque URL. La page .md liste chaque paramètre avec sa plage de valeurs.

// 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());

Utiliser le code

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);

Rechercher depuis le code

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

Limites de débit et clés API

Tout fonctionne sans clé (120 requêtes API par minute et par IP). Pour un usage plus intensif, créez une clé API gratuite : 1 200 requêtes par minute et des statistiques d’utilisation. Envoyez-la sous la forme Authorization: Bearer cdl_… — les réponses contiennent X-RateLimit-Remaining, et une réponse 429 vous indique quand réessayer.

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"