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.
- package/.agents/skills/annotate-image/SKILL.md +99 -0
- package/.agents/skills/config-troubleshooting/SKILL.md +97 -0
- package/.agents/skills/generate-images/SKILL.md +667 -0
- package/.agents/skills/generate-video/SKILL.md +328 -0
- package/.agents/skills/image-grid/SKILL.md +96 -0
- package/.agents/skills/image-overlay/SKILL.md +66 -0
- package/.agents/skills/image-overlay/agents/openai.yaml +4 -0
- package/.agents/skills/image-overlay/scripts/overlay-image.js +218 -0
- package/.agents/skills/muse-management/SKILL.md +232 -0
- package/.agents/skills/refine-images/SKILL.md +192 -0
- package/.agents/skills/tired-girl/SKILL.md +131 -0
- package/.env.example +2 -0
- package/AGENTS.md +66 -0
- package/README.md +96 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +214 -0
- package/dist/cli.js.map +1 -0
- package/dist/clients/geminiClient.d.ts +37 -0
- package/dist/clients/geminiClient.js +129 -0
- package/dist/clients/geminiClient.js.map +1 -0
- package/dist/config/constants.d.ts +63 -0
- package/dist/config/constants.js +1005 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/options.d.ts +1 -0
- package/dist/config/options.js +2 -0
- package/dist/config/options.js.map +1 -0
- package/dist/config/templates.d.ts +3 -0
- package/dist/config/templates.js +4 -0
- package/dist/config/templates.js.map +1 -0
- package/dist/config/tiredGirl.d.ts +3 -0
- package/dist/config/tiredGirl.js +9 -0
- package/dist/config/tiredGirl.js.map +1 -0
- package/dist/image/annotate.d.ts +2 -0
- package/dist/image/annotate.js +119 -0
- package/dist/image/annotate.js.map +1 -0
- package/dist/image/grid.d.ts +2 -0
- package/dist/image/grid.js +44 -0
- package/dist/image/grid.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/pipelines/createMuse.d.ts +3 -0
- package/dist/pipelines/createMuse.js +49 -0
- package/dist/pipelines/createMuse.js.map +1 -0
- package/dist/pipelines/generateImages.d.ts +2 -0
- package/dist/pipelines/generateImages.js +140 -0
- package/dist/pipelines/generateImages.js.map +1 -0
- package/dist/pipelines/generateTiredGirl.d.ts +2 -0
- package/dist/pipelines/generateTiredGirl.js +73 -0
- package/dist/pipelines/generateTiredGirl.js.map +1 -0
- package/dist/pipelines/generateVideo.d.ts +2 -0
- package/dist/pipelines/generateVideo.js +27 -0
- package/dist/pipelines/generateVideo.js.map +1 -0
- package/dist/pipelines/refineImage.d.ts +2 -0
- package/dist/pipelines/refineImage.js +28 -0
- package/dist/pipelines/refineImage.js.map +1 -0
- package/dist/pipelines/resolve.d.ts +11 -0
- package/dist/pipelines/resolve.js +74 -0
- package/dist/pipelines/resolve.js.map +1 -0
- package/dist/pipelines/upscaleImage.d.ts +2 -0
- package/dist/pipelines/upscaleImage.js +23 -0
- package/dist/pipelines/upscaleImage.js.map +1 -0
- package/dist/prompt/buildPrompt.d.ts +4 -0
- package/dist/prompt/buildPrompt.js +322 -0
- package/dist/prompt/buildPrompt.js.map +1 -0
- package/dist/prompt/tiredGirlPrompt.d.ts +3 -0
- package/dist/prompt/tiredGirlPrompt.js +33 -0
- package/dist/prompt/tiredGirlPrompt.js.map +1 -0
- package/dist/storage/files.d.ts +15 -0
- package/dist/storage/files.js +34 -0
- package/dist/storage/files.js.map +1 -0
- package/dist/storage/museStore.d.ts +5 -0
- package/dist/storage/museStore.js +26 -0
- package/dist/storage/museStore.js.map +1 -0
- package/dist/types.d.ts +169 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/examples/generate.d.ts +1 -0
- package/examples/generate.js +28 -0
- package/examples/generate.js.map +1 -0
- package/examples/generate.ts +30 -0
- package/examples/muse.d.ts +1 -0
- package/examples/muse.js +18 -0
- package/examples/muse.js.map +1 -0
- package/examples/muse.ts +20 -0
- package/examples/video.d.ts +1 -0
- package/examples/video.js +18 -0
- package/examples/video.js.map +1 -0
- package/examples/video.ts +20 -0
- package/logo-round.png +0 -0
- package/logo.jpeg +0 -0
- package/package.json +27 -0
- package/src/cli.ts +259 -0
- package/src/clients/geminiClient.ts +168 -0
- package/src/config/constants.ts +1105 -0
- package/src/config/options.ts +15 -0
- package/src/config/templates.ts +4 -0
- package/src/config/tiredGirl.ts +11 -0
- package/src/image/annotate.ts +139 -0
- package/src/image/grid.ts +58 -0
- package/src/index.ts +27 -0
- package/src/pipelines/createMuse.ts +76 -0
- package/src/pipelines/generateImages.ts +203 -0
- package/src/pipelines/generateTiredGirl.ts +86 -0
- package/src/pipelines/generateVideo.ts +36 -0
- package/src/pipelines/refineImage.ts +36 -0
- package/src/pipelines/resolve.ts +88 -0
- package/src/pipelines/upscaleImage.ts +30 -0
- package/src/prompt/buildPrompt.ts +380 -0
- package/src/prompt/tiredGirlPrompt.ts +35 -0
- package/src/storage/files.ts +41 -0
- package/src/storage/museStore.ts +31 -0
- package/src/types.ts +198 -0
- 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
|
+
|