Codels
Agentes de IA y desarrolladores

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/mcp

Otros clientes (p. ej., mcp.json de Cursor):

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

Endpoints

/m/<slug>.md

Pá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>.js

Módulo ES que exporta create<Name>(): THREE.Group. Sin dependencias aparte de three.

/m/<slug>.jsx

Componente de React Three Fiber.

/m/<slug>.instanced.js

Módulo de instancing: bake<Name>() (una geometría por material) + create<Name>Instances(count, place): cientos de copias en pocas draw calls.

/m/<slug>.html

Página de demo ejecutable e independiente (three.js desde un CDN).

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

Render 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 · .json

glTF 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/categories

Metadatos, búsqueda de etiquetas con recuentos, árbol de categorías.

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

Packs y colecciones públicas: resumen para agentes, un módulo ES con todos los modelos o un ZIP de GLBs + módulos.

/llms.txt

Guía de este sitio legible por máquinas.

/mcp

Endpoint 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>.js

Lí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"