studio-lumiere-cli 0.1.4 → 0.1.5

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.
Files changed (59) hide show
  1. package/dist/config/constants.d.ts +1 -63
  2. package/dist/config/constants.js +3 -1004
  3. package/dist/config/constants.js.map +1 -1
  4. package/dist/pipelines/generateImages.js +5 -3
  5. package/dist/pipelines/generateImages.js.map +1 -1
  6. package/dist/storage/files.js +4 -1
  7. package/dist/storage/files.js.map +1 -1
  8. package/dist/studio/constants.d.ts +64 -0
  9. package/dist/studio/constants.js +1018 -0
  10. package/dist/studio/constants.js.map +1 -0
  11. package/dist/studio/promptBuilder.d.ts +4 -0
  12. package/{src/prompt/buildPrompt.ts → dist/studio/promptBuilder.js} +166 -221
  13. package/dist/studio/promptBuilder.js.map +1 -0
  14. package/dist/studio/types.d.ts +155 -0
  15. package/dist/studio/types.js +2 -0
  16. package/dist/studio/types.js.map +1 -0
  17. package/dist/types.d.ts +2 -49
  18. package/package.json +9 -3
  19. package/scripts/sync-studio.mjs +16 -0
  20. package/.agents/skills/generate-images/SKILL.md +0 -121
  21. package/.env.example +0 -2
  22. package/AGENTS.md +0 -66
  23. package/examples/generate.d.ts +0 -1
  24. package/examples/generate.js +0 -28
  25. package/examples/generate.js.map +0 -1
  26. package/examples/generate.ts +0 -30
  27. package/examples/muse.d.ts +0 -1
  28. package/examples/muse.js +0 -18
  29. package/examples/muse.js.map +0 -1
  30. package/examples/muse.ts +0 -20
  31. package/examples/video.d.ts +0 -1
  32. package/examples/video.js +0 -18
  33. package/examples/video.js.map +0 -1
  34. package/examples/video.ts +0 -20
  35. package/logo-round.png +0 -0
  36. package/logo.jpeg +0 -0
  37. package/skills/studio-lumiere-cli/SKILL.md +0 -212
  38. package/skills/studio-lumiere-cli/agents/openai.yaml +0 -4
  39. package/src/cli.ts +0 -259
  40. package/src/clients/geminiClient.ts +0 -168
  41. package/src/config/constants.ts +0 -1105
  42. package/src/config/options.ts +0 -15
  43. package/src/config/templates.ts +0 -4
  44. package/src/config/tiredGirl.ts +0 -11
  45. package/src/image/annotate.ts +0 -139
  46. package/src/image/grid.ts +0 -58
  47. package/src/index.ts +0 -27
  48. package/src/pipelines/createMuse.ts +0 -76
  49. package/src/pipelines/generateImages.ts +0 -203
  50. package/src/pipelines/generateTiredGirl.ts +0 -86
  51. package/src/pipelines/generateVideo.ts +0 -36
  52. package/src/pipelines/refineImage.ts +0 -36
  53. package/src/pipelines/resolve.ts +0 -88
  54. package/src/pipelines/upscaleImage.ts +0 -30
  55. package/src/prompt/tiredGirlPrompt.ts +0 -35
  56. package/src/storage/files.ts +0 -44
  57. package/src/storage/museStore.ts +0 -31
  58. package/src/types.ts +0 -198
  59. package/tsconfig.json +0 -15
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/studio/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Template, Option } from './types.js';
2
+ import { OccasionTheme } from './constants.js';
3
+ export declare const buildLLMPrompt: (template: Template, detail: Option | undefined, secondaryDetail: Option | undefined, tertiaryDetail: Option | undefined, quaternaryDetail: Option | undefined, ethnicity: Option | undefined, skinTone: Option | undefined, hairColor: Option | undefined, background: Option | undefined, backgroundType: Option | undefined, vibe: Option | undefined, imageCount: number, occasion: OccasionTheme | undefined, isVariation?: boolean, styleHint?: string) => string;
4
+ export declare const buildSystemInstruction: (template: Template, ethnicity: Option | undefined) => string;
@@ -1,232 +1,175 @@
1
- import { Template, Option } from "../types.js";
2
- import { OccasionTheme, ETHNICITY_REGIONS, getRandomLuxuryInterior } from "../config/constants.js";
3
- export const buildLLMPrompt = (
4
- template: Template,
5
- detail: Option | undefined,
6
- secondaryDetail: Option | undefined,
7
- tertiaryDetail: Option | undefined,
8
- ethnicity: Option | undefined,
9
- skinTone: Option | undefined,
10
- hairColor: Option | undefined,
11
- background: Option | undefined,
12
- backgroundType: Option | undefined,
13
- vibe: Option | undefined,
14
- imageCount: number,
15
- occasion: OccasionTheme | undefined,
16
- isVariation: boolean = false,
17
- styleHint?: string
18
- ) => {
19
- const needsBothHands = template.id === 'hand_model' && imageCount >= 3;
20
- const quantityConstraint = imageCount > 1
21
- ? `The model is wearing ALL the provided pieces together. Do NOT add any other jewelry.${needsBothHands ? ' IMPORTANT: Show BOTH hands with the pieces distributed naturally and elegantly across both hands — do NOT cram all pieces onto a single hand.' : ''}`
22
- : 'The model is wearing ONLY the single piece of jewelry shown in the reference. Do NOT add matching earrings, necklaces, or other rings.';
23
-
24
- // Dynamic Base Concept
25
- let ethnicityLabel = (ethnicity && ethnicity.id !== 'none') ? ethnicity.name : "professional female";
26
-
27
- // Diversity Injection: Pick a specific region if available
28
- if (ethnicity && ethnicity.id && ETHNICITY_REGIONS[ethnicity.id]) {
29
- const regions = ETHNICITY_REGIONS[ethnicity.id];
30
- const randomRegion = regions[Math.floor(Math.random() * regions.length)];
31
- ethnicityLabel = `${randomRegion} (${ethnicity.name})`;
32
- }
33
-
34
- let basePrompt = template.basePrompt;
35
- basePrompt = basePrompt.replace(/\[ETHNICITY\]/g, ethnicityLabel);
36
-
37
- const hairColorLabel = (hairColor && hairColor.id !== 'none') ? hairColor.name.toLowerCase() : "natural colored";
38
- basePrompt = basePrompt.replace(/\[HAIR_COLOR\]/g, hairColorLabel);
39
-
40
- let instruction = `Write a highly detailed, structured photorealistic prompt for the specific jewelry shown in the attached images.
1
+ import { ETHNICITY_REGIONS, getRandomLuxuryInterior } from './constants.js';
2
+ export const buildLLMPrompt = (template, detail, secondaryDetail, tertiaryDetail, quaternaryDetail, ethnicity, skinTone, hairColor, background, backgroundType, vibe, imageCount, occasion, isVariation = false, styleHint) => {
3
+ const needsBothHands = template.id === 'hand_model' && imageCount >= 3;
4
+ const quantityConstraint = imageCount > 1
5
+ ? `The model is wearing ALL the provided pieces together. Do NOT add any other jewelry.${needsBothHands ? ' IMPORTANT: Show BOTH hands with the pieces distributed naturally and elegantly across both hands — do NOT cram all pieces onto a single hand.' : ''}`
6
+ : 'The model is wearing ONLY the single piece of jewelry shown in the reference. Do NOT add matching earrings, necklaces, or other rings.';
7
+ // Dynamic Base Concept
8
+ let ethnicityLabel = (ethnicity && ethnicity.id !== 'none') ? ethnicity.name : "professional female";
9
+ // Diversity Injection: Pick a specific region if available
10
+ if (ethnicity && ethnicity.id && ETHNICITY_REGIONS[ethnicity.id]) {
11
+ const regions = ETHNICITY_REGIONS[ethnicity.id];
12
+ const randomRegion = regions[Math.floor(Math.random() * regions.length)];
13
+ ethnicityLabel = `${randomRegion} (${ethnicity.name})`;
14
+ }
15
+ let basePrompt = template.basePrompt;
16
+ basePrompt = basePrompt.replace(/\[ETHNICITY\]/g, ethnicityLabel);
17
+ const hairColorLabel = (hairColor && hairColor.id !== 'none') ? hairColor.name.toLowerCase() : "natural colored";
18
+ basePrompt = basePrompt.replace(/\[HAIR_COLOR\]/g, hairColorLabel);
19
+ let instruction = `Write a highly detailed, structured photorealistic prompt for the specific jewelry shown in the attached images.
41
20
 
42
21
  ══════════════════════════════════
43
- PHOTOGRAPHY SPECIFICATION
22
+ 📸 PHOTOGRAPHY SPECIFICATION
44
23
  ══════════════════════════════════
45
24
  Base Concept: ${basePrompt}
46
25
  Camera: Hasselblad X2D 100C, 120mm Macro lens, f/2.8
47
26
  Target: Authentic, high-end editorial photography. Cinematic, naturalistic, slightly imperfect.
48
27
 
49
28
  ══════════════════════════════════
50
- SUBJECT & JEWELRY (HIGHEST PRIORITY)
29
+ 💎 SUBJECT & JEWELRY (HIGHEST PRIORITY)
51
30
  ══════════════════════════════════
52
31
  ${quantityConstraint}
53
32
  CRITICAL: Describe the jewelry EXACTLY as seen in the reference images. Preserve all details: metal type, stone cuts, chain style, settings, etc.
54
33
  Do NOT invent additional jewelry pieces or embellishments.
55
34
  Do NOT add sparkles, glitter, or magical glow effects.
56
- `;
57
-
58
- // OCCASION CONTEXT - Give this prominence if selected
59
- if (occasion?.promptDetails) {
60
- instruction += `
35
+ `;
36
+ // OCCASION CONTEXT - Give this prominence if selected
37
+ if (occasion?.promptDetails) {
38
+ instruction += `
61
39
  ══════════════════════════════════
62
- OCCASION CONTEXT: ${occasion.name.toUpperCase()}
40
+ 🎭 OCCASION CONTEXT: ${occasion.name.toUpperCase()}
63
41
  ══════════════════════════════════
64
42
  ${occasion.description}
65
43
 
66
- SETTING & ENVIRONMENT:
44
+ 🏛️ SETTING & ENVIRONMENT:
67
45
  ${occasion.promptDetails.setting}
68
46
 
69
- ATMOSPHERE & MOOD:
47
+ ATMOSPHERE & MOOD:
70
48
  ${occasion.promptDetails.atmosphere}
71
49
 
72
- COLOR PALETTE:
50
+ 🎨 COLOR PALETTE:
73
51
  ${occasion.promptDetails.colorPalette}
74
52
 
75
- CULTURAL & THEMATIC ELEMENTS:
53
+ 🌟 CULTURAL & THEMATIC ELEMENTS:
76
54
  ${occasion.promptDetails.culturalElements}
77
55
 
78
- MODEL STYLING & AESTHETIC:
56
+ 💄 MODEL STYLING & AESTHETIC:
79
57
  ${occasion.promptDetails.styling}
80
- `;
81
- }
82
-
83
- // MODEL CUSTOMIZATIONS
84
- let modelDetails = [];
85
-
86
- if (ethnicity && ethnicity.id !== 'none') {
87
- modelDetails.push(`Model Ethnicity: ${ethnicityLabel}`);
88
- }
89
-
90
- if (detail) {
91
- // Replace [HAIR_COLOR] in the detail value (e.g. Hairstyle Context)
92
- const detailValue = detail.value.replace(/\[HAIR_COLOR\]/g, hairColorLabel);
93
- modelDetails.push(`${template.customizationLabel}: ${detailValue}`);
94
- } else if (template.customizationLabel?.toLowerCase().includes('makeup')) {
95
- modelDetails.push(`${template.customizationLabel}: completely bare faced, no makeup, fresh natural skin`);
96
- } else if (template.customizationLabel?.toLowerCase().includes('nail')) {
97
- modelDetails.push(`${template.customizationLabel}: natural unpainted nails with a clear healthy coat`);
98
- }
99
-
100
- if (secondaryDetail) {
101
- modelDetails.push(`${template.secondaryCustomizationLabel}: ${secondaryDetail.value}`);
102
- } else if (template.secondaryCustomizationLabel?.toLowerCase().includes('makeup')) {
103
- modelDetails.push(`${template.secondaryCustomizationLabel}: completely bare faced, no makeup, fresh natural skin`);
104
- } else if (template.secondaryCustomizationLabel?.toLowerCase().includes('nail')) {
105
- modelDetails.push(`${template.secondaryCustomizationLabel}: natural unpainted nails with a clear healthy coat`);
106
- }
107
-
108
- if (tertiaryDetail) {
109
- modelDetails.push(`${template.tertiaryCustomizationLabel}: ${tertiaryDetail.value}`);
110
- } else if (template.tertiaryCustomizationLabel?.toLowerCase().includes('makeup')) {
111
- modelDetails.push(`${template.tertiaryCustomizationLabel}: completely bare faced, no makeup, fresh natural skin`);
112
- } else if (template.tertiaryCustomizationLabel?.toLowerCase().includes('nail')) {
113
- modelDetails.push(`${template.tertiaryCustomizationLabel}: natural unpainted nails with a clear healthy coat`);
114
- }
115
-
116
- if (skinTone && skinTone.id !== 'none' && !template.id.includes('flatlay')) {
117
-
118
-
119
-
120
- modelDetails.push(`Model Skin Tone: ${skinTone.value}`);
121
-
122
-
123
-
124
- }
125
-
126
-
127
-
128
- if (hairColor && hairColor.id !== 'none' && !['hand_model', 'flatlay_creative', 'floating_minimal'].includes(template.id)) {
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
- modelDetails.push(`Model Hair Color: ${hairColor.value}`);
137
-
138
-
139
-
140
-
141
-
142
-
143
-
144
- }
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
- if (modelDetails.length > 0) {
153
- instruction += `
58
+ `;
59
+ }
60
+ // MODEL CUSTOMIZATIONS
61
+ let modelDetails = [];
62
+ if (ethnicity && ethnicity.id !== 'none') {
63
+ modelDetails.push(`Model Ethnicity: ${ethnicityLabel}`);
64
+ }
65
+ if (detail) {
66
+ // Replace [HAIR_COLOR] in the detail value (e.g. Hairstyle Context)
67
+ const detailValue = detail.value.replace(/\[HAIR_COLOR\]/g, hairColorLabel);
68
+ modelDetails.push(`${template.customizationLabel}: ${detailValue}`);
69
+ }
70
+ else if (template.customizationLabel?.toLowerCase().includes('makeup')) {
71
+ modelDetails.push(`${template.customizationLabel}: completely bare faced, no makeup, fresh natural skin`);
72
+ }
73
+ else if (template.customizationLabel?.toLowerCase().includes('nail')) {
74
+ modelDetails.push(`${template.customizationLabel}: natural unpainted nails with a clear healthy coat`);
75
+ }
76
+ if (secondaryDetail) {
77
+ modelDetails.push(`${template.secondaryCustomizationLabel}: ${secondaryDetail.value}`);
78
+ }
79
+ else if (template.secondaryCustomizationLabel?.toLowerCase().includes('makeup')) {
80
+ modelDetails.push(`${template.secondaryCustomizationLabel}: completely bare faced, no makeup, fresh natural skin`);
81
+ }
82
+ else if (template.secondaryCustomizationLabel?.toLowerCase().includes('nail')) {
83
+ modelDetails.push(`${template.secondaryCustomizationLabel}: natural unpainted nails with a clear healthy coat`);
84
+ }
85
+ if (tertiaryDetail) {
86
+ modelDetails.push(`${template.tertiaryCustomizationLabel}: ${tertiaryDetail.value}`);
87
+ }
88
+ else if (template.tertiaryCustomizationLabel?.toLowerCase().includes('makeup')) {
89
+ modelDetails.push(`${template.tertiaryCustomizationLabel}: completely bare faced, no makeup, fresh natural skin`);
90
+ }
91
+ else if (template.tertiaryCustomizationLabel?.toLowerCase().includes('nail')) {
92
+ modelDetails.push(`${template.tertiaryCustomizationLabel}: natural unpainted nails with a clear healthy coat`);
93
+ }
94
+ if (quaternaryDetail) {
95
+ modelDetails.push(`${template.quaternaryCustomizationLabel}: ${quaternaryDetail.value}`);
96
+ }
97
+ if (skinTone && skinTone.id !== 'none' && !template.id.includes('flatlay')) {
98
+ modelDetails.push(`Model Skin Tone: ${skinTone.value}`);
99
+ }
100
+ if (hairColor && hairColor.id !== 'none' && !['hand_model', 'flatlay_creative', 'floating_minimal'].includes(template.id)) {
101
+ modelDetails.push(`Model Hair Color: ${hairColor.value}`);
102
+ }
103
+ if (modelDetails.length > 0) {
104
+ instruction += `
154
105
  ══════════════════════════════════
155
- MODEL SPECIFICATIONS
106
+ 👤 MODEL SPECIFICATIONS
156
107
  ══════════════════════════════════
157
108
  ${modelDetails.join('\n')}
158
109
  The model should look like a natural, real human.
159
- `;
160
- }
161
-
162
- // SETTING & BACKGROUND (if not overridden by occasion)
163
- if (!occasion && (background || backgroundType || vibe)) {
164
- instruction += `
110
+ `;
111
+ }
112
+ // SETTING & BACKGROUND (if not overridden by occasion)
113
+ if (!occasion && (background || backgroundType || vibe)) {
114
+ instruction += `
165
115
  ══════════════════════════════════
166
- SETTING & ENVIRONMENT
116
+ 🎬 SETTING & ENVIRONMENT
167
117
  ══════════════════════════════════
168
- `;
169
-
170
- if (backgroundType) {
171
- const bgValue = backgroundType.id === 'interior' ? getRandomLuxuryInterior() : backgroundType.value;
172
- instruction += `Setting Type: ${bgValue}\n`;
173
- }
174
-
175
- if (background) {
176
- if (template.id === 'flatlay_creative') {
177
- instruction += `Secondary accent color/texture element to complement the main surface: ${background.value}\n`;
178
- } else {
179
- instruction += `Color Palette & Texture: ${background.value}\n`;
180
- }
181
- }
182
-
183
- if (vibe) {
184
- instruction += `Photography Style & Mood: ${vibe.value}\n`;
185
- }
186
-
187
- instruction += `\nBackground Treatment: HEAVILY BLURRED (deep cinematic bokeh) to keep focus strictly on the jewelry.
188
- `;
189
- }
190
-
191
- // TECHNICAL REQUIREMENTS
192
- instruction += `
118
+ `;
119
+ if (backgroundType) {
120
+ const bgValue = backgroundType.id === 'interior' ? getRandomLuxuryInterior() : backgroundType.value;
121
+ instruction += `Setting Type: ${bgValue}\n`;
122
+ }
123
+ if (background) {
124
+ if (template.id === 'flatlay_creative') {
125
+ instruction += `Secondary accent color/texture element to complement the main surface: ${background.value}\n`;
126
+ }
127
+ else {
128
+ instruction += `Color Palette & Texture: ${background.value}\n`;
129
+ }
130
+ }
131
+ if (vibe) {
132
+ instruction += `Photography Style & Mood: ${vibe.value}\n`;
133
+ }
134
+ instruction += `\nBackground Treatment: HEAVILY BLURRED (deep cinematic bokeh) to keep focus strictly on the jewelry.
135
+ `;
136
+ }
137
+ // TECHNICAL REQUIREMENTS
138
+ instruction += `
193
139
  ══════════════════════════════════
194
- TECHNICAL REQUIREMENTS
140
+ ⚙️ TECHNICAL REQUIREMENTS
195
141
  ══════════════════════════════════
196
142
  - Natural light reflections on jewelry (NO artificial sparkles or glow)
197
143
  - Sharp focus on jewelry with shallow depth of field
198
144
  - Authentic photographic quality (film grain acceptable)
199
145
  - Professional color grading
200
146
  - 2K resolution output quality
201
- `;
202
-
203
- // STYLE & POSE DIRECTION (for diversity in batch generation)
204
- if (styleHint) {
205
- instruction += `
147
+ `;
148
+ // STYLE & POSE DIRECTION (for diversity in batch generation)
149
+ if (styleHint) {
150
+ instruction += `
206
151
  ══════════════════════════════════
207
- STYLE & POSE DIRECTION
152
+ 🎭 STYLE & POSE DIRECTION
208
153
  ══════════════════════════════════
209
154
  ${styleHint}
210
155
  IMPORTANT: Follow this specific direction to ensure variety across generated images.
211
- `;
212
- }
213
-
214
- if (isVariation) {
215
- instruction += `
156
+ `;
157
+ }
158
+ if (isVariation) {
159
+ instruction += `
216
160
  ══════════════════════════════════
217
- VARIATION INSTRUCTION
161
+ 🔄 VARIATION INSTRUCTION
218
162
  ══════════════════════════════════
219
163
  Keep the SAME jewelry pieces and overall aesthetic, but RADICALLY CHANGE THE POSE.
220
164
  - If previous shot was static, make this dynamic
221
165
  - If previous was profile, try 3/4 view or different angle
222
166
  - Change hand placement, head tilt, or body position
223
167
  - Goal: Fresh perspective with different composition
224
- `;
225
- }
226
-
227
- instruction += `
168
+ `;
169
+ }
170
+ instruction += `
228
171
  ══════════════════════════════════
229
- STRICT PROHIBITIONS
172
+ 🚫 STRICT PROHIBITIONS
230
173
  ══════════════════════════════════
231
174
  DO NOT add: fake sparkles, glitter particles, magical glows, lens flares, additional jewelry not in reference
232
175
  DO NOT change: the jewelry design, metal type, stone cuts, or any jewelry characteristics
@@ -243,24 +186,19 @@ OUTPUT: A structured JSON-like prompt with distinct sections. Do not use a singl
243
186
  }
