UNPKG

@mixio-pro/kalaasetu-mcp

Version:

A powerful Model Context Protocol server providing AI tools for content generation and analysis

46 lines (39 loc) 1.36 kB
import { fal } from "@fal-ai/client"; export async function callFalModel( modelName: string, input: any, options: { falKey?: string; logs?: boolean } = {} ) { const { falKey, logs = true } = options; const key = falKey || process.env.FAL_KEY; if (!key) { throw new Error("FAL_KEY is required. Provide it via fal_key parameter or FAL_KEY environment variable."); } fal.config({ credentials: key, }); console.log(`[${modelName}] Submitting request to FAL AI...`); try { const result = await fal.subscribe(modelName, { input, logs, onQueueUpdate: (update) => { if (update.status === "IN_PROGRESS") { console.log(`[${modelName}] Status: ${update.status}`); if (logs && "logs" in update && update.logs) { update.logs.forEach((log) => { console.log(`[${modelName}] ${log.message}`); }); } } else if (update.status === "IN_QUEUE") { console.log(`[${modelName}] Status: ${update.status} - Waiting in queue...`); } }, }); console.log(`[${modelName}] Generation completed successfully`); return result; } catch (error: any) { console.error(`[${modelName}] Error:`, error); throw new Error(`FAL AI ${modelName} generation failed: ${error.message || JSON.stringify(error)}`); } }