@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 +1 -1
- package/src/tools/gemini.ts +21 -7
package/package.json
CHANGED
package/src/tools/gemini.ts
CHANGED
|
@@ -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
|
|
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-
|
|
190
|
-
contents:
|
|
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 || "
|
|
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
|
|
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-
|
|
289
|
+
model: "gemini-3-pro-image-preview",
|
|
276
290
|
contents: contents,
|
|
277
291
|
});
|
|
278
292
|
|