Modelo de 27 mil millones de parámetros servido en hardware propio en España, compatible con el cliente de OpenAI. Sin registros de prompts, datos que no salen de Europa y cumplimiento RGPD: la IA que una empresa española necesita sin ceder su información a terceros.
El servicio
Un solo endpoint, la misma interfaz que usas con OpenAI. Cambias la base URL, pones tu key y listo. Y si lo que te preocupa es el dato: queda en España.
/es/ia-apihttps://ludiba.org/es/ia-api/v1/es/ia-api/v1/chat/completions./es/ia-api/v1/models → id público qwen3.8-27b./es/ia-api/health.Authorization: Bearer ***).Precios
No hay plan gratuito. Todas las llamadas se hacen con tu API key y solo pagas lo que consumes. Cada recarga de 10 € te da 10 € de crédito. Sin mensualidades ni compromiso mínimo.
Tu cuenta
Registro con email y contraseña (mínimo 8 caracteres). Tu key se genera al instante; solo se muestra una vez, guárdala.
| Etiqueta | Prefijo | Plan | Req. | Tokens | Estado |
|---|
Documentación
Cuatro pasos: crea tu cuenta arriba, copia la API key, apunta tu cliente a la base URL y llama a chat/completions.
Regístrate en Tu cuenta (o inicia sesión) y pulsa Generar API key. La clave empieza por sk-ludiba-… y solo se muestra una vez. También puedes crear keys por API con el token de admin en POST /es/ia-api/_admin/keys.
BASE="https://ludiba.org/es/ia-api/v1"
KEY="***"
curl -s "$BASE/chat/completions" \
-H "Authorization: Bearer ***" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.8-27b",
"messages": [{"role": "user", "content": "Hola, ¿quién eres?"}],
"max_tokens": 256
}'from openai import OpenAI
client = OpenAI(
base_url="https://ludiba.org/es/ia-api/v1",
api_key="***",
)
r = client.chat.completions.create(
model="qwen3.8-27b",
messages=[
{"role": "system", "content": "Eres un asistente de ludiba.org."},
{"role": "user", "content": "Resume en 3 líneas qué es Qwen3.8 27B"},
],
)
print(r.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://ludiba.org/es/ia-api/v1",
apiKey: "sk-lud…aqui",
});
const res = await client.chat.completions.create({
model: "qwen3.8-27b",
messages: [{ role: "user", content: "Hola" }],
stream: true, // streaming SSE opcional
});
for await (const chunk of res) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}Añade "stream": true al body. La respuesta es un flujo text/event-stream con chunks data: {…} terminados en data: [DONE], idéntico al de OpenAI.
curl -N "https://ludiba.org/es/ia-api/v1/chat/completions" \
-H "Authorization: Bearer ***" \
-H "Content-Type: application/json" \
-d '{"model":"qwen3.8-27b","stream":true,
"messages":[{"role":"user","content":"Cuenta de 1 a 3"}]}'Límite de velocidad por key (ventana deslizante de 60 s): 60 req/min en la cuenta estándar; más ancho de banda disponible en recargas de volumen. Al superarlo recibes 429 con code: "rate_limit_exceeded". Key inválida o revocada → 401. Backend caído → 502 con code: "upstream_error". Consulta el estado en GET /es/ia-api/health.
Sin logs de conversación: no registramos tus prompts, respuestas ni metadatos de uso. El modelo corre en infraestructura en España, por lo que tus datos no salen de Europa. No usamos tus datos para entrenamiento y puedes revocar tus claves al instante desde el panel. Para empresas con datos sensibles o requisitos específicos (DPA, auditoría, volumen), habla con nosotros.
| Método | Ruta | Auth | Descripción |
|---|---|---|---|
POST | /es/ia-api/v1/chat/completions | API key | Chat, stream + no-stream |
GET | /es/ia-api/v1/models | opcional | Lista el modelo qwen3.8-27b |
GET | /es/ia-api/health | — | Salud + upstream |
GET/POST | /es/ia-api/_web/* | sesión | signup, login, keys, usage, test |
POST | /es/ia-api/_admin/keys | admin | Crear key (operador) |