244
187
 
245
188
  Ensure the content of each section is rich, dense, and highly descriptive.
246
- `;
247
-
248
- return instruction;
249
- };
250
-
251
- export const buildSystemInstruction = (
252
- template: Template,
253
- ethnicity: Option | undefined
254
- ): string => {
255
- const isFloating = template.id === 'floating_minimal';
256
- const isFlatlay = template.id === 'flatlay_creative';
257
- const isHandModel = template.id === 'hand_model';
258
- const isMuseumExhibit = template.id === 'museum_exhibit';
259
- const isRomance = template.id === 'romance_proposal';
260
- const isRomanticMood = template.id === 'romantic_mood';
261
- let llmSystemInstruction = '';
262
- if (isRomanticMood) {
263
- llmSystemInstruction = `You are a world-renowned still-life photographer and prop stylist for luxury jewelry and lifestyle brands.
189
+ `;
190
+ return instruction;
191
+ };
192
+ export const buildSystemInstruction = (template, ethnicity) => {
193
+ const isFloating = template.id === 'floating_minimal';
194
+ const isFlatlay = template.id === 'flatlay_creative';
195
+ const isHandModel = template.id === 'hand_model';
196
+ const isMuseumExhibit = template.id === 'museum_exhibit';
197
+ const isRomance = template.id === 'romance_proposal';
198
+ const isRomanticMood = template.id === 'romantic_mood';
199
+ let llmSystemInstruction = '';
200
+ if (isRomanticMood) {
201
+ llmSystemInstruction = `You are a world-renowned still-life photographer and prop stylist for luxury jewelry and lifestyle brands.
264
202
  Your task is to write a prompt for an AI image generator to create a DREAMY, INTIMATE STILL-LIFE PHOTOGRAPH of jewelry in a romantic setting.
