Skip to main content
Glama
orneryd

M.I.M.I.R - Multi-agent Intelligent Memory & Insight Repository

by orneryd
ImageProcessor.md4.56 kB
[**mimir v1.0.0**](../README.md) *** [mimir](../README.md) / indexing/ImageProcessor # indexing/ImageProcessor ## Classes ### ImageProcessor Defined in: src/indexing/ImageProcessor.ts:30 #### Constructors ##### Constructor > **new ImageProcessor**(`config`): [`ImageProcessor`](#imageprocessor) Defined in: src/indexing/ImageProcessor.ts:33 ###### Parameters ###### config [`ImageProcessorConfig`](#imageprocessorconfig) ###### Returns [`ImageProcessor`](#imageprocessor) #### Methods ##### isImageFile() > `static` **isImageFile**(`filePath`): `boolean` Defined in: src/indexing/ImageProcessor.ts:53 Check if a file is a supported image format ###### Parameters ###### filePath `string` Path to file to check ###### Returns `boolean` true if file extension is a supported image format ###### Examples ```ts if (ImageProcessor.isImageFile('/path/to/photo.jpg')) { console.log('Image file detected'); } ``` ```ts const files = await readdir('/images'); const images = files.filter(f => ImageProcessor.isImageFile(f)); console.log('Found', images.length, 'images'); ``` ##### prepareImageForVL() > **prepareImageForVL**(`imagePath`): `Promise`\<[`ProcessedImage`](#processedimage)\> Defined in: src/indexing/ImageProcessor.ts:87 Prepare an image for vision-language model processing Automatically resizes large images to fit within VL model limits while preserving aspect ratio. Converts to Base64 for API transmission. ###### Parameters ###### imagePath `string` Absolute path to image file ###### Returns `Promise`\<[`ProcessedImage`](#processedimage)\> Processed image with metadata and Base64 encoding ###### Throws If image cannot be read or processed ###### Examples ```ts const processor = new ImageProcessor({ maxPixels: 3211264, targetSize: 1792, resizeQuality: 85 }); const result = await processor.prepareImageForVL('/path/to/large-image.jpg'); if (result.wasResized) { console.log('Resized from', result.originalSize, 'to', result.processedSize); } console.log('Base64 size:', result.base64.length, 'chars'); ``` ```ts // Process image for VL API const processed = await processor.prepareImageForVL(imagePath); const dataURL = processor.createDataURL(processed.base64, processed.format); await vlModel.describeImage(dataURL); ``` ##### createDataURL() > **createDataURL**(`base64`, `format`): `string` Defined in: src/indexing/ImageProcessor.ts:199 Create a Data URL for image (for API transmission) Formats Base64 image data as a data URL with proper MIME type. Used for sending images to vision-language APIs. ###### Parameters ###### base64 `string` Base64-encoded image data ###### format `string` Image format (jpeg, png, webp, etc.) ###### Returns `string` Data URL string ready for API transmission ###### Examples ```ts const processed = await processor.prepareImageForVL(imagePath); const dataURL = processor.createDataURL(processed.base64, processed.format); console.log('Data URL:', dataURL.substring(0, 50) + '...'); // Output: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAA... ``` ```ts // Send to VL API const dataURL = processor.createDataURL(base64, 'png'); const response = await fetch('https://api.vl-model.com/describe', { method: 'POST', body: JSON.stringify({ image: dataURL }) }); ``` ## Interfaces ### ProcessedImage Defined in: src/indexing/ImageProcessor.ts:14 #### Properties ##### buffer > **buffer**: `Buffer` Defined in: src/indexing/ImageProcessor.ts:15 ##### base64 > **base64**: `string` Defined in: src/indexing/ImageProcessor.ts:16 ##### wasResized > **wasResized**: `boolean` Defined in: src/indexing/ImageProcessor.ts:17 ##### originalSize > **originalSize**: `object` Defined in: src/indexing/ImageProcessor.ts:18 ###### width > **width**: `number` ###### height > **height**: `number` ##### processedSize > **processedSize**: `object` Defined in: src/indexing/ImageProcessor.ts:19 ###### width > **width**: `number` ###### height > **height**: `number` ##### format > **format**: `string` Defined in: src/indexing/ImageProcessor.ts:20 ##### sizeBytes > **sizeBytes**: `number` Defined in: src/indexing/ImageProcessor.ts:21 *** ### ImageProcessorConfig Defined in: src/indexing/ImageProcessor.ts:24 #### Properties ##### maxPixels > **maxPixels**: `number` Defined in: src/indexing/ImageProcessor.ts:25 ##### targetSize > **targetSize**: `number` Defined in: src/indexing/ImageProcessor.ts:26 ##### resizeQuality > **resizeQuality**: `number` Defined in: src/indexing/ImageProcessor.ts:27

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/orneryd/Mimir'

If you have feedback or need assistance with the MCP directory API, please join our Discord server