Codels
Agentes de IA e desenvolvedores

Deixe seu agente escolher os modelos.

Todo modelo no Codels tem um gêmeo legível por máquina. Sem necessidade de chave de API, CORS habilitado, URLs estáveis. Clique em Copiar para agente de IA na página de um modelo ou aponte seu agente para https://codels.download/llms.txt e deixe que ele busque sozinho.

O que “Copiar para agente de IA” coloca na sua área de transferência

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

Modelos flutuantes (pickups, planetas) ficam centralizados na origem, e props de parede têm a parte de trás no plano z = 0 — toda página para agentes informa a origem exata.

Servidor MCP

Conecte o Codels ao Claude Code, Cursor, Windsurf ou qualquer cliente MCP. Seu agente ganha seis ferramentas: search_models, get_model (retorna uma imagem de prévia com 4 vistas que o agente realmente consegue ver), get_model_code, list_packs, get_pack e list_categories.

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

Outros clientes (ex.: mcp.json do Cursor):

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

Endpoints

/m/<slug>.md

Página para agentes: descrição, imagem de prévia, tamanho, tabela de partes, parâmetros e o código three.js completo — uma única requisição traz tudo.

/m/<slug>.js

Módulo ES que exporta create<Name>(): THREE.Group. Nenhuma dependência além do three.

/m/<slug>.jsx

Componente React Three Fiber.

/m/<slug>.instanced.js

Módulo de instancing: bake<Name>() (uma geometria por material) + create<Name>Instances(count, place): centenas de cópias em poucas draw calls.

/m/<slug>.html

Página de demo executável independente (three.js via CDN).

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

Render de prévia / folha com 4 vistas (3/4, frente, lateral, topo) para que os agentes possam “ver” o modelo.

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

glTF binário/JSON, OBJ com cores de vértice, STL, CodelSpec bruto.

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

Busca com facetas. Retorna URLs para cada resultado.

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

Metadados, consulta de tags com contagens, árvore de categorias.

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

Pacotes e coleções públicas: visão geral para agentes, um módulo ES com todos os modelos ou um ZIP de GLBs + módulos.

/llms.txt

Guia legível por máquina deste site.

/mcp

Endpoint do Model Context Protocol (Streamable HTTP) com ferramentas de busca, prévia e código.

Variantes paramétricas

Modelos paramétricos aceitam seus parâmetros como query strings em todas as URLs. A página .md lista cada parâmetro com seu intervalo.

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

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

Busque pelo 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

Limites de uso e chaves de API

Tudo funciona sem chave (120 requisições à API por minuto por IP). Para uso mais intenso, crie uma chave de API gratuita: 1.200 requisições por minuto e estatísticas de uso. Envie-a como Authorization: Bearer cdl_… — as respostas trazem X-RateLimit-Remaining, e um 429 informa quando tentar de novo.

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"