Quickstart

TEEra es una API compatible con OpenAI que te permite usar modelos LLM open source en enclaves seguros (TEE). Tus prompts y respuestas nunca se almacenan en texto plano.

Conecta en 30 segundos

Usa tu API key con Roo Code, Cline, OpenCode o cualquier cliente OpenAI Compatible. Solo necesitas la Base URL, tu API Key y el Model ID.

📋 Configuración rápida

Base URL https://teera.io/v1
Auth Bearer tu-api-key
Endpoint /chat/completions
Modelo default zai-org/GLM-5.1-TEE

Autenticación

Todas las requests deben incluir tu API key en el header Authorization como Bearer token.

Header
Authorization: Bearer tu-api-key

🔑 Obtén tu API Key

Regístrate en teera.io/register y encuentra tu API key en el dashboard. Cada usuario tiene una clave única en formato hex.

Modelos disponibles

Modelos open source ejecutados en Trusted Execution Environments. Tus prompts permanecen cifrados en hardware dedicado. Usa auto para que TEEra seleccione el modelo más rápido disponible.

Modelo Model ID Velocidad Input $/M Output $/M
Auto TEE auto
DeepSeek V3 TEE deepseek-ai/DeepSeek-V3-0324-TEE Media $0.25 $1.00
DeepSeek V3.2 TEE deepseek-ai/DeepSeek-V3.2-TEE Media $0.28 $0.42
DeepSeek R1 TEE deepseek-ai/DeepSeek-R1-0528-TEE Lenta $0.45 $2.15
Kimi K2.5 TEE moonshotai/Kimi-K2.5-TEE Lenta $0.45 $2.20
Qwen3 Coder TEE Qwen/Qwen3-Coder-Next-TEE Media $0.12 $0.75
Qwen3 32B TEE Qwen/Qwen3-32B-TEE Rápida $0.08 $0.24
GPT-OSS 120B TEE openai/gpt-oss-120b-TEE Media $0.05 $0.45
GLM 4.7 TEE zai-org/GLM-4.7-TEE Media $0.39 $1.75
GLM 5 TEE zai-org/GLM-5-TEE Rápida $0.95 $3.15
GLM 5.1 TEE zai-org/GLM-5.1-TEE Rápida $0.95 $3.15
Qwen3.5 397B TEE Qwen/Qwen3.5-397B-A17B-TEE Media $0.30 $1.50
Hermes 4 405B TEE NousResearch/Hermes-4-405B-FP8-TEE Lenta $0.50 $2.00

Listar modelos vía API

Obtén la lista actualizada de modelos disponibles:

GET /v1/models
curl https://teera.io/v1/models \ -H "Authorization: Bearer tu-api-key"

Endpoint principal

POST /v1/chat/completions

Compatible con el formato de OpenAI. Envía mensajes en formato messages y recibe la respuesta del modelo. Soporta streaming con "stream": true.

✅ Compatible con OpenAI SDK

Si ya usas el SDK de OpenAI, solo cambia la base_url y la api_key. Todo lo demás funciona igual.

Roo Code

Roo Code es una extensión de VS Code que te permite programar con IA directamente en tu editor. Sigue estos pasos para conectarlo con TEEra.

1

Instala VS Code

Descarga Visual Studio Code si aún no lo tienes.

2

Instala la extensión Roo Code

Busca "Roo Code" en el marketplace de extensiones de VS Code e instálala.

3

Selecciona OpenAI Compatible

Abre Roo Code, haz clic en el ícono de configuración y selecciona "OpenAI Compatible" como proveedor.

4

Configura los campos

Copia los siguientes valores en la configuración de Roo Code:

Base URL https://teera.io/v1
API Key tu-api-key
Model deepseek-ai/DeepSeek-V3.2-TEE

Configuración alternativa (settings.json)

También puedes configurar Roo Code directamente en tu settings.json:

settings.json
{ "roo-code.apiProvider": "openai-compatible", "roo-code.openAiCompatibleBaseUrl": "https://teera.io/v1", "roo-code.openAiCompatibleApiKey": "tu-api-key", "roo-code.openAiCompatibleModelId": "deepseek-ai/DeepSeek-V3.2-TEE" }

Cline

Cline es otra extensión popular de VS Code para programar con IA. La configuración con TEEra es igual de simple.

1

Instala VS Code

Descarga Visual Studio Code si aún no lo tienes.

2

Instala la extensión Cline

Busca "Cline" en el marketplace de extensiones de VS Code e instálala.

3

Selecciona OpenAI Compatible

Abre Cline, haz clic en el ícono de configuración y selecciona "OpenAI Compatible" como proveedor.

4

Configura los campos

Copia los siguientes valores en la configuración de Cline:

Base URL https://teera.io/v1
API Key tu-api-key
Model deepseek-ai/DeepSeek-V3.2-TEE

Configuración alternativa (settings.json)

