@ekipnico/image-intel
v1.2.3
Published
Comprehensive AI-powered image intelligence
Downloads
375
Readme
@ekipnico/image-intel
AI-powered image content analysis using vision LLMs.
Installation
npm install @ekipnico/image-intelQuick Start
import { createImageIntelMesh, ImageContentGenerator } from '@ekipnico/image-intel';
const mesh = createImageIntelMesh();
const generator = mesh.resolve(ImageContentGenerator);
const result = await generator.analyze(imageBuffer);Model Configuration
Models can be specified in two ways:
1. String ID (Built-in Providers)
Use string IDs for OpenAI, Anthropic, and Google models:
// Via environment variable (recommended for defaults)
process.env.AI_MESH_DEFAULT_MODEL = 'gemini-2.0-flash';
// Or per-request
const result = await generator.analyze(imageBuffer, { model: 'gpt-4o' });Built-in models: gpt-4o, gpt-4o-mini, gemini-flash, gemini-2.0-flash, claude-sonnet, etc.
2. LanguageModel (Any Provider)
Pass any Vercel AI SDK model directly for providers like Groq, Mistral, DeepSeek, etc:
import { createGroq } from '@ai-sdk/groq';
const groq = createGroq({ apiKey: process.env.GROQ_API_KEY });
const result = await generator.analyze(imageBuffer, {
model: groq('llama-3.3-70b-versatile'),
});import { createMistral } from '@ai-sdk/mistral';
const mistral = createMistral({ apiKey: process.env.MISTRAL_API_KEY });
const result = await generator.analyze(imageBuffer, {
model: mistral('pixtral-large-latest'),
});Environment Variables
| Variable | Description |
|----------|-------------|
| AI_MESH_DEFAULT_MODEL | Default model when not specified (default: gpt-4o) |
| OPENAI_API_KEY | Required for OpenAI models |
| ANTHROPIC_API_KEY | Required for Anthropic models |
| GOOGLE_API_KEY | Required for Google/Gemini models |
API
generator.analyze(input, config?)
Analyzes an image and returns structured content.
Parameters:
input-ImageInput(Buffer, URL, file path, or ImageInput object)config.model-ModelSpec(string ID or LanguageModel)config.language- Output language (default:'en')config.context- Additional context for better analysis
Returns: ImageContent with identification, visual analysis, SEO metadata, and more.
Integrating into Existing Mesh
import { Mesh } from 'mesh-ioc';
import { registerImageIntelServices, ImageContentGenerator } from '@ekipnico/image-intel';
const mesh = new Mesh('MyApp');
// ... register your services ...
registerImageIntelServices(mesh);
const generator = mesh.resolve(ImageContentGenerator);