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/mcpOutros clientes (ex.: mcp.json do Cursor):
{
"mcpServers": {
"codels": {
"url": "https://codels.download/mcp"
}
}
}Endpoints
/m/<slug>.mdPá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>.jsMódulo ES que exporta create<Name>(): THREE.Group. Nenhuma dependência além do three.
/m/<slug>.jsxComponente React Three Fiber.
/m/<slug>.instanced.jsMódulo de instancing: bake<Name>() (uma geometria por material) + create<Name>Instances(count, place): centenas de cópias em poucas draw calls.
/m/<slug>.htmlPágina de demo executável independente (three.js via CDN).
/m/<slug>.png · .sheet.pngRender 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 · .jsonglTF 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/categoriesMetadados, consulta de tags com contagens, árvore de categorias.
/c/<pack>.md · .js · .zip · .jsonPacotes 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.txtGuia legível por máquina deste site.
/mcpEndpoint 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>.jsLimites 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"