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/mcpAutres clients (p. ex. mcp.json de Cursor) :
{
"mcpServers": {
"codels": {
"url": "https://codels.download/mcp"
}
}
}Endpoints
/m/<slug>.mdPage 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>.jsModule ES exportant create<Name>(): THREE.Group. Aucune dépendance hormis three.
/m/<slug>.jsxComposant React Three Fiber.
/m/<slug>.instanced.jsModule 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>.htmlPage de démo autonome exécutable (three.js depuis un CDN).
/m/<slug>.png · .sheet.pngRendu 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 · .jsonglTF 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/categoriesMétadonnées, recherche d’étiquettes avec compteurs, arborescence des catégories.
/c/<pack>.md · .js · .zip · .jsonPacks et collections publiques : synthèse pour agents, un module ES avec tous les modèles, ou un ZIP de GLB + modules.
/llms.txtGuide du site lisible par machine.
/mcpEndpoint 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>.jsLimites 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"