Deja que tu agente elija los modelos.
Cada modelo de Codels tiene un gemelo legible por máquinas. Sin necesidad de clave de API, con CORS habilitado y URLs estables. Haz clic en Copiar para agente de IA en la página de un modelo, o indica a tu agente https://codels.download/llms.txt y deja que busque por su cuenta.
Lo que “Copiar para agente de IA” pone en tu portapapeles
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).Los modelos flotantes (pickups, planetas) están centrados en el origen y los objetos de pared tienen la parte trasera en el plano z = 0 — cada página para agentes indica el origen exacto.
Servidor MCP
Conecta Codels a Claude Code, Cursor, Windsurf o cualquier cliente MCP. Tu agente obtiene seis herramientas: search_models, get_model (devuelve una imagen de vista previa con 4 vistas que el agente realmente puede ver), get_model_code, list_packs, get_pack y list_categories.
claude mcp add --transport http codels https://codels.download/mcpOtros clientes (p. ej., mcp.json de Cursor):
{
"mcpServers": {
"codels": {
"url": "https://codels.download/mcp"
}
}
}Endpoints
/m/<slug>.mdPágina para agentes: descripción, imagen de vista previa, tamaño, tabla de piezas, parámetros y el código three.js completo — una sola petición lo trae todo.
/m/<slug>.jsMódulo ES que exporta create<Name>(): THREE.Group. Sin dependencias aparte de three.
/m/<slug>.jsxComponente de React Three Fiber.
/m/<slug>.instanced.jsMódulo de instancing: bake<Name>() (una geometría por material) + create<Name>Instances(count, place): cientos de copias en pocas draw calls.
/m/<slug>.htmlPágina de demo ejecutable e independiente (three.js desde un CDN).
/m/<slug>.png · .sheet.pngRender de vista previa / hoja de 4 vistas (3/4, frontal, lateral, superior) para que los agentes puedan “ver” el modelo.
/m/<slug>.glb · .gltf · .obj · .stl · .jsonglTF binario/JSON, OBJ con colores de vértice, STL, CodelSpec en bruto.
/api/v1/models?q=&category=&tags=&sort=Búsqueda con facetas. Devuelve URLs para cada resultado.
/api/v1/models/<slug> · /api/v1/tags · /api/v1/categoriesMetadatos, búsqueda de etiquetas con recuentos, árbol de categorías.
/c/<pack>.md · .js · .zip · .jsonPacks y colecciones públicas: resumen para agentes, un módulo ES con todos los modelos o un ZIP de GLBs + módulos.
/llms.txtGuía de este sitio legible por máquinas.
/mcpEndpoint de Model Context Protocol (Streamable HTTP) con herramientas de búsqueda, vista previa y código.
Variantes paramétricas
Los modelos paramétricos aceptan sus parámetros en el query string de cualquier URL. La página .md enumera cada parámetro con su rango.
// 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());Usar el código
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);Buscar desde código
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>.jsLímites de uso y claves de API
Todo funciona sin clave (120 peticiones a la API por minuto y por IP). Para un uso más intensivo, crea una clave de API gratuita: 1200 peticiones por minuto y estadísticas de uso. Envíala como Authorization: Bearer cdl_… — las respuestas incluyen X-RateLimit-Remaining y un 429 te indica cuándo volver a intentarlo.
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"