Documentação da API Eikr
Integre o motor de IA da Eikr no seu produto. Todas as requisições são HTTPS, JSON de entrada e saída. URL base: https://api.eikr.ee
Autenticação
Toda requisição a um endpoint protegido deve incluir sua chave API no cabeçalho da requisição. As chaves API são emitidas após a assinatura de um plano API.
X-API-Key: eikr_your_api_key_here
Endpoint de Chat
Envie uma mensagem e receba uma resposta gerada por IA. Suporta personas personalizadas, histórico de conversa e injeção de memória por usuário.
Corpo da requisição
| Parâmetro | Tipo | Descrição |
|---|---|---|
| messageobrigatório | string | O texto da mensagem do usuário |
| personalityopcional | string | Prompt de sistema / definição de persona para a IA |
| historyopcional | array | Mensagens anteriores como [{role, content}] para contexto |
| user_idopcional | string | Seu identificador de usuário para persistência de memória |
| languageopcional | string | Código do idioma de resposta, ex. "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"
}
Respostas em Streaming
Para experiências de chat em tempo real, use o endpoint de streaming. As respostas são entregues como Eventos Enviados pelo Servidor (SSE). Mesmos 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); // recebe tokens à medida que chegam }
Entrada de Voz
Transcreva uma mensagem de voz (arquivo de áudio) para texto usando o pipeline de reconhecimento de fala da Eikr.
Envie o áudio como multipart/form-data com o arquivo no campo audio. Formatos suportados: .ogg, .mp3, .wav, .m4a
{ "transcript": "What time do you close today?", "language": "en" }
Texto para Voz
Converta uma string de texto em um arquivo de áudio. Útil para loops de resposta por voz.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| textobrigatório | string | Texto a ser convertido em fala |
| voiceopcional | string | "alloy" (padrão), "nova", "echo", "fable", "onyx", "shimmer" |
| languageopcional | string | Código do idioma para pronúncia |
Retorna um stream binário audio/mpeg.
Visão / Análise de imagens
Analise uma imagem e obtenha uma descrição gerada por IA ou respostas a perguntas sobre ela.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| image_urlobrigatório* | string | URL pública da imagem |
| image_base64obrigatório* | string | Imagem codificada em Base64 (alternativa à URL) |
| questionopcional | string | Pergunta específica sobre a imagem |
* Forneça image_url ou image_base64, não ambos.
Busca na Web
Obtenha uma resposta sintetizada por IA baseada em resultados web ao vivo. Útil para perguntas sobre eventos atuais, preços ou qualquer informação sensível ao tempo.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| queryobrigatório | string | A consulta de busca ou pergunta |
| languageopcional | string | Código do idioma da resposta |
Códigos de Erro
| Código | Significado |
|---|---|
| 400 | Requisição inválida — parâmetros ausentes ou incorretos |
| 401 | Não autorizado — chave API ausente ou inválida |
| 429 | Limite de requisições atingido — reduza a frequência |
| 500 | Erro interno do servidor — tente novamente em instantes |
Limites de Uso
Os limites são aplicados por chave API, com base na cota mensal de requisições do seu plano. Exceder o limite retorna uma resposta 429.