studio-lumiere-cli 0.1.0

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 (114) hide show
  1. package/.agents/skills/annotate-image/SKILL.md +99 -0
  2. package/.agents/skills/config-troubleshooting/SKILL.md +97 -0
  3. package/.agents/skills/generate-images/SKILL.md +667 -0
  4. package/.agents/skills/generate-video/SKILL.md +328 -0
  5. package/.agents/skills/image-grid/SKILL.md +96 -0
  6. package/.agents/skills/image-overlay/SKILL.md +66 -0
  7. package/.agents/skills/image-overlay/agents/openai.yaml +4 -0
  8. package/.agents/skills/image-overlay/scripts/overlay-image.js +218 -0
  9. package/.agents/skills/muse-management/SKILL.md +232 -0
  10. package/.agents/skills/refine-images/SKILL.md +192 -0
  11. package/.agents/skills/tired-girl/SKILL.md +131 -0
  12. package/.env.example +2 -0
  13. package/AGENTS.md +66 -0
  14. package/README.md +96 -0
  15. package/dist/cli.d.ts +2 -0
  16. package/dist/cli.js +214 -0
  17. package/dist/cli.js.map +1 -0
  18. package/dist/clients/geminiClient.d.ts +37 -0
  19. package/dist/clients/geminiClient.js +129 -0
  20. package/dist/clients/geminiClient.js.map +1 -0
  21. package/dist/config/constants.d.ts +63 -0
  22. package/dist/config/constants.js +1005 -0
  23. package/dist/config/constants.js.map +1 -0
  24. package/dist/config/options.d.ts +1 -0
  25. package/dist/config/options.js +2 -0
  26. package/dist/config/options.js.map +1 -0
  27. package/dist/config/templates.d.ts +3 -0
  28. package/dist/config/templates.js +4 -0
  29. package/dist/config/templates.js.map +1 -0
  30. package/dist/config/tiredGirl.d.ts +3 -0
  31. package/dist/config/tiredGirl.js +9 -0
  32. package/dist/config/tiredGirl.js.map +1 -0
  33. package/dist/image/annotate.d.ts +2 -0
  34. package/dist/image/annotate.js +119 -0
  35. package/dist/image/annotate.js.map +1 -0
  36. package/dist/image/grid.d.ts +2 -0
  37. package/dist/image/grid.js +44 -0
  38. package/dist/image/grid.js.map +1 -0
  39. package/dist/index.d.ts +12 -0
  40. package/dist/index.js +13 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/pipelines/createMuse.d.ts +3 -0
  43. package/dist/pipelines/createMuse.js +49 -0
  44. package/dist/pipelines/createMuse.js.map +1 -0
  45. package/dist/pipelines/generateImages.d.ts +2 -0
  46. package/dist/pipelines/generateImages.js +140 -0
  47. package/dist/pipelines/generateImages.js.map +1 -0
  48. package/dist/pipelines/generateTiredGirl.d.ts +2 -0
  49. package/dist/pipelines/generateTiredGirl.js +73 -0
  50. package/dist/pipelines/generateTiredGirl.js.map +1 -0
  51. package/dist/pipelines/generateVideo.d.ts +2 -0
  52. package/dist/pipelines/generateVideo.js +27 -0
  53. package/dist/pipelines/generateVideo.js.map +1 -0
  54. package/dist/pipelines/refineImage.d.ts +2 -0
  55. package/dist/pipelines/refineImage.js +28 -0
  56. package/dist/pipelines/refineImage.js.map +1 -0
  57. package/dist/pipelines/resolve.d.ts +11 -0
  58. package/dist/pipelines/resolve.js +74 -0
  59. package/dist/pipelines/resolve.js.map +1 -0
  60. package/dist/pipelines/upscaleImage.d.ts +2 -0
  61. package/dist/pipelines/upscaleImage.js +23 -0
  62. package/dist/pipelines/upscaleImage.js.map +1 -0
  63. package/dist/prompt/buildPrompt.d.ts +4 -0
  64. package/dist/prompt/buildPrompt.js +322 -0
  65. package/dist/prompt/buildPrompt.js.map +1 -0
  66. package/dist/prompt/tiredGirlPrompt.d.ts +3 -0
  67. package/dist/prompt/tiredGirlPrompt.js +33 -0
  68. package/dist/prompt/tiredGirlPrompt.js.map +1 -0
  69. package/dist/storage/files.d.ts +15 -0
  70. package/dist/storage/files.js +34 -0
  71. package/dist/storage/files.js.map +1 -0
  72. package/dist/storage/museStore.d.ts +5 -0
  73. package/dist/storage/museStore.js +26 -0
  74. package/dist/storage/museStore.js.map +1 -0
  75. package/dist/types.d.ts +169 -0
  76. package/dist/types.js +2 -0
  77. package/dist/types.js.map +1 -0
  78. package/examples/generate.d.ts +1 -0
  79. package/examples/generate.js +28 -0
  80. package/examples/generate.js.map +1 -0
  81. package/examples/generate.ts +30 -0
  82. package/examples/muse.d.ts +1 -0
  83. package/examples/muse.js +18 -0
  84. package/examples/muse.js.map +1 -0
  85. package/examples/muse.ts +20 -0
  86. package/examples/video.d.ts +1 -0
  87. package/examples/video.js +18 -0
  88. package/examples/video.js.map +1 -0
  89. package/examples/video.ts +20 -0
  90. package/logo-round.png +0 -0
  91. package/logo.jpeg +0 -0
  92. package/package.json +27 -0
  93. package/src/cli.ts +259 -0
  94. package/src/clients/geminiClient.ts +168 -0
  95. package/src/config/constants.ts +1105 -0
  96. package/src/config/options.ts +15 -0
  97. package/src/config/templates.ts +4 -0
  98. package/src/config/tiredGirl.ts +11 -0
  99. package/src/image/annotate.ts +139 -0
  100. package/src/image/grid.ts +58 -0
  101. package/src/index.ts +27 -0
  102. package/src/pipelines/createMuse.ts +76 -0
  103. package/src/pipelines/generateImages.ts +203 -0
  104. package/src/pipelines/generateTiredGirl.ts +86 -0
  105. package/src/pipelines/generateVideo.ts +36 -0
  106. package/src/pipelines/refineImage.ts +36 -0
  107. package/src/pipelines/resolve.ts +88 -0
  108. package/src/pipelines/upscaleImage.ts +30 -0
  109. package/src/prompt/buildPrompt.ts +380 -0
  110. package/src/prompt/tiredGirlPrompt.ts +35 -0
  111. package/src/storage/files.ts +41 -0
  112. package/src/storage/museStore.ts +31 -0
  113. package/src/types.ts +198 -0
  114. package/tsconfig.json +15 -0
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: annotate-image
3
+ description: Write text or banners over images with the annotate helper via SDK/CLI; use when you need captioned or labeled outputs.
4
+ ---
5
+
6
+ # Skill: Image Annotation (local-lumiere)
7
+
8
+ This skill describes how to write text over an image using the `annotate` helper in local-lumiere. It covers the SDK function, CLI usage, parameters, and defaults.
9
+
10
+ ---
11
+
12
+ ## Quick Start
13
+
14
+ ```
15
+ node dist/cli.js annotate \
16
+ --input path/to/image.png \
17
+ --output path/to/output.png \
18
+ --text "Your text here" \
19
+ --banner
20
+ ```
21
+
22
+ ---
23
+
24
+ ## SDK API
25
+
26
+ ```ts
27
+ import { annotateImage } from "./dist/index.js";
28
+
29
+ await annotateImage(
30
+ "path/to/input.png",
31
+ "path/to/output.png",
32
+ "Your text here",
33
+ {
34
+ fontFamily: "Montserrat",
35
+ fontSize: 48,
36
+ fontWeight: 700,
37
+ color: "#FFFFFF",
38
+ strokeColor: "rgba(0,0,0,0.6)",
39
+ strokeWidth: 4,
40
+ banner: true,
41
+ bannerColor: "rgba(0,0,0,0.45)",
42
+ bannerPadding: 24,
43
+ bannerRadius: 16,
44
+ position: "top-center",
45
+ padding: 32,
46
+ maxWidthRatio: 0.85
47
+ }
48
+ );
49
+ ```
50
+
51
+ ### Options
52
+
53
+ - `fontFamily`: font family name (default `Montserrat`)
54
+ - `fontSize`: size in px (default ~5% of min image dimension)
55
+ - `fontWeight`: font weight (default `700`)
56
+ - `color`: text color (default `#FFFFFF`)
57
+ - `strokeColor`: outline color (default `rgba(0,0,0,0.6)`)
58
+ - `strokeWidth`: outline width (default `fontSize * 0.08`, min 2)
59
+ - `banner`: enable semi-transparent banner (default `false`)
60
+ - `bannerColor`: banner color (default `rgba(0,0,0,0.45)`)
61
+ - `bannerPadding`: inner padding (default `fontSize * 0.6`)
62
+ - `bannerRadius`: corner radius (default `fontSize * 0.4`)
63
+ - `position`: `top-center|top-left|top-right|bottom-center|bottom-center-high|bottom-left|bottom-right|center` (default `top-center`)
64
+ - `padding`: distance from edges (default `fontSize * 0.8`)
65
+ - `maxWidthRatio`: max text width as ratio of image width (default `0.85`)
66
+
67
+ ---
68
+
69
+ ## CLI Usage
70
+
71
+ ```
72
+ node dist/cli.js annotate \
73
+ --input path/to/image.png \
74
+ --output path/to/output.png \
75
+ --text "Your text here" \
76
+ --position top-center \
77
+ --size 48 \
78
+ --color #FFFFFF \
79
+ --banner
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Notes
85
+
86
+ - The helper uses sharp + SVG overlay.
87
+ - If the font is not installed locally, the system falls back to a generic sans-serif.
88
+
89
+ End of skill.
90
+
91
+ ## Related Skills
92
+
93
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\generate-images.md`
94
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\generate-video.md`
95
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\refine-images.md`
96
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\muse-management.md`
97
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\tired-girl.md`
98
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\image-grid.md`
99
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\config-troubleshooting.md`
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: config-troubleshooting
3
+ description: Reference for local-lumiere configuration defaults, environment variables, outputs, and troubleshooting; use when setup or runtime issues occur.
4
+ ---
5
+
6
+ # Reference: Configuration & Troubleshooting (local-lumiere)
7
+
8
+ This file collects shared configuration guidance and common troubleshooting patterns for all local-lumiere skills.
9
+
10
+ ---
11
+
12
+ ## 1) Configuration Reference
13
+
14
+ ### 1.1 Environment Variables
15
+
16
+ - `GEMINI_API_KEY` (required)
17
+ - `LUMIERE_OUTPUT_DIR` (optional, default `outputs`)
18
+
19
+ ### 1.2 Runtime Config Defaults
20
+
21
+ ```ts
22
+ models.prompt = "gemini-3-flash-preview"
23
+ models.image = "gemini-3-pro-image-preview"
24
+ models.video = "veo-3.1-generate-preview"
25
+ retry.maxRetries = 3
26
+ retry.baseDelayMs = 1500
27
+ retry.maxDelayMs = 12000
28
+ ```
29
+
30
+ ### 1.3 Output Structure
31
+
32
+ ```
33
+ outputs/
34
+ generations/<timestamp>/
35
+ refinements/<timestamp>/
36
+ upscales/<timestamp>/
37
+ muses/<timestamp>/
38
+ videos/<timestamp>/
39
+ muses.json
40
+ ```
41
+
42
+ ---
43
+
44
+ ## 2) Common Errors and Fixes
45
+
46
+ ### 2.1 Missing API Key
47
+
48
+ **Symptom:** `Missing GEMINI_API_KEY in environment.`
49
+
50
+ **Fix:** Add `GEMINI_API_KEY=...` to your `.env` and ensure it’s loaded.
51
+
52
+ ### 2.2 Model Overload / 429 / 503
53
+
54
+ **Symptom:** Requests fail intermittently with overload/timeout errors.
55
+
56
+ **Fix:** Retry automatically (built-in). If persistent, lower batch sizes or wait and re-run.
57
+
58
+ ### 2.3 Empty Output
59
+
60
+ **Symptom:** `No image data returned from Gemini.`
61
+
62
+ **Fix:** Re-run with simpler prompts, ensure input images are valid and not corrupted.
63
+
64
+ ### 2.4 Bad Paths
65
+
66
+ **Symptom:** File not found errors for inputs.
67
+
68
+ **Fix:** Ensure all image paths are absolute or relative to the repo root.
69
+
70
+ ---
71
+
72
+ ## 3) Prompt Tips
73
+
74
+ - Be explicit about jewelry fidelity (no extra jewelry, no fake sparkles).
75
+ - Use clear lighting/mood cues.
76
+ - Keep instructions scoped to avoid unintended changes.
77
+
78
+ ---
79
+
80
+ ## 4) When to Disable Prompt Enhancement
81
+
82
+ If the enhanced prompt drifts too far from your intent, set `enhancePrompt: false` and use a precise base prompt via selections and style hints.
83
+
84
+ ---
85
+
86
+ End of reference.
87
+
88
+ ## Related Skills
89
+
90
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\generate-images.md`
91
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\generate-video.md`
92
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\refine-images.md`
93
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\muse-management.md`
94
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\tired-girl.md`
95
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\image-grid.md`
96
+ - `C:\\Users\\karim\\Documents\\local-lumiere\\.agents\\skills\\config-troubleshooting.md`
97
+