thumbnail-generator-mcp 1.0.1 → 1.0.3
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/dist/index.js +168 -37
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -51,49 +51,72 @@ async function validateLicense() {
|
|
|
51
51
|
}
|
|
52
52
|
// ─── Prompt builders ─────────────────────────────────────────────────────────
|
|
53
53
|
function buildPhotoEditPrompt(opts) {
|
|
54
|
-
const { background, textOverlay, textPosition, textColor, outfitChange } = opts;
|
|
54
|
+
const { background, textOverlay, textPosition, textColor, outfitChange, expression, lightingStyle, mood, videoTopic, hasReferencePhoto } = opts;
|
|
55
|
+
const lightingDirective = lightingStyle === "bright"
|
|
56
|
+
? "Bright, even studio lighting — soft shadows, no harsh contrast, clean and professional"
|
|
57
|
+
: lightingStyle === "moody"
|
|
58
|
+
? "Low-key moody lighting — one side lit, deep shadows on the other, atmospheric and dramatic"
|
|
59
|
+
: lightingStyle === "natural"
|
|
60
|
+
? "Natural daylight — soft diffused light, no artificial feel, warm and organic"
|
|
61
|
+
: "Cinematic dramatic lighting — strong rim light from top-behind, high contrast punchy shadows, light source top-front. This is the default for high-performing thumbnails.";
|
|
55
62
|
return `TASK: Transform this selfie into a professional YouTube thumbnail.
|
|
56
|
-
|
|
63
|
+
${videoTopic ? `\nVideo context: This thumbnail is for a video about "${videoTopic}". Use this to inform the mood, background details, and overall composition.\n` : ""}
|
|
64
|
+
${hasReferencePhoto ? "NOTE: A reference photo is also provided. Use it to understand the person's appearance, skin tone, facial features, and hair. The first image is the selfie to edit; the second image is the reference.\n" : ""}
|
|
57
65
|
=== PRESERVE EXACTLY — DO NOT CHANGE THESE ===
|
|
58
|
-
- Face: exact facial structure, bone structure, skin tone, eye color, eyebrows, nose shape, mouth shape, jawline
|
|
59
|
-
- Hair: exact color, length, texture, style
|
|
60
|
-
-
|
|
61
|
-
-
|
|
66
|
+
- Face: exact facial structure, bone structure, skin tone, eye color, eyebrows, nose shape, mouth shape, jawline — this is NON-NEGOTIABLE
|
|
67
|
+
- Hair: exact color, length, texture, and style
|
|
68
|
+
- Any accessories already visible (glasses, earrings, jewelry, etc.)
|
|
69
|
+
- Approximate body position and pose from the original photo
|
|
70
|
+
|
|
71
|
+
=== EXPRESSION ===
|
|
72
|
+
${expression
|
|
73
|
+
? `Required expression: ${expression}. Intensify this significantly — push it further than in the original. Exaggerate it. Big expressions win clicks on YouTube.`
|
|
74
|
+
: "Intensify the existing expression dramatically — push it much further than in the original photo. Exaggerate it. Big, bold, unambiguous expressions win clicks. Do NOT neutralize or soften the expression."}
|
|
62
75
|
|
|
63
76
|
=== CHANGE ===
|
|
64
77
|
Background: ${background}
|
|
65
|
-
Lighting:
|
|
66
|
-
Skin: smooth, professional retouching
|
|
67
|
-
${outfitChange ? `Outfit: ${outfitChange}` : "Outfit: keep as-is
|
|
78
|
+
Lighting: ${lightingDirective}
|
|
79
|
+
Skin: smooth, professional retouching — keep natural skin tone, remove blemishes, no heavy filters or airbrushing
|
|
80
|
+
${outfitChange ? `Outfit: ${outfitChange}` : "Outfit: keep the original outfit as-is — ensure it looks sharp and intentional"}
|
|
81
|
+
${mood ? `Overall mood/vibe: ${mood}` : ""}
|
|
68
82
|
|
|
69
83
|
=== ADD ===
|
|
70
|
-
Text overlay: "${textOverlay}" — massive bold block letters (Impact or
|
|
71
|
-
Composition: person
|
|
84
|
+
Text overlay: "${textOverlay}" — massive bold block letters (Impact or Bebas Neue), ${textColor} fill, thick black outline 4–5px, hard drop shadow offset bottom-right. Place text ${textPosition} of image. Text must be readable at 320×180px (small thumbnail size).
|
|
85
|
+
Composition: person fills 60–70% of frame, positioned to leave clear negative space for the text. Face is the undisputed focal point of the entire image.
|
|
72
86
|
|
|
73
87
|
=== OUTPUT REQUIREMENTS ===
|
|
74
|
-
- Dimensions: 1280×720 (16:9)
|
|
75
|
-
- Style: hyper-realistic
|
|
76
|
-
- Quality: ultra-sharp, professional
|
|
77
|
-
-
|
|
88
|
+
- Dimensions: exactly 1280×720 pixels (16:9 widescreen)
|
|
89
|
+
- Style: hyper-realistic photograph — NOT illustrated, NOT painted, NOT AI-art stylized
|
|
90
|
+
- Quality: ultra-sharp, vibrant saturated colors, professional broadcast quality
|
|
91
|
+
- Do NOT add watermarks, logos, borders, or decorative frames`;
|
|
78
92
|
}
|
|
79
93
|
function buildTextOnlyPrompt(opts) {
|
|
80
|
-
const { subject, background, textOverlay, textPosition, textColor } = opts;
|
|
94
|
+
const { subject, background, textOverlay, textPosition, textColor, lightingStyle, mood, videoTopic } = opts;
|
|
95
|
+
const lightingDirective = lightingStyle === "bright"
|
|
96
|
+
? "Bright even studio lighting — soft shadows, clean professional look"
|
|
97
|
+
: lightingStyle === "moody"
|
|
98
|
+
? "Low-key moody lighting — deep shadows, single-sided light source, atmospheric"
|
|
99
|
+
: lightingStyle === "natural"
|
|
100
|
+
? "Natural daylight, soft and diffused, warm and organic"
|
|
101
|
+
: "Cinematic dramatic lighting — strong rim light, high contrast, punchy shadows, light source from top-front";
|
|
81
102
|
return `Create a professional YouTube thumbnail (1280×720, 16:9).
|
|
82
|
-
|
|
103
|
+
${videoTopic ? `\nVideo topic: "${videoTopic}"\n` : ""}
|
|
83
104
|
Subject: ${subject}
|
|
84
105
|
Background: ${background}
|
|
85
|
-
|
|
106
|
+
Lighting: ${lightingDirective}
|
|
107
|
+
${mood ? `Mood/vibe: ${mood}` : ""}
|
|
86
108
|
|
|
87
|
-
Text overlay: "${textOverlay}" — massive bold block letters (Impact or
|
|
109
|
+
Text overlay: "${textOverlay}" — massive bold block letters (Impact or Bebas Neue), ${textColor} fill, thick black outline 4–5px, hard drop shadow. Place text ${textPosition} of image. Must be readable at small thumbnail size.
|
|
88
110
|
|
|
89
111
|
Requirements:
|
|
90
|
-
- Hyper-realistic
|
|
91
|
-
- Ultra-sharp, professional YouTube thumbnail quality
|
|
92
|
-
-
|
|
93
|
-
-
|
|
112
|
+
- Hyper-realistic photograph style — NOT illustrated or painted
|
|
113
|
+
- Ultra-sharp, vibrant, professional YouTube thumbnail quality
|
|
114
|
+
- Subject must be the clear focal point
|
|
115
|
+
- Text must be large and immediately readable at 320×180px
|
|
116
|
+
- Do NOT add watermarks, borders, or decorative frames`;
|
|
94
117
|
}
|
|
95
118
|
// ─── Gemini image call ────────────────────────────────────────────────────────
|
|
96
|
-
async function generateImage(prompt, imageBase64, imageMimeType) {
|
|
119
|
+
async function generateImage(prompt, imageBase64, imageMimeType, refBase64, refMimeType) {
|
|
97
120
|
const genAI = new GoogleGenerativeAI(GEMINI_API_KEY);
|
|
98
121
|
const model = genAI.getGenerativeModel({
|
|
99
122
|
model: IMAGE_MODEL,
|
|
@@ -108,6 +131,11 @@ async function generateImage(prompt, imageBase64, imageMimeType) {
|
|
|
108
131
|
inlineData: { data: imageBase64, mimeType: imageMimeType },
|
|
109
132
|
});
|
|
110
133
|
}
|
|
134
|
+
if (refBase64 && refMimeType) {
|
|
135
|
+
parts.push({
|
|
136
|
+
inlineData: { data: refBase64, mimeType: refMimeType },
|
|
137
|
+
});
|
|
138
|
+
}
|
|
111
139
|
parts.push({ text: prompt });
|
|
112
140
|
const result = await model.generateContent(parts);
|
|
113
141
|
const response = result.response;
|
|
@@ -140,44 +168,130 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
140
168
|
tools: [
|
|
141
169
|
{
|
|
142
170
|
name: "generate_thumbnail",
|
|
143
|
-
description:
|
|
171
|
+
description: `YouTube thumbnail generator powered by Gemini. Saves the result to the user's Desktop.
|
|
172
|
+
|
|
173
|
+
⚠️ IMPORTANT: Do NOT call this tool immediately. You must run a full intake conversation first to collect all the details Gemini needs to produce a great result. Vague inputs produce generic thumbnails. Specific inputs produce professional ones.
|
|
174
|
+
|
|
175
|
+
## INTAKE CONVERSATION — follow this exact sequence, one question at a time
|
|
176
|
+
|
|
177
|
+
### Phase 1 — Photo
|
|
178
|
+
Ask: "Do you have a photo or selfie you want to use as the base? Even a quick iPhone shot works great — drag it into the chat or tell me the file path on your Desktop."
|
|
179
|
+
- YES → get the file path → continue
|
|
180
|
+
- NO → ask for a subject description → continue
|
|
181
|
+
|
|
182
|
+
### Phase 1b — Reference photo (optional, ask after Phase 1)
|
|
183
|
+
Ask: "Do you have a second reference photo of yourself I can also use? This helps Gemini understand your face better — especially useful if your selfie is at an unusual angle or lighting. Drag it in or give me the path. (Or skip this if your selfie is clear.)"
|
|
184
|
+
|
|
185
|
+
### Phase 2 — Video context
|
|
186
|
+
Ask: "What's this thumbnail for? Give me the video title or a quick description of the topic. This helps me choose the right background mood."
|
|
187
|
+
|
|
188
|
+
### Phase 3 — Expression (photo mode only)
|
|
189
|
+
Ask: "Describe the expression in your photo. The best thumbnails have big, exaggerated expressions — shocked, excited, disgusted, smug, terrified. Should I keep your expression as-is, or intensify/change it? Be specific."
|
|
190
|
+
Good examples: "jaw dropped, eyes wide open", "huge excited grin, eyebrows raised", "looking sideways with a smug smirk"
|
|
191
|
+
|
|
192
|
+
### Phase 4 — Background
|
|
193
|
+
Ask: "Describe the background you want. Think cinematically — what's in the scene, what colors dominate, what's the mood?"
|
|
194
|
+
DO NOT accept vague answers like "dark" or "office". Push for specifics:
|
|
195
|
+
- If they say "dark background" → ask: "Dark how? Pure black void? Stormy night sky? Underground parking garage? Moody dimly-lit office?"
|
|
196
|
+
- If they say "something cool" → suggest 3 specific options based on their video topic
|
|
197
|
+
Good examples:
|
|
198
|
+
• "Floor-to-ceiling windows overlooking a rainy city at night, blurred bokeh lights"
|
|
199
|
+
• "Bright explosion with orange and red fire debris mid-air, smoke trails"
|
|
200
|
+
• "Dark luxury office, single desk lamp, city skyline visible through windows behind me"
|
|
201
|
+
• "Clean gradient from deep navy to black, professional and minimal"
|
|
202
|
+
• "Stock market charts on glowing monitors filling the background, red and green candlesticks"
|
|
203
|
+
|
|
204
|
+
### Phase 5 — Text
|
|
205
|
+
Ask: "What text goes on the thumbnail? Keep it short and punchy — 2–5 words, ALL CAPS usually hits hardest."
|
|
206
|
+
Then: "What color? White with black outline is most readable. Yellow pops on dark backgrounds. Red creates urgency."
|
|
207
|
+
Then: "Where should it sit — left side, right side, top, or bottom?"
|
|
208
|
+
|
|
209
|
+
### Phase 6 — Lighting
|
|
210
|
+
Ask: "What lighting style fits this thumbnail?"
|
|
211
|
+
- Dramatic/cinematic — strong shadows, rim light from behind (default, works for most thumbnails)
|
|
212
|
+
- Bright/clean — even studio light, soft shadows, professional
|
|
213
|
+
- Moody — low-key, one side lit, deep shadows
|
|
214
|
+
- Natural — soft daylight, organic feel
|
|
215
|
+
|
|
216
|
+
### Phase 7 — Outfit (photo mode only)
|
|
217
|
+
Ask: "Do you want to change your outfit? I can swap it out — just describe what you'd like (e.g. 'dark navy suit', 'casual grey hoodie', 'business casual blazer'). Or say 'keep it' to leave it as-is."
|
|
218
|
+
|
|
219
|
+
### Phase 8 — Variations
|
|
220
|
+
Ask: "Should I generate 1 version, or 2–3 variations so you can compare and pick the best?"
|
|
221
|
+
|
|
222
|
+
## Before calling the tool — read back a summary
|
|
223
|
+
"Here's what I'm generating:
|
|
224
|
+
- Photo: [path or subject description]
|
|
225
|
+
- Video: [topic]
|
|
226
|
+
- Expression: [description]
|
|
227
|
+
- Background: [full description]
|
|
228
|
+
- Lighting: [style]
|
|
229
|
+
- Text: '[TEXT]' in [color] — [position]
|
|
230
|
+
- Outfit: [change or keep]
|
|
231
|
+
- Variations: [number]
|
|
232
|
+
|
|
233
|
+
Ready? Say yes and I'll generate it."
|
|
234
|
+
|
|
235
|
+
Only call the tool after the user confirms.`,
|
|
144
236
|
inputSchema: {
|
|
145
237
|
type: "object",
|
|
146
238
|
properties: {
|
|
147
239
|
background: {
|
|
148
240
|
type: "string",
|
|
149
|
-
description: "
|
|
241
|
+
description: "Cinematic, specific background description. Must include scene details, colors, time of day, and mood. Not just 'dark' — e.g. 'Dark luxury office at night, single desk lamp casting a warm pool of light, blurred city skyline visible through rain-streaked windows behind me'",
|
|
150
242
|
},
|
|
151
243
|
text_overlay: {
|
|
152
244
|
type: "string",
|
|
153
|
-
description: "The text to display on the thumbnail in bold (e.g. 'I LOST EVERYTHING', 'THIS
|
|
245
|
+
description: "The exact text to display on the thumbnail in massive bold letters. Short and punchy — 2–5 words, ALL CAPS (e.g. 'I LOST EVERYTHING', 'STEAL THIS FROM ME', '$10K IN 30 DAYS')",
|
|
154
246
|
},
|
|
155
247
|
text_position: {
|
|
156
248
|
type: "string",
|
|
157
249
|
enum: ["left", "right", "top", "bottom", "top-left", "top-right", "bottom-left", "bottom-right"],
|
|
158
|
-
description: "Where to place the text overlay",
|
|
250
|
+
description: "Where to place the text overlay — choose based on where the person is NOT positioned to avoid overlap",
|
|
159
251
|
default: "left",
|
|
160
252
|
},
|
|
161
253
|
text_color: {
|
|
162
254
|
type: "string",
|
|
163
|
-
description: "Text color
|
|
255
|
+
description: "Text color. 'white' is most readable, 'yellow' pops on dark backgrounds, 'red' creates urgency. Always paired with a thick black outline.",
|
|
164
256
|
default: "white",
|
|
165
257
|
},
|
|
166
258
|
photo_path: {
|
|
167
259
|
type: "string",
|
|
168
|
-
description: "Absolute path to
|
|
260
|
+
description: "Absolute file path to the selfie/photo to use as the base image (e.g. /Users/jordan/Desktop/selfie.jpg). If omitted, Gemini generates the subject from subject_description.",
|
|
169
261
|
},
|
|
170
262
|
subject_description: {
|
|
171
263
|
type: "string",
|
|
172
|
-
description: "
|
|
264
|
+
description: "Only when photo_path is omitted. Describe the person and their expression in detail (e.g. 'professional man in his 30s, dark stubble, wearing a navy suit, jaw dropped in shock, eyes wide open, pointing at camera').",
|
|
265
|
+
},
|
|
266
|
+
expression: {
|
|
267
|
+
type: "string",
|
|
268
|
+
description: "The expression to apply or intensify on the person's face. Be very specific — Gemini performs better with explicit direction (e.g. 'jaw dropped, eyes wide, eyebrows raised as high as possible', 'huge grin, teeth showing, eyebrows up', 'disgusted face, nose wrinkled, one eyebrow raised')",
|
|
269
|
+
},
|
|
270
|
+
lighting_style: {
|
|
271
|
+
type: "string",
|
|
272
|
+
enum: ["dramatic", "bright", "moody", "natural"],
|
|
273
|
+
description: "Lighting mood: 'dramatic' = cinematic rim light + high contrast (default, best for most thumbnails), 'bright' = clean even studio light, 'moody' = low-key one-sided, 'natural' = soft daylight",
|
|
274
|
+
default: "dramatic",
|
|
275
|
+
},
|
|
276
|
+
mood: {
|
|
277
|
+
type: "string",
|
|
278
|
+
description: "Optional overall vibe description to guide Gemini's artistic choices (e.g. 'high-stakes and urgent', 'aspirational and premium', 'shocking and alarming', 'confident and authoritative')",
|
|
279
|
+
},
|
|
280
|
+
video_topic: {
|
|
281
|
+
type: "string",
|
|
282
|
+
description: "The video title or topic — helps Gemini make contextually appropriate decisions about composition and mood (e.g. 'How I made $10k in one month dropshipping', 'I quit my corporate job — here is what happened')",
|
|
283
|
+
},
|
|
284
|
+
reference_photo_path: {
|
|
285
|
+
type: "string",
|
|
286
|
+
description: "Optional. Absolute path to an additional reference photo of the person — useful when the selfie alone doesn't fully capture their appearance. Gemini uses this to better understand facial features, skin tone, and hair. (e.g. /Users/jordan/Desktop/reference.jpg)",
|
|
173
287
|
},
|
|
174
288
|
outfit_change: {
|
|
175
289
|
type: "string",
|
|
176
|
-
description: "Optional
|
|
290
|
+
description: "Optional outfit to swap onto the person in photo mode (e.g. 'dark navy slim-fit suit, no tie, white shirt', 'casual grey hoodie, relaxed fit'). Omit to keep original outfit.",
|
|
177
291
|
},
|
|
178
292
|
variations: {
|
|
179
293
|
type: "number",
|
|
180
|
-
description: "Number of variations to generate (1–4). Default 1.",
|
|
294
|
+
description: "Number of variations to generate (1–4). Default 1. Use 2–3 for A/B testing.",
|
|
181
295
|
minimum: 1,
|
|
182
296
|
maximum: 4,
|
|
183
297
|
default: 1,
|
|
@@ -203,7 +317,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
203
317
|
};
|
|
204
318
|
}
|
|
205
319
|
const args = request.params.arguments;
|
|
206
|
-
const { background, text_overlay, text_position = "left", text_color = "white", photo_path, subject_description, outfit_change, variations = 1, } = args;
|
|
320
|
+
const { background, text_overlay, text_position = "left", text_color = "white", photo_path, subject_description, reference_photo_path, outfit_change, expression, lighting_style, mood, video_topic, variations = 1, } = args;
|
|
207
321
|
if (!photo_path && !subject_description) {
|
|
208
322
|
return {
|
|
209
323
|
content: [{ type: "text", text: "Provide either photo_path (selfie) or subject_description." }],
|
|
@@ -212,6 +326,23 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
212
326
|
}
|
|
213
327
|
const savedPaths = [];
|
|
214
328
|
const count = Math.min(Math.max(Math.floor(variations), 1), 4);
|
|
329
|
+
// Load reference photo once outside the loop — same for all variations
|
|
330
|
+
let refBase64;
|
|
331
|
+
let refMimeType;
|
|
332
|
+
if (reference_photo_path) {
|
|
333
|
+
try {
|
|
334
|
+
const buf = fs.readFileSync(reference_photo_path);
|
|
335
|
+
refBase64 = buf.toString("base64");
|
|
336
|
+
const ext = path.extname(reference_photo_path).toLowerCase().replace(".", "");
|
|
337
|
+
refMimeType = ext === "jpg" ? "image/jpeg" : ext === "png" ? "image/png" : "image/jpeg";
|
|
338
|
+
}
|
|
339
|
+
catch (err) {
|
|
340
|
+
return {
|
|
341
|
+
content: [{ type: "text", text: `Could not read reference photo: ${err instanceof Error ? err.message : err}` }],
|
|
342
|
+
isError: true,
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
}
|
|
215
346
|
for (let i = 0; i < count; i++) {
|
|
216
347
|
let imageBase64;
|
|
217
348
|
let imageMimeType;
|
|
@@ -230,11 +361,11 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
230
361
|
}
|
|
231
362
|
}
|
|
232
363
|
const prompt = photo_path
|
|
233
|
-
? buildPhotoEditPrompt({ background, textOverlay: text_overlay, textPosition: text_position, textColor: text_color, outfitChange: outfit_change })
|
|
234
|
-
: buildTextOnlyPrompt({ subject: subject_description, background, textOverlay: text_overlay, textPosition: text_position, textColor: text_color });
|
|
364
|
+
? buildPhotoEditPrompt({ background, textOverlay: text_overlay, textPosition: text_position, textColor: text_color, outfitChange: outfit_change, expression, lightingStyle: lighting_style, mood, videoTopic: video_topic, hasReferencePhoto: !!refBase64 })
|
|
365
|
+
: buildTextOnlyPrompt({ subject: subject_description, background, textOverlay: text_overlay, textPosition: text_position, textColor: text_color, lightingStyle: lighting_style, mood, videoTopic: video_topic });
|
|
235
366
|
let result;
|
|
236
367
|
try {
|
|
237
|
-
result = await generateImage(prompt, imageBase64, imageMimeType);
|
|
368
|
+
result = await generateImage(prompt, imageBase64, imageMimeType, refBase64, refMimeType);
|
|
238
369
|
}
|
|
239
370
|
catch (err) {
|
|
240
371
|
return {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|