265
203
 
266
204
  CRITICAL GUIDELINES:
@@ -276,10 +214,11 @@ export const buildSystemInstruction = (
276
214
  5. **Realism**: Use product photography keywords (Hasselblad X2D 100C, 120mm Macro, f/2.8, shallow depth of field). Props must look real and tactile.
277
215
  6. **Vibe**: Romantic, intimate, dreamy, feminine.
278
216
 
279
- Output: A single, dense, highly descriptive English prompt. No introductions.`;
280
- } else if (isRomance) {
281
- const ethnicityPrompt = (ethnicity && ethnicity.id !== 'none') ? ethnicity.value : "Professional couple";
282
- llmSystemInstruction = `You are a world-renowned wedding and engagement photographer, known for capturing raw, authentic emotional moments.
217
+ Output: A single, dense, highly descriptive English prompt. No introductions.`;
218
+ }
219
+ else if (isRomance) {
220
+ const ethnicityPrompt = (ethnicity && ethnicity.id !== 'none') ? ethnicity.value : "Professional couple";
221
+ llmSystemInstruction = `You are a world-renowned wedding and engagement photographer, known for capturing raw, authentic emotional moments.
283
222
  Your task is to write a prompt for an AI image generator to create an INTIMATE, EMOTIONALLY POWERFUL photograph based on reference jewelry images.
284
223
 
285
224
  CRITICAL GUIDELINES:
@@ -293,9 +232,10 @@ export const buildSystemInstruction = (
293
232
  4. **Realism**: Use photography keywords (Contax 645, Zeiss Planar 80mm f/2, Kodak Portra 400).
294
233
  5. **Vibe**: Tender, authentic, emotionally powerful, intimate. Real love story energy.
295
234
 
296
- Output: A single, dense, highly descriptive English prompt. No introductions.`;
297
- } else if (isMuseumExhibit) {
298
- llmSystemInstruction = `You are a world-renowned museum photographer and exhibition designer.
235
+ Output: A single, dense, highly descriptive English prompt. No introductions.`;
236
+ }
237
+ else if (isMuseumExhibit) {
238
+ llmSystemInstruction = `You are a world-renowned museum photographer and exhibition designer.
299
239
  Your task is to write a prompt for an AI image generator to create a MUSEUM-QUALITY photograph of jewelry displayed as a priceless exhibit.
300
240
 
301
241
  CRITICAL GUIDELINES:
@@ -308,9 +248,10 @@ export const buildSystemInstruction = (
308
248
  4. **Realism**: Use professional museum photography equipment and lighting terminology.
309
249
  5. **Vibe**: Reverent, prestigious, archival quality, awe-inspiring.
310
250
 
311
- Output: A single, dense, highly descriptive English prompt. No introductions.`;
312
- } else if (isFloating) {
313
- llmSystemInstruction = `You are a world-renowned product photographer and creative director for luxury jewelry campaigns.
251
+ Output: A single, dense, highly descriptive English prompt. No introductions.`;
252
+ }
253
+ else if (isFloating) {
254
+ llmSystemInstruction = `You are a world-renowned product photographer and creative director for luxury jewelry campaigns.
314
255
  Your task is to write a prompt for an AI image generator to create a HYPER-REALISTIC product photograph based on reference images.
315
256
 
316
257
  CRITICAL GUIDELINES:
@@ -322,9 +263,10 @@ export const buildSystemInstruction = (
322
263
  4. **Realism**: Use photography keywords (Hasselblad X2D 100C, Macro Lens 120mm, f/2.8).
323
264
  5. **Vibe**: Old money, elegant, classy, expensive, minimalist.
324
265
 
325
- Output: A single, dense, highly descriptive English prompt. No introductions.`;
326
- } else if (isFlatlay) {
327
- llmSystemInstruction = `You are a world-renowned product photographer and creative director for luxury jewelry campaigns.
266
+ Output: A single, dense, highly descriptive English prompt. No introductions.`;
267
+ }
268
+ else if (isFlatlay) {
269
+ llmSystemInstruction = `You are a world-renowned product photographer and creative director for luxury jewelry campaigns.
328
270
  Your task is to write a prompt for an AI image generator to create a HYPER-REALISTIC product photograph based on reference images.
329
271
 
330
272
  CRITICAL GUIDELINES:
@@ -333,14 +275,15 @@ export const buildSystemInstruction = (
333
275
  - Do NOT modify the design of the existing jewelry.
334
276
  2. **Subject**: The jewelry should be displayed as a creative still-life composition, with NO human model, NO body parts, and NO mannequins.
335
277
  - The jewelry may be laid flat on a surface, OR elevated on geometric pedestals, cubes, stone risers, plinths, or sculptural props.
336
- - Lighting should always look natural and photographic soft studio light, window light, or gentle directional light. Shadows should feel organic, not artificial.
278
+ - Lighting should always look natural and photographic soft studio light, window light, or gentle directional light. Shadows should feel organic, not artificial.
337
279
  3. **NO FAKE EFFECTS**: Strictly FORBID "sparkles", "glitter particles", "magical glow", neon lighting, overly stylized color gels. Natural light reflection only.
338
280
  4. **Realism**: Use photography keywords (Hasselblad X2D 100C, Macro Lens 120mm, f/2.8).
339
281
  5. **Vibe**: Old money, elegant, classy, expensive, artistic.
340
282
 
341
- Output: A single, dense, highly descriptive English prompt. No introductions.`;
342
- } else if (isHandModel) {
343
- llmSystemInstruction = `You are a world-renowned product photographer and creative director for luxury jewelry campaigns.
283
+ Output: A single, dense, highly descriptive English prompt. No introductions.`;
284
+ }
285
+ else if (isHandModel) {
286
+ llmSystemInstruction = `You are a world-renowned product photographer and creative director for luxury jewelry campaigns.
344
287
  Your task is to write a prompt for an AI image generator to create a HYPER-REALISTIC hand model photograph based on reference images.
345
288
 
346
289
  CRITICAL GUIDELINES:
@@ -358,10 +301,11 @@ export const buildSystemInstruction = (
358
301
  5. **Realism**: Use photography keywords (Hasselblad X2D 100C, Macro Lens 120mm, f/2.8).
359
302
  6. **Vibe**: Old money, elegant, classy, expensive, feminine.
360
303
 
361
- Output: A single, dense, highly descriptive English prompt. No introductions.`;
362
- } else {
363
- const ethnicityPrompt = (ethnicity && ethnicity.id !== 'none') ? ethnicity.value : "Professional female model";
364
- llmSystemInstruction = `You are a world-renowned fashion photographer and creative director for Vogue Arabia and High Jewelry campaigns.
304
+ Output: A single, dense, highly descriptive English prompt. No introductions.`;
305
+ }
306
+ else {
307
+ const ethnicityPrompt = (ethnicity && ethnicity.id !== 'none') ? ethnicity.value : "Professional female model";
308
+ llmSystemInstruction = `You are a world-renowned fashion photographer and creative director for Vogue Arabia and High Jewelry campaigns.
365
309
  Your task is to write a prompt for an AI image generator to create an AUTHENTIC, CINEMATIC photograph based on reference images. Skin texture should look natural and smooth.
366
310
 
367
311
  CRITICAL GUIDELINES:
@@ -374,7 +318,8 @@ export const buildSystemInstruction = (
374
318
  4. **Realism**: Use photography keywords (Hasselblad X2D 100C, Macro Lens 120mm, f/2.8).
375
319
  5. **Vibe**: Old money, elegant, classy, expensive, feminine.
376
320
 
377
- Output: A single, dense, highly descriptive English prompt. No introductions.`;
378
- }
379
- return llmSystemInstruction;
380
- };
321
+ Output: A single, dense, highly descriptive English prompt. No introductions.`;
322
+ }
323
+ return llmSystemInstruction;
324
+ };
325
+ //# sourceMappingURL=promptBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptBuilder.js","sourceRoot":"","sources":["../../src/studio/promptBuilder.ts"],"names":[],"mappings":"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"}