SDK oficial de JavaScript/TypeScript para Roraima AI - Procesa texto, imágenes y audio con inteligencia artificial de última generación.
- 🔤 Procesamiento de texto - Genera, analiza y transforma texto con IA
- 🖼️ Análisis de imágenes - Describe, analiza y extrae información de imágenes
- 🎵 Procesamiento de audio - Transcribe y analiza archivos de audio
- 📊 Estadísticas en tiempo real - Monitorea uso, costos y rendimiento
- 💰 Gestión de saldo - Consulta tu saldo y gastos
- ⚡ Fácil de usar - API simple y intuitiva
- 🔒 Seguro - Autenticación con API key
- 📦 TypeScript - Soporte completo para TypeScript
npm install roraima
Regístrate en Roraima AI y obtén tu API key desde el dashboard.
import { RoraimaAI } from 'roraima';
const ai = new RoraimaAI('sk-tu_api_key_aqui');
// Procesar texto
const response = await ai.processText('Explica qué es la inteligencia artificial');
console.log(response.content);
// Verificar saldo
const balance = await ai.getBalance();
console.log(`Saldo: $${balance}`);
import { RoraimaAI } from 'roraima';
const ai = new RoraimaAI('sk-tu_api_key_aqui');
async function ejemploTexto() {
try {
const response = await ai.processText('Escribe un poema sobre la tecnología');
console.log('Respuesta:', response.content);
console.log('Costo:', response.metrics.cost_estimate);
console.log('Tokens:', response.metrics.total_tokens);
} catch (error) {
console.error('Error:', error.message);
}
}
// Desde archivo
const response = await ai.processImage(
'Describe lo que ves en esta imagen',
'./mi-imagen.jpg'
);
// Desde Buffer
const imageBuffer = fs.readFileSync('imagen.png');
const response = await ai.processImage(
'Qué objetos hay en la imagen?',
imageBuffer
);
console.log('Descripción:', response.content);
if (response.detections) {
console.log('Objetos detectados:', response.detections.length);
}
// Transcribir audio
const response = await ai.processAudio(
'Transcribe este audio',
'./audio.mp3'
);
// Analizar sentimientos en audio
const response = await ai.processAudio(
'Analiza el sentimiento de esta conversación',
'./llamada.wav'
);
console.log('Transcripción:', response.content);
console.log('Duración:', response.metrics.audio_duration_seconds, 'segundos');
// Obtener información del usuario
const info = await ai.getInfo();
console.log('Usuario:', info.user.name);
console.log('Saldo:', info.user.balance);
// Estadísticas de uso
const stats = await ai.getStats('24h'); // 24h, 7d, 30d, 90d, all
console.log('Requests hoy:', stats.summary.total_requests);
console.log('Costo total:', stats.summary.total_cost);
// Estado del servicio
const health = await ai.getHealth();
console.log('Estado:', health.status);
new RoraimaAI(apiKey: string, baseURL?: string)
-
apiKey
: Tu API key de Roraima AI (debe comenzar consk-
) -
baseURL
: URL base de la API (opcional, por defecto:https://roraima.ai
)
Procesa texto con IA.
Parámetros:
-
prompt
: El texto a procesar
Ejemplo:
const response = await ai.processText('Resume este artículo...');
Analiza imágenes con IA.
Parámetros:
-
prompt
: Pregunta sobre la imagen -
image
: Ruta del archivo, Buffer o Stream
Formatos soportados: JPG, PNG, GIF, WebP, BMP
Ejemplo:
const response = await ai.processImage('Qué hay en esta foto?', './foto.jpg');
Procesa audio con IA.
Parámetros:
-
prompt
: Instrucción para el audio -
audio
: Ruta del archivo, Buffer o Stream
Formatos soportados: MP3, WAV, FLAC, M4A, OGG
Ejemplo:
const response = await ai.processAudio('Transcribe este audio', './audio.mp3');
Obtiene información del usuario y API.
Obtiene estadísticas de uso.
Períodos disponibles: '24h'
, '7d'
, '30d'
, '90d'
, 'all'
Verifica el estado del servicio.
Obtiene el saldo actual del usuario.
interface ProcessResponse {
content: string;
type?: string;
detections?: any[];
metrics?: {
cost_estimate: number;
input_tokens: number;
output_tokens: number;
total_tokens: number;
service: string;
latency: string;
processing_time: string;
audio_duration_seconds?: number;
tokens_per_second: string;
};
}
interface UserInfo {
id: string;
name: string;
email: string;
balance: number;
total_spent: number;
}
type StatsPeriod = '24h' | '7d' | '30d' | '90d' | 'all';
type ImageInput = string | Buffer | NodeJS.ReadableStream;
type AudioInput = string | Buffer | NodeJS.ReadableStream;
El SDK incluye manejo de errores específico con la clase RoraimaAIError
:
import { RoraimaAI, RoraimaAIError } from 'roraima';
try {
const response = await ai.processText('Hola mundo');
} catch (error) {
if (error instanceof RoraimaAIError) {
console.error('Error de API:', error.message);
console.error('Código de estado:', error.status);
switch (error.status) {
case 401:
console.error('API key inválida');
break;
case 402:
console.error('Saldo insuficiente');
break;
case 500:
console.error('Error del servidor');
break;
}
} else {
console.error('Error general:', error.message);
}
}
-
Tamaño máximo de archivo: Consultar
info.limits.max_file_size
- Timeout: 5 minutos por request
-
Formatos soportados: Ver
info.limits.supported_image_formats
ysupported_audio_formats
- Rate limiting: Aplica según tu plan
- Node.js: ≥14.0.0
- CommonJS y ES Modules: ✅
- TypeScript: ✅
- Browser: No (requiere Node.js)
Consulta el archivo example.js
incluido en el paquete para ver ejemplos completos de uso.
node example.js
- 📖 Documentación: roraima.ai/docs
- 🐛 Issues: GitHub Issues
- 💬 Soporte: contacto@roraima.ai
MIT - ver LICENSE para más detalles.
Hecho con ❤️ por el equipo de Roraima AI