También puedes configurar Cline directamente en tu settings.json:

settings.json
{ "cline.apiProvider": "openai-compatible", "cline.openAiCompatibleBaseUrl": "https://teera.io/v1", "cline.openAiCompatibleApiKey": "tu-api-key", "cline.openAiCompatibleModelId": "deepseek-ai/DeepSeek-V3.2-TEE" }

OpenCode

OpenCode es un agente de coding en terminal. Ligero, rápido, y funciona directo desde la línea de comandos.

1

Instala OpenCode

Sigue las instrucciones en github.com/opencode-ai/opencode.

2

Configura el proveedor

Edita tu archivo de configuración opencode.json o usa variables de entorno:

Base URL https://teera.io/v1
API Key tu-api-key
Model deepseek-ai/DeepSeek-V3.2-TEE

Variables de entorno

Terminal
export OPENAI_API_KEY="tu-api-key" export OPENAI_BASE_URL="https://teera.io/v1" export OPENAI_MODEL="deepseek-ai/DeepSeek-V3.2-TEE"

cURL

Usa cURL para probar la API directamente desde tu terminal. Ejemplo completo con streaming y sin streaming:

Terminal
curl -X POST https://teera.io/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer tu-api-key" \ -d '{ "model": "deepseek-ai/DeepSeek-V3.2-TEE", "messages": [ {"role": "system", "content": "Eres un asistente útil."}, {"role": "user", "content": "Hola, ¿cómo estás?"} ], "temperature": 0.7, "max_tokens": 1024 }'
curl -X POST https://teera.io/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer tu-api-key" \ -d '{ "model": "deepseek-ai/DeepSeek-V3.2-TEE", "messages": [ {"role": "system", "content": "Eres un asistente útil."}, {"role": "user", "content": "Hola, ¿cómo estás?"} ], "temperature": 0.7, "max_tokens": 1024, "stream": true }'

Ejemplo con Python (OpenAI SDK)

python
from openai import OpenAI client = OpenAI( base_url="https://teera.io/v1", api_key="tu-api-key" ) response = client.chat.completions.create( model="deepseek-ai/DeepSeek-V3.2-TEE", messages=[ {"role": "system", "content": "Eres un asistente útil."}, {"role": "user", "content": "Hola, ¿cómo estás?"} ], temperature=0.7, max_tokens=1024 ) print(response.choices[0].message.content)

Ejemplo con Node.js (OpenAI SDK)

javascript
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://teera.io/v1", apiKey: "tu-api-key" }); const response = await client.chat.completions.create({ model: "deepseek-ai/DeepSeek-V3.2-TEE", messages: [ { role: "system", content: "Eres un asistente útil." }, { role: "user", content: "Hola, ¿cómo estás?" } ], temperature: 0.7, max_tokens: 1024 }); console.log(response.choices[0].message.content);

Request Body

El endpoint POST /v1/chat/completions acepta los siguientes parámetros en formato JSON:

Parámetro Tipo Requerido Descripción
model string ID del modelo. Ver lista de modelos.
messages array Array de mensajes con role y content.
temperature number No 0–2. Controla aleatoriedad. Default: 1.
max_tokens integer No Máximo de tokens en la respuesta.
stream boolean No Activar streaming SSE. Default: false.
top_p number No Nucleus sampling. Default: 1.
stop string/array No Secuencias de parada.

Formato de messages

messages
"messages": [ {"role": "system", "content": "Instrucciones del sistema"}, {"role": "user", "content": "Mensaje del usuario"}, {"role": "assistant", "content": "Respuesta previa"}, {"role": "user", "content": "Siguiente mensaje"} ]

Response

La respuesta sigue el formato estándar de OpenAI:

Response JSON
{ "id": "chatcmpl-abc123", "object": "chat.completion", "created": 1710000000, "model": "deepseek-ai/DeepSeek-V3.2-TEE", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "¡Hola! Estoy bien, ¿en qué puedo ayudarte?" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 24, "completion_tokens": 12, "total_tokens": 36 } }

Streaming (SSE)

Con "stream": true, la respuesta llega como eventos SSE:

SSE chunks
data: {"id":"chatcmpl-abc","choices":[{"delta":{"content":"¡"},"index":0}]} data: {"id":"chatcmpl-abc","choices":[{"delta":{"content":"Hola"},"index":0}]} data: {"id":"chatcmpl-abc","choices":[{"delta":{"content":"!"},"index":0}]} data: [DONE]

Códigos de error

La API retorna errores estándar HTTP:

Código Significado Solución
401 API key inválida o faltante Verifica tu API key en el dashboard
402 Créditos insuficientes Recarga créditos desde tu cuenta
429 Rate limit excedido Espera unos segundos y reintenta
500 Error interno del servidor Reintenta en unos momentos
503 Modelo no disponible Intenta con otro modelo o usa auto
Error response
{ "error": "Invalid API key" }