Inicio rápido

Tres pasos de la clave al tráfico enrutado.

1 · Obtén una clave

Consigue una clave Starter o solicita un plan de pago.

Clave por 1 $

2 · Haz una llamada de enrutamiento

Envía un prompt; recibe el tipo de tarea y el nivel de complejidad.

curl https://138.226.222.209/v1/route \
  -H 'Authorization: Bearer cortiq_your_key' \
  -H 'content-type: application/json' \
  -d '{
    "input": { "text": "Write a Python function to reverse a list" },
    "taxonomy_id": "data-assistant"
  }'

Respuesta de ejemplo

{
  "schema_version": "1.1",
  "request_id": "req_18c98f1adb897a78001871",
  "decision": {
    "task_label": "code",
    "confidence": 0.997,
    "complexity": { "tier": "low", "score": 0.27, … },
    "source": "router", …
  },
  "scores": [ { "task_label": "code", "probability": 0.997, … }, … ],
  "usage": { "billable_decisions": 1, "oracle_calls": 0 },
  "meta": { "model_version": "data-assistant@2026.08.02", "latency_ms": 0.03, … }
}

3 · Nivel → tu modelo

Prompts fáciles a un modelo barato/local, difíciles a tu estrella.

# your side — map the router's answer to your models
tier == "low"     → cheap / local  (llama.cpp, Ollama, gpt-4o-mini)
tier == "medium"  → mid
tier == "high"    → flagship       (Claude, GPT-4o, …)

¿No quieres escribir este mapeo tú mismo? Abajo hay una pasarela open source lista que lo hace por ti.

⚡ cortiq-gateway — la pasarela open source lista para usar

Un endpoint compatible con OpenAI sobre este router: enrutado por complejidad de serie, consola web en /admin (7 idiomas), modelos .cmf locales más proveedores en la nube, y un asistente de primer arranque. El comando sin opciones crea su configuración y abre el navegador solo.

# crates.io
cargo install cortiq-gateway
cortiq-gateway

# Docker
docker run -p 9000:9000 -v cortiq-data:/app/data ghcr.io/infosave2007/cortiq-gateway:latest

Después apunta cualquier cliente OpenAI a base_url http://localhost:9000/v1 con model "cortiq-auto"; pega tu clave del router en los Ajustes de la consola. Hay binarios precompilados para Linux, Windows y macOS en Releases de GitHub.

GitHub → infosave2007/cortiq-gateway

4 · Listar tareas de la taxonomía — GET /v1/taxonomies

El conjunto completo de etiquetas de tu cuenta en una llamada — construye la configuración de enrutado desde la lista en vivo, no desde constantes en el código.

curl https://138.226.222.209/v1/taxonomies \
  -H 'Authorization: Bearer cortiq_your_key'

Respuesta de ejemplo

{
  "schema_version": "1.1",
  "taxonomies": [
    {
      "taxonomy_id": "data-assistant",
      "taxonomy_version": "data-assistant@1",
      "model_version": "data-assistant@2026.08.02",
      "labels": [
        "chitchat", "code", "creative-writing",
        "extraction", "math", "qa",
        "summarization", "translation"
      ]
    }
  ]
}

El conjunto completo nunca aparece en una respuesta de /v1/route (scores solo lleva el top-3) — este endpoint es su única fuente. Una etiqueta recién añadida aparece aquí automáticamente.

Referencia de la API

El resto de endpoints — la misma clave Bearer, la misma URL base.

POST /v1/route:batch

Clasificación por lotes: muchos prompts por llamada; los resultados vuelven en el mismo orden que inputs.

curl https://138.226.222.209/v1/route:batch \
  -H 'Authorization: Bearer cortiq_your_key' \
  -H 'content-type: application/json' \
  -d '{
    "taxonomy_id": "data-assistant",
    "inputs": [ { "text": "Fix this bug" }, { "text": "Переведи: добрый вечер" } ]
  }'
# → { "results": [ { "request_id": …, "decision": { "task_label": "code", … } }, … ] }

POST /v1/feedback

Corrige una clasificación errónea — pasa el request_id de una respuesta de /v1/route y la etiqueta correcta. El router aprende de tus correcciones.

curl https://138.226.222.209/v1/feedback \
  -H 'Authorization: Bearer cortiq_your_key' \
  -H 'content-type: application/json' \
  -d '{ "request_id": "req_…", "correct_task_label": "math" }'
# → { "accepted": true, "message": "…" }

GET /v1/usage

Uso y límites de la cuenta: decisiones facturadas, llamadas al oráculo, cuota y rate limit.

{
  "account": { "id": "acct_…", "billable_decisions": 98, "decision_quota": 0, "rate_per_min": 60 },
  "usage": { "cache_hits": 85, "oracle_calls": 58, "escalation_rate": 0.64, … }
}

GET /v1/taxonomies/{id}

Una taxonomía por id: versión, versión del modelo y lista completa de etiquetas.

GET /v1/healthz · GET /v1/readyz

Comprobaciones de vida y disponibilidad — para monitorización, sin autenticación.