@mixio-pro/kalaasetu-mcp 1.0.9 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mixio-pro/kalaasetu-mcp",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "A powerful Model Context Protocol server providing AI tools for content generation and analysis",
5
5
  "type": "module",
6
6
  "module": "src/index.ts",
@@ -167,30 +167,44 @@ async function processVideoInput(
167
167
  export const geminiTextToImage = {
168
168
  name: "generateImage",
169
169
  description:
170
- "Generate images from text prompts using Gemini 2.5 Flash Image model",
170
+ "Generate images from text prompts using Gemini image models with optional reference images",
171
171
  parameters: z.object({
172
172
  prompt: z.string().describe("Text description of the image to generate"),
173
173
  aspect_ratio: z
174
174
  .string()
175
175
  .optional()
176
- .describe("Aspect ratio: 1:1, 3:4, 4:3, 9:16, or 16:9"),
176
+ .describe("Aspect ratio: 1:1, 3:4, 4:3, 9:16, or 16:9 (default 9:16)"),
177
177
  output_path: z
178
178
  .string()
179
179
  .optional()
180
180
  .describe("File path to save the generated image"),
181
+ reference_images: z
182
+ .array(z.string())
183
+ .optional()
184
+ .describe("Optional reference image file paths to guide generation"),
181
185
  }),
182
186
  execute: async (args: {
183
187
  prompt: string;
184
188
  aspect_ratio?: string;
185
189
  output_path?: string;
190
+ reference_images?: string[];
186
191
  }) => {
187
192
  try {
193
+ const contents: any[] = [args.prompt];
194
+
195
+ if (args.reference_images && Array.isArray(args.reference_images)) {
196
+ for (const refPath of args.reference_images) {
197
+ contents.push(await fileToGenerativePart(refPath));
198
+ }
199
+ }
200
+
188
201
  const response = await ai.models.generateContent({
189
- model: "gemini-2.5-flash-image",
190
- contents: args.prompt,
202
+ model: "gemini-3-pro-image-preview",
203
+ contents: contents,
191
204
  config: {
205
+ responseModalities: ["TEXT", "IMAGE"],
192
206
  imageConfig: {
193
- aspectRatio: args.aspect_ratio || "1:1",
207
+ aspectRatio: args.aspect_ratio || "9:16",
194
208
  },
195
209
  },
196
210
  });
@@ -242,7 +256,7 @@ export const geminiTextToImage = {
242
256
  export const geminiEditImage = {
243
257
  name: "editImage",
244
258
  description:
245
- "Edit existing images with text instructions using Gemini 2.5 Flash Image Preview",
259
+ "Edit existing images with text instructions using Gemini 3 Pro Image Preview",
246
260
  parameters: z.object({
247
261
  image_path: z.string().describe("Path to the source image file"),
248
262
  prompt: z.string().describe("Text instructions for editing the image"),
@@ -272,7 +286,7 @@ export const geminiEditImage = {
272
286
  }
273
287
 
274
288
  const response = await ai.models.generateContent({
275
- model: "gemini-2.5-flash-image-preview",
289
+ model: "gemini-3-pro-image-preview",
276
290
  contents: contents,
277
291
  });
278
292