Documentación de la API Eikr
Integra el motor de IA de Eikr en tu producto. Todas las solicitudes son HTTPS, JSON de entrada y salida. URL base: https://api.eikr.ee
Autenticación
Cada solicitud a un endpoint protegido debe incluir tu clave API en la cabecera de la solicitud. Las claves API se emiten al suscribirse a un plan API.
X-API-Key: eikr_your_api_key_here
Endpoint de Chat
Envía un mensaje y recibe una respuesta generada por IA. Compatible con personas personalizadas, historial de conversación e inyección de memoria por usuario.
Cuerpo de la solicitud
| Parámetro | Tipo | Descripción |
|---|---|---|
| messagerequerido | string | El texto del mensaje del usuario |
| personalityopcional | string | Prompt de sistema / definición de persona para la IA |
| historyopcional | array | Mensajes anteriores como [{role, content}] para contexto |
| user_idopcional | string | Tu identificador de usuario para persistencia de memoria |
| languageopcional | string | Código de idioma de respuesta, p. ej. "en", "es", "pt" |
const res = await fetch("https://api.eikr.ee/chat", { method: "POST", headers: { "X-API-Key": "eikr_your_key", "Content-Type": "application/json" }, body: JSON.stringify({ message: "What are your opening hours?", personality: "You are Sofia, support agent for Acme Store.", user_id: "user_123" }) });
{
"reply": "Hi! Our store is open Monday–Friday, 9am–6pm CET.",
"tokens_used": 84,
"model": "gpt-4o-mini"
}
Respuestas en Streaming
Para experiencias de chat en tiempo real, usa el endpoint de streaming. Las respuestas se entregan como Eventos Enviados por el Servidor (SSE). Mismos parámetros que /chat.
const res = await fetch("https://api.eikr.ee/chat/stream", { method: "POST", headers: { "X-API-Key": "eikr_your_key", "Content-Type": "application/json" }, body: JSON.stringify({ message: "Tell me about Tallinn" }) }); const reader = res.body.getReader(); const decoder = new TextDecoder(); while (true) { const { done, value } = await reader.read(); if (done) break; const chunk = decoder.decode(value); process.stdout.write(chunk); // recibe tokens a medida que llegan }
Entrada de Voz
Transcribe un mensaje de voz (archivo de audio) a texto usando el pipeline de reconocimiento de voz de Eikr.
Envía el audio como multipart/form-data con el archivo en el campo audio. Formatos admitidos: .ogg, .mp3, .wav, .m4a
{ "transcript": "What time do you close today?", "language": "en" }
Texto a Voz
Convierte una cadena de texto en un archivo de audio. Útil para bucles de respuesta por voz.
| Parámetro | Tipo | Descripción |
|---|---|---|
| textrequerido | string | Texto a convertir en voz |
| voiceopcional | string | "alloy" (por defecto), "nova", "echo", "fable", "onyx", "shimmer" |
| languageopcional | string | Código de idioma para la pronunciación |
Devuelve un flujo binario audio/mpeg.
Visión / Análisis de imágenes
Analiza una imagen y obtén una descripción generada por IA o respuestas a preguntas sobre ella.
| Parámetro | Tipo | Descripción |
|---|---|---|
| image_urlrequerido* | string | URL pública de la imagen |
| image_base64requerido* | string | Imagen codificada en Base64 (alternativa a la URL) |
| questionopcional | string | Pregunta específica sobre la imagen |
* Proporciona image_url o image_base64, no ambos.
Búsqueda Web
Obtén una respuesta sintetizada por IA basada en resultados web en directo. Útil para preguntas sobre eventos actuales, precios o cualquier información sensible al tiempo.
| Parámetro | Tipo | Descripción |
|---|---|---|
| queryrequerido | string | La consulta de búsqueda o pregunta |
| languageopcional | string | Código de idioma de la respuesta |
Códigos de Error
| Código | Significado |
|---|---|
| 400 | Solicitud incorrecta — parámetros faltantes o no válidos |
| 401 | No autorizado — clave API faltante o no válida |
| 429 | Límite de solicitudes superado — reduce la frecuencia |
| 500 | Error interno del servidor — reintenta en un momento |
Límites de Uso
Los límites se aplican por clave API, en función de la cuota mensual de solicitudes de tu plan. Superar el límite devuelve una respuesta 429.