Documentación
Inicio rápido
Kunavo es compatible con el protocolo de OpenAI. Si ya usas el SDK de OpenAI, solo tienes que cambiar la URL base. En cinco minutos pasarás de cero a realizar tu primera llamada a un modelo de vanguardia.
Kunavo es una pasarela de API de IA independiente y compatible con OpenAI: una clave de API y un saldo de pago por uso permiten acceder a Claude, GPT y modelos de imagen, vídeo y audio, sin necesidad de una cuenta por proveedor. Todo el proceso de incorporación consta de cuatro pasos. Los tres primeros se realizan una sola vez. El cuarto —hacer una llamada— consiste simplemente en cambiar base_url.
1. Crea una cuenta
Regístrate en kunavo.com/app/login con Google o mediante un enlace mágico por correo electrónico. El pago es por uso y puedes empezar con una recarga de $10: tu saldo nunca caduca y nunca se te cobran las solicitudes fallidas.
2. Crea una clave de API
Abre /app/keys en el panel y haz clic en Nueva clave. Las claves empiezan por sk-kn- y se muestran una sola vez al crearlas: cópiala y guárdala en un lugar seguro.
Buenas prácticas recomendadas:
- Usa una clave por proyecto o entorno (desarrollo, pruebas, producción).
- Rota las claves si se produce un incidente o cada trimestre.
- Establece un límite de gasto mensual por clave si haces llamadas mediante scripts desde CI.
3. Añade fondos a tu cartera
Ve a /app/billing y recarga mediante Stripe Checkout. Las tarjetas se ofrecen en todos los lugares a los que llega Stripe, y Apple Pay, Google Pay y Link en todos ellos salvo India; los métodos locales aparecen según el país — por ejemplo, ACH en EE. UU., Pix en Brasil, UPI en India, KakaoPay en Corea del Sur e iDEAL en los Países Bajos, BLIK en Polonia (la lista completa está en la referencia de facturación; no se ofrecen PayPal ni SEPA Direct Debit). Las recargas comienzan en $10, suficiente para probar todos los modelos con una clave real, y el saldo nunca caduca.
- Pago por uso: el consumo se descuenta de tu cartera en tiempo real, sin suscripción.
- Se aplican bonificaciones por volumen: $100 → +$10, $1,000 → +$200, $5,000 → +$1,250.
- Descriptor del cargo en el extracto de tu tarjeta:
KUNAVO.COM* TOPUP.
4. Haz tu primera llamada
Elige cualquier modelo habilitado del catálogo. A continuación: una llamada de chat barata y rápida con claude-haiku-4-5 para que puedas verificar la conexión.
Python (SDK de OpenAI)
El paquete de Python openai (v1 o posterior) funciona sin configuración adicional: solo tienes que apuntar base_url a Kunavo.
from openai import OpenAI
client = OpenAI(
api_key=os.environ["KUNAVO_API_KEY"],
base_url="https://api.kunavo.com/v1",
)
resp = client.chat.completions.create(
model="claude-haiku-4-5",
messages=[{"role": "user", "content": "Say hi in one sentence."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.KUNAVO_API_KEY,
baseURL: "https://api.kunavo.com/v1",
});
const resp = await client.chat.completions.create({
model: "claude-haiku-4-5",
messages: [{ role: "user", content: "Say hi in one sentence." }],
});
console.log(resp.choices[0].message.content);curl
curl https://api.kunavo.com/v1/chat/completions \
-H "Authorization: Bearer $KUNAVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-haiku-4-5",
"messages": [{"role": "user", "content": "Say hi in one sentence."}]
}'/app/usage en unos segundos.Otras modalidades
El mismo SDK también gestiona imágenes y vídeo. Cuando es posible, los endpoints usan los nombres de OpenAI.
Generación de imágenes
Usa cualquiera de los modelos de imagen: Nano Banana, Nano Banana 2, Nano Banana Pro y GPT-Image-2. Consulta la documentación de imágenes.
img = client.images.generate(
model="nano-banana",
prompt="a tiny red origami crane on a white desk",
size="1024x1024",
)
print(img.data[0].url)Chat en streaming
Establece stream=True. El streaming funciona con todos los modelos de chat: todas las familias Claude y GPT. La respuesta se envía como eventos enviados por el servidor en el formato estándar de OpenAI.
stream = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Tell me a 2-line haiku about CI/CD."}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)Próximos pasos
- Autenticación: referencia completa de claves de API y URL base.
- Completado de chat: parámetros, streaming, llamadas a herramientas y visión.
- Facturación: cómo funcionan la fórmula del margen y el libro mayor de créditos.
- Errores: códigos HTTP y estrategia de reintentos.