studio-lumiere-cli 0.1.6 → 0.1.8
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/README.md +31 -502
- package/dist/cli.js +56 -2
- package/dist/cli.js.map +1 -1
- package/dist/config/options.d.ts +1 -1
- package/dist/config/options.js +1 -1
- package/dist/config/options.js.map +1 -1
- package/dist/image/annotate.js +1 -1
- package/dist/image/annotate.js.map +1 -1
- package/dist/image/beforeAfter.d.ts +2 -0
- package/dist/image/beforeAfter.js +234 -0
- package/dist/image/beforeAfter.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/pipelines/generateImages.js +30 -27
- package/dist/pipelines/generateImages.js.map +1 -1
- package/dist/pipelines/resolve.d.ts +2 -1
- package/dist/pipelines/resolve.js +12 -2
- package/dist/pipelines/resolve.js.map +1 -1
- package/dist/studio/constants/backgrounds.d.ts +1 -0
- package/dist/studio/constants/backgrounds.js +2 -0
- package/dist/studio/constants/backgrounds.js.map +1 -0
- package/dist/studio/constants.d.ts +63 -15
- package/dist/studio/constants.js +512 -166
- package/dist/studio/constants.js.map +1 -1
- package/dist/studio/promptBuilder.d.ts +7 -3
- package/dist/studio/promptBuilder.js +401 -200
- package/dist/studio/promptBuilder.js.map +1 -1
- package/dist/studio/types.d.ts +47 -0
- package/dist/types.d.ts +17 -0
- package/package.json +30 -33
- package/scripts/sync-studio.mjs +16 -16
- package/dist/prompt/buildPrompt.d.ts +0 -4
- package/dist/prompt/buildPrompt.js +0 -322
- package/dist/prompt/buildPrompt.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptBuilder.js","sourceRoot":"","sources":["../../src/studio/promptBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"promptBuilder.js","sourceRoot":"","sources":["../../src/studio/promptBuilder.ts"],"names":[],"mappings":"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"}
|
package/dist/studio/types.d.ts
CHANGED
|
@@ -12,12 +12,16 @@ export interface Template {
|
|
|
12
12
|
tertiaryCustomizationOptions?: Option[];
|
|
13
13
|
quaternaryCustomizationLabel?: string;
|
|
14
14
|
quaternaryCustomizationOptions?: Option[];
|
|
15
|
+
quinaryCustomizationLabel?: string;
|
|
16
|
+
quinaryCustomizationOptions?: Option[];
|
|
15
17
|
isAdminOnly?: boolean;
|
|
18
|
+
hasModel?: boolean;
|
|
16
19
|
}
|
|
17
20
|
export interface Option {
|
|
18
21
|
id: string;
|
|
19
22
|
name: string;
|
|
20
23
|
value: string;
|
|
24
|
+
description?: string;
|
|
21
25
|
visualColor?: string;
|
|
22
26
|
visualImage?: string;
|
|
23
27
|
visualSvg?: string;
|
|
@@ -32,20 +36,33 @@ export interface Resolution {
|
|
|
32
36
|
}
|
|
33
37
|
export interface GenerationState {
|
|
34
38
|
uploadedImages: File[];
|
|
39
|
+
uploadMode: 'stacking' | 'multi_angle' | 'multi_item_single';
|
|
40
|
+
campaignMode: boolean;
|
|
35
41
|
selectedTemplate: string | null;
|
|
36
42
|
selectedDetailId: string | null;
|
|
37
43
|
selectedSecondaryDetailId: string | null;
|
|
38
44
|
selectedTertiaryDetailId: string | null;
|
|
39
45
|
selectedQuaternaryDetailId: string | null;
|
|
46
|
+
selectedQuinaryDetailId: string | null;
|
|
40
47
|
selectedEthnicity: string | null;
|
|
41
48
|
selectedSkinTone: string | null;
|
|
42
49
|
selectedHairColor: string | null;
|
|
43
50
|
selectedBackground: string | null;
|
|
51
|
+
selectedBackgroundSource: 'studio' | 'user';
|
|
52
|
+
selectedBackgroundImageId: string | null;
|
|
44
53
|
selectedBackgroundType: string | null;
|
|
45
54
|
selectedVibe: string | null;
|
|
55
|
+
selectedPhotographyStyle: string | null;
|
|
56
|
+
selectedPaletteSource: 'studio' | 'user';
|
|
57
|
+
selectedPaletteColorId: string | null;
|
|
46
58
|
selectedResolution: string | null;
|
|
47
59
|
imageCount: number;
|
|
48
60
|
selectedOccasion: string | undefined;
|
|
61
|
+
editorialMuseCloseUp: boolean;
|
|
62
|
+
editorialMuseUltraCloseUp: boolean;
|
|
63
|
+
flatlayCloseUp: boolean;
|
|
64
|
+
flatlayUltraCloseUp: boolean;
|
|
65
|
+
guidelineItemOverrides: Record<string, boolean>;
|
|
49
66
|
generatedImages: {
|
|
50
67
|
id: string;
|
|
51
68
|
url: string;
|
|
@@ -57,6 +74,36 @@ export interface GenerationState {
|
|
|
57
74
|
error: string | null;
|
|
58
75
|
selectedMuseId: string | null;
|
|
59
76
|
}
|
|
77
|
+
export interface UserBackground {
|
|
78
|
+
id: string;
|
|
79
|
+
user_id: string;
|
|
80
|
+
name: string | null;
|
|
81
|
+
storage_path: string;
|
|
82
|
+
created_at: string;
|
|
83
|
+
}
|
|
84
|
+
export interface UserBackgroundWithUrl extends UserBackground {
|
|
85
|
+
displayUrl?: string | null;
|
|
86
|
+
downloadUrl?: string | null;
|
|
87
|
+
}
|
|
88
|
+
export interface UserGuidelineItem {
|
|
89
|
+
id: string;
|
|
90
|
+
user_id: string;
|
|
91
|
+
text: string;
|
|
92
|
+
sort_order: number;
|
|
93
|
+
storage_path: string | null;
|
|
94
|
+
created_at: string;
|
|
95
|
+
}
|
|
96
|
+
export interface UserGuidelineItemWithUrl extends UserGuidelineItem {
|
|
97
|
+
displayUrl?: string | null;
|
|
98
|
+
downloadUrl?: string | null;
|
|
99
|
+
}
|
|
100
|
+
export interface UserPaletteColor {
|
|
101
|
+
id: string;
|
|
102
|
+
user_id: string;
|
|
103
|
+
name: string | null;
|
|
104
|
+
hex: string;
|
|
105
|
+
created_at: string;
|
|
106
|
+
}
|
|
60
107
|
export interface Muse {
|
|
61
108
|
id: string;
|
|
62
109
|
user_id: string;
|
package/dist/types.d.ts
CHANGED
|
@@ -6,12 +6,15 @@ export interface GenerationSelections {
|
|
|
6
6
|
detailId?: string;
|
|
7
7
|
secondaryDetailId?: string;
|
|
8
8
|
tertiaryDetailId?: string;
|
|
9
|
+
quaternaryDetailId?: string;
|
|
10
|
+
quinaryDetailId?: string;
|
|
9
11
|
ethnicityId?: string;
|
|
10
12
|
skinToneId?: string;
|
|
11
13
|
hairColorId?: string;
|
|
12
14
|
backgroundId?: string;
|
|
13
15
|
backgroundTypeId?: string;
|
|
14
16
|
vibeId?: string;
|
|
17
|
+
photographyStyleId?: string;
|
|
15
18
|
resolutionId?: string;
|
|
16
19
|
occasionId?: string;
|
|
17
20
|
}
|
|
@@ -22,6 +25,7 @@ export interface GenerationRequest {
|
|
|
22
25
|
styleHint?: string;
|
|
23
26
|
museId?: string;
|
|
24
27
|
museImagePaths?: string[];
|
|
28
|
+
uploadMode?: "stacking" | "multi_angle" | "multi_item_single";
|
|
25
29
|
outputDir?: string;
|
|
26
30
|
enhancePrompt?: boolean;
|
|
27
31
|
}
|
|
@@ -106,6 +110,19 @@ export interface GridOptions {
|
|
|
106
110
|
tileWidth?: number;
|
|
107
111
|
tileHeight?: number;
|
|
108
112
|
}
|
|
113
|
+
export type BeforeAfterLayout = "horizontal" | "vertical" | "diagonal" | "inset";
|
|
114
|
+
export type BeforeAfterOrder = "before-first" | "after-first";
|
|
115
|
+
export type BeforeAfterDiagonalDirection = "tl-br" | "tr-bl";
|
|
116
|
+
export type BeforeAfterInsetPosition = "top-left" | "top-right" | "bottom-left" | "bottom-right";
|
|
117
|
+
export interface BeforeAfterOptions {
|
|
118
|
+
layout: BeforeAfterLayout;
|
|
119
|
+
order: BeforeAfterOrder;
|
|
120
|
+
feather?: number;
|
|
121
|
+
diagonalDirection?: BeforeAfterDiagonalDirection;
|
|
122
|
+
beforeScale?: number;
|
|
123
|
+
beforeInsetScale?: number;
|
|
124
|
+
beforeInsetPosition?: BeforeAfterInsetPosition;
|
|
125
|
+
}
|
|
109
126
|
export interface LumiereConfig {
|
|
110
127
|
apiKey: string;
|
|
111
128
|
outputDir: string;
|
package/package.json
CHANGED
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "studio-lumiere-cli",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Local SDK + CLI for Studio Lumiere image and video generation",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"lumiere": "dist/cli.js"
|
|
8
|
-
},
|
|
9
|
-
"files": [
|
|
10
|
-
"dist",
|
|
11
|
-
"scripts"
|
|
12
|
-
],
|
|
13
|
-
"scripts": {
|
|
14
|
-
"sync": "node scripts/sync-studio.mjs",
|
|
15
|
-
"build": "npm run sync && tsc",
|
|
16
|
-
"prepublishOnly": "npm run build",
|
|
17
|
-
"dev": "npm run sync && tsx src/cli.ts"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"typescript": "^5.7.3"
|
|
32
|
-
}
|
|
33
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "studio-lumiere-cli",
|
|
3
|
+
"version": "0.1.8",
|
|
4
|
+
"description": "Local SDK + CLI for Studio Lumiere image and video generation",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"lumiere": "dist/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"scripts"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"sync": "node scripts/sync-studio.mjs",
|
|
15
|
+
"build": "npm run sync && tsc",
|
|
16
|
+
"prepublishOnly": "npm run build",
|
|
17
|
+
"dev": "npm run sync && tsx src/cli.ts"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@google/genai": "^1.34.0",
|
|
21
|
+
"commander": "^12.0.0",
|
|
22
|
+
"dotenv": "^16.4.5",
|
|
23
|
+
"sharp": "^0.34.5"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/node": "^22.14.0",
|
|
27
|
+
"tsx": "^4.19.2",
|
|
28
|
+
"typescript": "^5.8.2"
|
|
29
|
+
}
|
|
30
|
+
}
|
package/scripts/sync-studio.mjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { cpSync, mkdirSync } from "node:fs";
|
|
2
|
-
import { resolve, dirname } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
|
|
5
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
|
-
const studioRoot = resolve(__dirname, "
|
|
7
|
-
const destDir = resolve(__dirname, "../src/studio");
|
|
8
|
-
|
|
9
|
-
mkdirSync(destDir, { recursive: true });
|
|
10
|
-
|
|
11
|
-
const files = ["types.ts", "constants.ts", "promptBuilder.ts"];
|
|
12
|
-
for (const file of files) {
|
|
13
|
-
cpSync(resolve(studioRoot, file), resolve(destDir, file));
|
|
14
|
-
console.log(` synced ${file}`);
|
|
15
|
-
}
|
|
16
|
-
console.log("studio sync complete");
|
|
1
|
+
import { cpSync, mkdirSync } from "node:fs";
|
|
2
|
+
import { resolve, dirname } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
|
|
5
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
const studioRoot = resolve(__dirname, "../..");
|
|
7
|
+
const destDir = resolve(__dirname, "../src/studio");
|
|
8
|
+
|
|
9
|
+
mkdirSync(destDir, { recursive: true });
|
|
10
|
+
|
|
11
|
+
const files = ["types.ts", "constants.ts", "promptBuilder.ts"];
|
|
12
|
+
for (const file of files) {
|
|
13
|
+
cpSync(resolve(studioRoot, file), resolve(destDir, file));
|
|
14
|
+
console.log(` synced ${file}`);
|
|
15
|
+
}
|
|
16
|
+
console.log("studio sync complete");
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Template, Option } from "../types.js";
|
|
2
|
-
import { OccasionTheme } from "../config/constants.js";
|
|
3
|
-
export declare const buildLLMPrompt: (template: Template, detail: Option | undefined, secondaryDetail: Option | undefined, tertiaryDetail: 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,322 +0,0 @@
|
|
|
1
|
-
import { ETHNICITY_REGIONS, getRandomLuxuryInterior } from "../config/constants.js";
|
|
2
|
-
export const buildLLMPrompt = (template, detail, secondaryDetail, tertiaryDetail, 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.
|
|
20
|
-
|
|
21
|
-
══════════════════════════════════
|
|
22
|
-
📸 PHOTOGRAPHY SPECIFICATION
|
|
23
|
-
══════════════════════════════════
|
|
24
|
-
Base Concept: ${basePrompt}
|
|
25
|
-
Camera: Hasselblad X2D 100C, 120mm Macro lens, f/2.8
|
|
26
|
-
Target: Authentic, high-end editorial photography. Cinematic, naturalistic, slightly imperfect.
|
|
27
|
-
|
|
28
|
-
══════════════════════════════════
|
|
29
|
-
💎 SUBJECT & JEWELRY (HIGHEST PRIORITY)
|
|
30
|
-
══════════════════════════════════
|
|
31
|
-
${quantityConstraint}
|
|
32
|
-
CRITICAL: Describe the jewelry EXACTLY as seen in the reference images. Preserve all details: metal type, stone cuts, chain style, settings, etc.
|
|
33
|
-
Do NOT invent additional jewelry pieces or embellishments.
|
|
34
|
-
Do NOT add sparkles, glitter, or magical glow effects.
|
|
35
|
-
`;
|
|
36
|
-
// OCCASION CONTEXT - Give this prominence if selected
|
|
37
|
-
if (occasion?.promptDetails) {
|
|
38
|
-
instruction += `
|
|
39
|
-
══════════════════════════════════
|
|
40
|
-
🎭 OCCASION CONTEXT: ${occasion.name.toUpperCase()}
|
|
41
|
-
══════════════════════════════════
|
|
42
|
-
${occasion.description}
|
|
43
|
-
|
|
44
|
-
🏛️ SETTING & ENVIRONMENT:
|
|
45
|
-
${occasion.promptDetails.setting}
|
|
46
|
-
|
|
47
|
-
✨ ATMOSPHERE & MOOD:
|
|
48
|
-
${occasion.promptDetails.atmosphere}
|
|
49
|
-
|
|
50
|
-
🎨 COLOR PALETTE:
|
|
51
|
-
${occasion.promptDetails.colorPalette}
|
|
52
|
-
|
|
53
|
-
🌟 CULTURAL & THEMATIC ELEMENTS:
|
|
54
|
-
${occasion.promptDetails.culturalElements}
|
|
55
|
-
|
|
56
|
-
💄 MODEL STYLING & AESTHETIC:
|
|
57
|
-
${occasion.promptDetails.styling}
|
|
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 (skinTone && skinTone.id !== 'none' && !template.id.includes('flatlay')) {
|
|
95
|
-
modelDetails.push(`Model Skin Tone: ${skinTone.value}`);
|
|
96
|
-
}
|
|
97
|
-
if (hairColor && hairColor.id !== 'none' && !['hand_model', 'flatlay_creative', 'floating_minimal'].includes(template.id)) {
|
|
98
|
-
modelDetails.push(`Model Hair Color: ${hairColor.value}`);
|
|
99
|
-
}
|
|
100
|
-
if (modelDetails.length > 0) {
|
|
101
|
-
instruction += `
|
|
102
|
-
══════════════════════════════════
|
|
103
|
-
👤 MODEL SPECIFICATIONS
|
|
104
|
-
══════════════════════════════════
|
|
105
|
-
${modelDetails.join('\n')}
|
|
106
|
-
The model should look like a natural, real human.
|
|
107
|
-
`;
|
|
108
|
-
}
|
|
109
|
-
// SETTING & BACKGROUND (if not overridden by occasion)
|
|
110
|
-
if (!occasion && (background || backgroundType || vibe)) {
|
|
111
|
-
instruction += `
|
|
112
|
-
══════════════════════════════════
|
|
113
|
-
🎬 SETTING & ENVIRONMENT
|
|
114
|
-
══════════════════════════════════
|
|
115
|
-
`;
|
|
116
|
-
if (backgroundType) {
|
|
117
|
-
const bgValue = backgroundType.id === 'interior' ? getRandomLuxuryInterior() : backgroundType.value;
|
|
118
|
-
instruction += `Setting Type: ${bgValue}\n`;
|
|
119
|
-
}
|
|
120
|
-
if (background) {
|
|
121
|
-
if (template.id === 'flatlay_creative') {
|
|
122
|
-
instruction += `Secondary accent color/texture element to complement the main surface: ${background.value}\n`;
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
instruction += `Color Palette & Texture: ${background.value}\n`;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
if (vibe) {
|
|
129
|
-
instruction += `Photography Style & Mood: ${vibe.value}\n`;
|
|
130
|
-
}
|
|
131
|
-
instruction += `\nBackground Treatment: HEAVILY BLURRED (deep cinematic bokeh) to keep focus strictly on the jewelry.
|
|
132
|
-
`;
|
|
133
|
-
}
|
|
134
|
-
// TECHNICAL REQUIREMENTS
|
|
135
|
-
instruction += `
|
|
136
|
-
══════════════════════════════════
|
|
137
|
-
⚙️ TECHNICAL REQUIREMENTS
|
|
138
|
-
══════════════════════════════════
|
|
139
|
-
- Natural light reflections on jewelry (NO artificial sparkles or glow)
|
|
140
|
-
- Sharp focus on jewelry with shallow depth of field
|
|
141
|
-
- Authentic photographic quality (film grain acceptable)
|
|
142
|
-
- Professional color grading
|
|
143
|
-
- 2K resolution output quality
|
|
144
|
-
`;
|
|
145
|
-
// STYLE & POSE DIRECTION (for diversity in batch generation)
|
|
146
|
-
if (styleHint) {
|
|
147
|
-
instruction += `
|
|
148
|
-
══════════════════════════════════
|
|
149
|
-
🎭 STYLE & POSE DIRECTION
|
|
150
|
-
══════════════════════════════════
|
|
151
|
-
${styleHint}
|
|
152
|
-
IMPORTANT: Follow this specific direction to ensure variety across generated images.
|
|
153
|
-
`;
|
|
154
|
-
}
|
|
155
|
-
if (isVariation) {
|
|
156
|
-
instruction += `
|
|
157
|
-
══════════════════════════════════
|
|
158
|
-
🔄 VARIATION INSTRUCTION
|
|
159
|
-
══════════════════════════════════
|
|
160
|
-
Keep the SAME jewelry pieces and overall aesthetic, but RADICALLY CHANGE THE POSE.
|
|
161
|
-
- If previous shot was static, make this dynamic
|
|
162
|
-
- If previous was profile, try 3/4 view or different angle
|
|
163
|
-
- Change hand placement, head tilt, or body position
|
|
164
|
-
- Goal: Fresh perspective with different composition
|
|
165
|
-
`;
|
|
166
|
-
}
|
|
167
|
-
instruction += `
|
|
168
|
-
══════════════════════════════════
|
|
169
|
-
🚫 STRICT PROHIBITIONS
|
|
170
|
-
══════════════════════════════════
|
|
171
|
-
DO NOT add: fake sparkles, glitter particles, magical glows, lens flares, additional jewelry not in reference
|
|
172
|
-
DO NOT change: the jewelry design, metal type, stone cuts, or any jewelry characteristics
|
|
173
|
-
DO NOT use: artificial effects, over-processing, unrealistic elements
|
|
174
|
-
DO NOT describe: skin details like pores, skin texture, or hyper-realistic skin features - just let the model look naturally human
|
|
175
|
-
|
|
176
|
-
OUTPUT: A structured JSON-like prompt with distinct sections. Do not use a single block of text. Use the following format:
|
|
177
|
-
|
|
178
|
-
{
|
|
179
|
-
"Subject": "Detailed description of the jewelry and model...",
|
|
180
|
-
"Environment": "Setting, background, and atmosphere...",
|
|
181
|
-
"Lighting": "Lighting details...",
|
|
182
|
-
"Photography": "Camera and technical specs..."
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
Ensure the content of each section is rich, dense, and highly descriptive.
|
|
186
|
-
`;
|
|
187
|
-
return instruction;
|
|
188
|
-
};
|
|
189
|
-
export const buildSystemInstruction = (template, ethnicity) => {
|
|
190
|
-
const isFloating = template.id === 'floating_minimal';
|
|
191
|
-
const isFlatlay = template.id === 'flatlay_creative';
|
|
192
|
-
const isHandModel = template.id === 'hand_model';
|
|
193
|
-
const isMuseumExhibit = template.id === 'museum_exhibit';
|
|
194
|
-
const isRomance = template.id === 'romance_proposal';
|
|
195
|
-
const isRomanticMood = template.id === 'romantic_mood';
|
|
196
|
-
let llmSystemInstruction = '';
|
|
197
|
-
if (isRomanticMood) {
|
|
198
|
-
llmSystemInstruction = `You are a world-renowned still-life photographer and prop stylist for luxury jewelry and lifestyle brands.
|
|
199
|
-
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.
|
|
200
|
-
|
|
201
|
-
CRITICAL GUIDELINES:
|
|
202
|
-
1. **JEWELRY FIDELITY (TOP PRIORITY)**: The final image must contain ONLY the jewelry pieces visible in the reference images.
|
|
203
|
-
- Do NOT invent new pieces.
|
|
204
|
-
- Do NOT modify the design of the existing jewelry.
|
|
205
|
-
2. **PROP DISCIPLINE (CRITICAL)**: Use ONLY the specific prop/scene described in the user's customization choice. Do NOT add other props.
|
|
206
|
-
- If the user chose "candles", the scene is ONLY candles and the jewelry. Do NOT add roses, letters, or other objects.
|
|
207
|
-
- If the user chose "rose petals", the scene is ONLY rose petals and the jewelry. Do NOT add candles, letters, or other objects.
|
|
208
|
-
- Keep the scene focused and minimal — one prop theme, not a cluttered collection of romantic clichés.
|
|
209
|
-
3. **Subject**: NO human model, NO body parts, NO mannequins, NO hands.
|
|
210
|
-
4. **NO FAKE EFFECTS**: Strictly FORBID "sparkles", "glitter particles", "magical glow". Use natural light and genuine material textures.
|
|
211
|
-
5. **Realism**: Use product photography keywords (Hasselblad X2D 100C, 120mm Macro, f/2.8, shallow depth of field). Props must look real and tactile.
|
|
212
|
-
6. **Vibe**: Romantic, intimate, dreamy, feminine.
|
|
213
|
-
|
|
214
|
-
Output: A single, dense, highly descriptive English prompt. No introductions.`;
|
|
215
|
-
}
|
|
216
|
-
else if (isRomance) {
|
|
217
|
-
const ethnicityPrompt = (ethnicity && ethnicity.id !== 'none') ? ethnicity.value : "Professional couple";
|
|
218
|
-
llmSystemInstruction = `You are a world-renowned wedding and engagement photographer, known for capturing raw, authentic emotional moments.
|
|
219
|
-
Your task is to write a prompt for an AI image generator to create an INTIMATE, EMOTIONALLY POWERFUL photograph based on reference jewelry images.
|
|
220
|
-
|
|
221
|
-
CRITICAL GUIDELINES:
|
|
222
|
-
1. **JEWELRY FIDELITY (TOP PRIORITY)**: The final image must contain ONLY the jewelry pieces visible in the reference images.
|
|
223
|
-
- Do NOT invent new pieces (e.g. do not add a necklace if only a ring is provided).
|
|
224
|
-
- Do NOT modify the design of the existing jewelry.
|
|
225
|
-
2. **Subject**: Focus on the emotional authenticity of the moment. The jewelry (especially rings) should be prominently visible but feel naturally integrated.
|
|
226
|
-
- Hands, fingers, and body language are critical storytelling elements.
|
|
227
|
-
- Ethnicity context: ${ethnicityPrompt}
|
|
228
|
-
3. **NO FAKE EFFECTS**: Strictly FORBID "sparkles", "glitter particles", "magical glow". Natural light reflection only.
|
|
229
|
-
4. **Realism**: Use photography keywords (Contax 645, Zeiss Planar 80mm f/2, Kodak Portra 400).
|
|
230
|
-
5. **Vibe**: Tender, authentic, emotionally powerful, intimate. Real love story energy.
|
|
231
|
-
|
|
232
|
-
Output: A single, dense, highly descriptive English prompt. No introductions.`;
|
|
233
|
-
}
|
|
234
|
-
else if (isMuseumExhibit) {
|
|
235
|
-
llmSystemInstruction = `You are a world-renowned museum photographer and exhibition designer.
|
|
236
|
-
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.
|
|
237
|
-
|
|
238
|
-
CRITICAL GUIDELINES:
|
|
239
|
-
1. **JEWELRY FIDELITY (TOP PRIORITY)**: The final image must contain ONLY the jewelry pieces visible in the reference images.
|
|
240
|
-
- Do NOT invent new pieces.
|
|
241
|
-
- Do NOT modify the design of the existing jewelry.
|
|
242
|
-
2. **Subject**: The jewelry should be displayed as a priceless artifact worthy of the world's greatest museums.
|
|
243
|
-
- NO human model, NO body parts, NO mannequins.
|
|
244
|
-
3. **NO FAKE EFFECTS**: Strictly FORBID "sparkles", "glitter particles", "magical glow". Professional museum lighting only.
|
|
245
|
-
4. **Realism**: Use professional museum photography equipment and lighting terminology.
|
|
246
|
-
5. **Vibe**: Reverent, prestigious, archival quality, awe-inspiring.
|
|
247
|
-
|
|
248
|
-
Output: A single, dense, highly descriptive English prompt. No introductions.`;
|
|
249
|
-
}
|
|
250
|
-
else if (isFloating) {
|
|
251
|
-
llmSystemInstruction = `You are a world-renowned product photographer and creative director for luxury jewelry campaigns.
|
|
252
|
-
Your task is to write a prompt for an AI image generator to create a HYPER-REALISTIC product photograph based on reference images.
|
|
253
|
-
|
|
254
|
-
CRITICAL GUIDELINES:
|
|
255
|
-
1. **JEWELRY FIDELITY (TOP PRIORITY)**: The final image must contain ONLY the jewelry pieces visible in the reference images.
|
|
256
|
-
- Do NOT invent new pieces (e.g. do not add earrings if only a necklace is provided).
|
|
257
|
-
- Do NOT modify the design of the existing jewelry.
|
|
258
|
-
2. **Subject**: The jewelry should appear to be SUSPENDED in mid-air, floating, with NO human model, NO body parts, and NO mannequins. Focus on dramatic lighting, shadows, and a clean, minimalist composition.
|
|
259
|
-
3. **NO FAKE EFFECTS**: Strictly FORBID "sparkles", "glitter particles", "magical glow". Natural light reflection only.
|
|
260
|
-
4. **Realism**: Use photography keywords (Hasselblad X2D 100C, Macro Lens 120mm, f/2.8).
|
|
261
|
-
5. **Vibe**: Old money, elegant, classy, expensive, minimalist.
|
|
262
|
-
|
|
263
|
-
Output: A single, dense, highly descriptive English prompt. No introductions.`;
|
|
264
|
-
}
|
|
265
|
-
else if (isFlatlay) {
|
|
266
|
-
llmSystemInstruction = `You are a world-renowned product photographer and creative director for luxury jewelry campaigns.
|
|
267
|
-
Your task is to write a prompt for an AI image generator to create a HYPER-REALISTIC product photograph based on reference images.
|
|
268
|
-
|
|
269
|
-
CRITICAL GUIDELINES:
|
|
270
|
-
1. **JEWELRY FIDELITY (TOP PRIORITY)**: The final image must contain ONLY the jewelry pieces visible in the reference images.
|
|
271
|
-
- Do NOT invent new pieces (e.g. do not add earrings if only a necklace is provided).
|
|
272
|
-
- Do NOT modify the design of the existing jewelry.
|
|
273
|
-
2. **Subject**: The jewelry should be displayed as a creative still-life composition, with NO human model, NO body parts, and NO mannequins.
|
|
274
|
-
- The jewelry may be laid flat on a surface, OR elevated on geometric pedestals, cubes, stone risers, plinths, or sculptural props.
|
|
275
|
-
- Lighting should always look natural and photographic � soft studio light, window light, or gentle directional light. Shadows should feel organic, not artificial.
|
|
276
|
-
3. **NO FAKE EFFECTS**: Strictly FORBID "sparkles", "glitter particles", "magical glow", neon lighting, overly stylized color gels. Natural light reflection only.
|
|
277
|
-
4. **Realism**: Use photography keywords (Hasselblad X2D 100C, Macro Lens 120mm, f/2.8).
|
|
278
|
-
5. **Vibe**: Old money, elegant, classy, expensive, artistic.
|
|
279
|
-
|
|
280
|
-
Output: A single, dense, highly descriptive English prompt. No introductions.`;
|
|
281
|
-
}
|
|
282
|
-
else if (isHandModel) {
|
|
283
|
-
llmSystemInstruction = `You are a world-renowned product photographer and creative director for luxury jewelry campaigns.
|
|
284
|
-
Your task is to write a prompt for an AI image generator to create a HYPER-REALISTIC hand model photograph based on reference images.
|
|
285
|
-
|
|
286
|
-
CRITICAL GUIDELINES:
|
|
287
|
-
1. **JEWELRY FIDELITY (TOP PRIORITY)**: The final image must contain ONLY the jewelry pieces visible in the reference images.
|
|
288
|
-
- Do NOT invent new pieces (e.g. do not add earrings if only a ring is provided).
|
|
289
|
-
- Do NOT modify the design of the existing jewelry.
|
|
290
|
-
2. **FRAMING (CRITICAL)**: The image focuses on the hand, wrist, and forearm area.
|
|
291
|
-
- NO face, head, or shoulders visible.
|
|
292
|
-
- The forearm may be bare OR elegantly sleeved (luxurious fabrics like silk, cashmere, lace, velvet).
|
|
293
|
-
- When clothing is present, it should be high-end and sophisticated.
|
|
294
|
-
3. **Subject**: A model's hand(s) (age 20-30) with elegant, relaxed pose wearing the jewelry. Focus on authentic skin texture and natural nail appearance.
|
|
295
|
-
- If 3 or more jewelry pieces are provided, show BOTH hands to distribute the pieces naturally and elegantly across both hands. Avoid cramming all pieces onto a single hand.
|
|
296
|
-
- If 1-2 pieces, a single hand is fine.
|
|
297
|
-
4. **NO FAKE EFFECTS**: Strictly FORBID "sparkles", "glitter particles", "magical glow". Natural light reflection only.
|
|
298
|
-
5. **Realism**: Use photography keywords (Hasselblad X2D 100C, Macro Lens 120mm, f/2.8).
|
|
299
|
-
6. **Vibe**: Old money, elegant, classy, expensive, feminine.
|
|
300
|
-
|
|
301
|
-
Output: A single, dense, highly descriptive English prompt. No introductions.`;
|
|
302
|
-
}
|
|
303
|
-
else {
|
|
304
|
-
const ethnicityPrompt = (ethnicity && ethnicity.id !== 'none') ? ethnicity.value : "Professional female model";
|
|
305
|
-
llmSystemInstruction = `You are a world-renowned fashion photographer and creative director for Vogue Arabia and High Jewelry campaigns.
|
|
306
|
-
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.
|
|
307
|
-
|
|
308
|
-
CRITICAL GUIDELINES:
|
|
309
|
-
1. **JEWELRY FIDELITY (TOP PRIORITY)**: The final image must contain ONLY the jewelry pieces visible in the reference images.
|
|
310
|
-
- Do NOT invent new pieces (e.g. do not add earrings if only a necklace is provided).
|
|
311
|
-
- Do NOT modify the design of the existing jewelry.
|
|
312
|
-
- If one ring is provided, the model wears ONE ring.
|
|
313
|
-
2. **Subject**: ALWAYS a ${ethnicityPrompt} (age 20-30).
|
|
314
|
-
3. **NO FAKE EFFECTS**: Strictly FORBID "sparkles", "glitter particles", "magical glow". Natural light reflection only.
|
|
315
|
-
4. **Realism**: Use photography keywords (Hasselblad X2D 100C, Macro Lens 120mm, f/2.8).
|
|
316
|
-
5. **Vibe**: Old money, elegant, classy, expensive, feminine.
|
|
317
|
-
|
|
318
|
-
Output: A single, dense, highly descriptive English prompt. No introductions.`;
|
|
319
|
-
}
|
|
320
|
-
return llmSystemInstruction;
|
|
321
|
-
};
|
|
322
|
-
//# sourceMappingURL=buildPrompt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildPrompt.js","sourceRoot":"","sources":["../../src/prompt/buildPrompt.ts"],"names":[],"mappings":"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"}
|