Conecta tus clientes a Quanta
La API se aloja en su propio subdominio, api.quantarelay.com, separado del sitio web. A continuación se detalla la configuración de cada cliente.
Referencia técnica de la API
Todas las rutas siguientes están en https://api.quantarelay.com; los tres protocolos comparten una misma clave y un mismo saldo.
Mapa de endpoints
| Método HTTP | Ruta completa | Familia de protocolos | Qué hace |
|---|---|---|---|
HTTP GET | api.quantarelay.com/v1/models | OpenAI | Lista los modelos disponibles para llamadas excepto Gemini; requiere una clave; gratis |
HTTP POST | api.quantarelay.com/v1/chat/completions | OpenAI | Completaciones de chat, con soporte para streaming |
HTTP POST | api.quantarelay.com/v1/responses | OpenAI | API Responses, con soporte para streaming |
HTTP POST | api.quantarelay.com/v1/messages | Anthropic | API Messages, con soporte para streaming |
HTTP POST | api.quantarelay.com/v1/messages/count_tokens | Anthropic | Cuenta tokens; nunca se cobra |
HTTP GET | api.quantarelay.com/v1beta/models | Gemini | Lista los modelos de Gemini; requiere una clave; sin costo |
HTTP POST | api.quantarelay.com/v1beta/models/{model}:generateContent | Gemini | Devuelve la respuesta completa de una vez |
HTTP POST | api.quantarelay.com/v1beta/models/{model}:streamGenerateContent?alt=sse | Gemini | Transmite la respuesta mediante SSE |
HTTP POST | api.quantarelay.com/v1beta/models/{model}:countTokens | Gemini | Cuenta tokens; nunca se cobra |
Encabezados y autenticación
- Envía la clave como Authorization: Bearer en las rutas de OpenAI, x-api-key en las rutas de Anthropic y x-goog-api-key en las rutas de Gemini.
- Cuando una solicitud de Anthropic no incluye anthropic-version, Quanta agrega 2023-06-01.
- La clave también se puede enviar como parámetro de consulta ?key=, principalmente para clientes de Gemini.
- Tu IP de cliente, las cookies y los encabezados de CDN nunca se envían al proveedor.
Límites y tiempos de espera
- Por clave: hasta 120 solicitudes en cualquier intervalo de 60 segundos
- Por cuenta: hasta 8 solicitudes en curso
- Cuerpo de la solicitud: máximo 25 MB
- Por cuenta: hasta 20 claves activas
- Streaming: sin límite de tiempo total; solo se cierra tras 300 s sin datos del proveedor
Formato de errores y códigos de estado
Los errores siempre se devuelven con la estructura de OpenAI:
{"error": {"message": "Your Quanta balance is used up. Top up from the dashboard to resume metered calls.", "type": "insufficient_quota", "code": 402}}
| HTTP · Valor de type | Qué hace |
|---|---|
400 · invalid_request_error | Modelo no especificado, desconocido o no disponible en este protocolo |
401 · authentication_error | Clave ausente o no reconocida |
402 · insufficient_quota | Saldo agotado — recarga y vuelve a intentarlo |
403 · permission_error | Cuenta suspendida |
404 · not_found | La ruta no existe |
413 · invalid_request_error | Cuerpo de la solicitud mayor que el límite de 25 MB |
429 · rate_limit_error | Se alcanzó el límite de solicitudes por clave o de concurrencia por cuenta |
502 · api_error | No se puede contactar al proveedor; no se cobra nada |
503 · api_error | Conexión con el proveedor no configurada |
Guías de integración
Una vez explicado el protocolo, esta es la configuración para cada tipo de cliente.
SDK de OpenAI, Codex y otros clientes compatibles
Configura base_url con la dirección base seguida de /v1 y api_key con tu clave. El chat usa /v1/chat/completions; la API de Responses está en /v1/responses.
base_url = "https://api.quantarelay.com/v1" # Quanta, OpenAI-compatible
api_key = "qnt-your-key-here"Python, con el paquete oficial openai:
from openai import OpenAI # pip install openai
qt = OpenAI(base_url="https://api.quantarelay.com/v1", api_key="qnt-your-key-here")
qt_reply = qt.chat.completions.create(model="gpt-6.1-sol", messages=[{"role": "user", "content": "Resume el registro de incidentes de este trimestre en tres viñetas"}])
print(qt_reply.choices[0].message.content)curl https://api.quantarelay.com/v1/chat/completions \
-H "Authorization: Bearer qnt-your-key-here" -H "Content-Type: application/json" \
-d '{"model":"gpt-6.1-sol","messages":[{"role":"user","content":"Resume el registro de incidentes de este trimestre en tres viñetas"}]}'ID de GPT que sugerimos para empezar:
gpt-6.1-solgpt-6-astragpt-5.6-sol
CLI de Gemini y API nativa de Gemini
Configura GOOGLE_GEMINI_BASE_URL con el host sin rutas (no agregues /v1beta) y GEMINI_API_KEY con tu clave, luego ejecuta gemini.
export GOOGLE_GEMINI_BASE_URL=https://api.quantarelay.com
export GEMINI_API_KEY=qnt-your-key-here
geminicurl "https://api.quantarelay.com/v1beta/models/gemini-3.8-flash:generateContent" \
-H "x-goog-api-key: qnt-your-key-here" -H "Content-Type: application/json" \
-d '{"contents":[{"role":"user","parts":[{"text":"Enumera tres formas de reducir el gasto en tokens en trabajos por lotes"}]}]}'Los modelos Gemini solo usan su protocolo nativo: :generateContent para una sola respuesta, :streamGenerateContent?alt=sse para streaming. No se pueden invocar mediante /v1/chat/completions.
ID de modelos Gemini disponibles:
gemini-3.1-progemini-4-argongemini-3.8-flashgemini-2.5-flash
Claude Code y Claude Desktop
Configura dos variables de entorno y luego ejecuta claude: ANTHROPIC_BASE_URL apunta a la dirección base (sin /v1) y ANTHROPIC_AUTH_TOKEN contiene tu clave.
export ANTHROPIC_BASE_URL=https://api.quantarelay.com
export ANTHROPIC_AUTH_TOKEN=qnt-your-key-here
claudeLos modelos de Claude solo están disponibles en los clientes oficiales Claude Code y Claude Desktop, y Claude Code debe ser la versión 2.1.285 o posterior — una restricción del proveedor de origen. GPT, Gemini y los demás funcionan con cualquier cliente o SDK compatible.