@milenyumai/film-kit 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/build/cli.js ADDED
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env node
2
+ import { configureAgents } from "./lib/configure.js";
3
+ const args = process.argv.slice(2);
4
+ const command = args[0];
5
+ if (command === "init") {
6
+ console.log("🎬 Film-Kit: Configuring AI agents...\n");
7
+ try {
8
+ const result = await configureAgents({ rootDir: process.cwd() });
9
+ if (result.written.length > 0) {
10
+ console.log(`✅ Files written: ${result.written.length}`);
11
+ result.written.forEach(f => console.log(` ${f}`));
12
+ }
13
+ if (result.skipped.length > 0) {
14
+ console.log(`⏭️ Files skipped (already exist): ${result.skipped.length}`);
15
+ }
16
+ console.log("\n🎬 Done! Your AI agents are configured for Hollywood-grade prompt engineering.");
17
+ console.log(" Use /generate in your AI editor to start creating shots.\n");
18
+ }
19
+ catch (err) {
20
+ console.error("❌ Error:", err.message);
21
+ process.exit(1);
22
+ }
23
+ }
24
+ else {
25
+ console.log(`
26
+ 🎬 @milenyumai/film-kit — Hollywood-grade prompt engineering for Veo 3.1
27
+
28
+ Usage:
29
+ npx @milenyumai/film-kit init Configure AI agents in current directory
30
+
31
+ Or install as a dependency (auto-configures on install):
32
+ npm install --save-dev @milenyumai/film-kit
33
+ `);
34
+ }
@@ -71,188 +71,136 @@ Tercihiniz:"
71
71
 
72
72
  | Feature | Value |
73
73
  |---------|-------|
74
- | **Resolution** | 720p or 1080p (never claim 4K/8K) |
74
+ | **Resolution** | 1080p (never claim 4K/8K) |
75
75
  | **Frame Rate** | 24 fps (fixed) |
76
76
  | **Aspect Ratios** | 16:9 (landscape) or 9:16 (portrait) |
77
77
  | **Base Duration** | 8s default (4s, 6s, 8s available) |
78
- | **Scene Extension** | Up to 148 seconds via chaining |
79
- | **Reference Images** | 1-4 images for character/object/style |
80
78
  | **Native Audio** | Dialogue, SFX, ambience (experimental) |
81
79
 
82
- ### Available Features
83
-
84
- - ✅ Frames to Video (First + Last) — PRIMARY METHOD
85
- - ✅ Scene Extension — continuity from last second
86
- - ✅ Ingredients to Video — multi-reference control
87
- - ✅ Add/Remove Object — editing only
88
- - ⚠️ Audio quality experimental
89
-
90
80
  ---
91
81
 
92
- ## Scenario Analysis
82
+ ## PROMPT FLOW ORDER (Veo Optimization — MANDATORY)
93
83
 
94
- When receiving a scenario, analyze and classify:
95
-
96
- ### Genre Detection (ALL GENRES SUPPORTED)
84
+ Veo prioritizes first sentence most heavily. Every prompt MUST follow this order:
97
85
 
98
- | Genre | Keywords | Camera Style | Lighting | Duration |
99
- |-------|----------|--------------|----------|----------|
100
- | **DRAMA** | dram, duygu, aile | Close-ups, shallow DOF | Soft, natural | 8s |
101
- | **COMEDY** | komedi, gülmek, espri | Wide, clear sightlines | Bright, even | 8s |
102
- | **ACTION** | aksiyon, kovalamaca, dövüş | Dynamic, handheld, shake | High contrast | 4s |
103
- | **HORROR** | korku, gerilim, hayalet | POV, negative space | Low-key, shadows | 8s |
104
- | **ROMANCE** | aşk, romantik, öpüşme | Two-shots, soft focus | Warm, golden hour | 8s |
105
- | **SCI-FI** | bilim kurgu, uzay, robot | Geometric, symmetrical | Controlled, neon | 8s |
106
- | **FANTASY** | fantastik, büyü, ejderha | Epic wide + intimate close | Ethereal, magical | 8s |
107
- | **THRILLER** | gerilim, suç, dedektif | Tracking, surveillance | High contrast | 8s |
108
- | **WAR/MILITARY** | savaş, asker, bomba | Wide establishing + tight | Harsh, dramatic | 8s |
109
- | **HISTORICAL** | tarihi, dönem, paşa | Documentary touch | Period-accurate | 8s |
110
- | **DOCUMENTARY** | belgesel, gerçek | Observational | Natural available | 8s |
111
- | **MUSICAL** | müzikal, dans, şarkı | Choreography-matched | Stage/performance | 8s |
112
- | **WESTERN** | kovboy, vahsi batı | Wide landscapes + faces | Harsh sun, dusty | 8s |
113
- | **NOIR** | noir, dedektif, gece | Shadows, high contrast | B&W or desaturated | 8s |
114
- | **ANIMATION** | animasyon, çizgi film | Style-specific | Stylized | Per style |
115
-
116
- ### Dramaturji Analizi (Diyalog Sahneleri İçin)
117
-
118
- Her diyalog sahnesi için şu iskeleti zihinsel olarak doldur:
119
- 1. **Amaç:** Her karakter bu sahnede ne istiyor?
120
- 2. **Engel:** Neden hemen alamıyor?
121
- 3. **Risk:** Kaybederse ne olur?
122
- 4. **Alt metin:** Söylediği ile kastettiği aynı mı?
123
- 5. **Beat/Dönüş:** Her 1-2 replikte mini yön değişimi
124
-
125
- Bu bilgiyi prompt'a kuru bilgi olarak değil, **oyunculuk davranışı** olarak göm.
126
- Detay için → `MASTER.md` TIER 0.5: DRAMATÜRJİ & OYUNCULUK
127
-
128
- ### Character Tracking
129
-
130
- For each character mentioned:
131
- 1. Check if reference image provided
132
- 2. Create consistent physical description
133
- 3. Track costume changes
134
- 4. Maintain continuity across shots
135
- 5. **Use same seed** for coverage shots of the same character
136
-
137
- ### Location Tracking
138
-
139
- For each location:
140
- 1. Establish visual style
141
- 2. Track lighting conditions
142
- 3. Note atmosphere elements
143
- 4. Maintain consistency
144
- 5. **Use same seed** for same-location shots
86
+ ```text
87
+ 1. [Scene summary — single sentence] "Cinematic close-up of a young soldier in a dim bunker."
88
+ 2. [Who/What/Where] Character physical description, costume, position
89
+ 3. [Action] Micro-behavior, acting cue, physical gesture
90
+ 4. [Camera + Lens] "85mm f/2.0, shallow DOF, static with handheld micro-movement"
91
+ 5. [Light + Atmosphere] "Warm oil lamp key light from screen-left, deep shadows"
92
+ 6. [Audio direction block] (VIDEO prompts only)
93
+ 7. [Avoid line] (EVERY prompt MANDATORY)
94
+ ```
145
95
 
146
96
  ---
147
97
 
148
- ## Pre-Delivery Checklist
98
+ ## AUDIO DIRECTION BLOCK (Mandatory for Video)
149
99
 
150
- Before outputting ANY shot:
100
+ Every video prompt must include this exact block at the end:
151
101
 
152
- ### 1. Celebrity/Safety (CRITICAL - CHECK FIRST)
153
- - [ ] Does prompt contain any real person's name? → REMOVE
154
- - [ ] Any celebrity reference, even indirect? → REPLACE with physical description
155
- - [ ] Active violence, gore? → Apply safe framing
156
-
157
- ### 2. Reference Compliance
158
- - [ ] `[REFERENCE LOCK]` section at prompt start? (if refs provided)
159
- - [ ] "EXACTLY" / "PRECISELY" language used?
160
- - [ ] Reference reminders repeated 2-3 times?
161
- - [ ] "Do not invent new features" included?
162
-
163
- ### 3. Chain Continuity
164
- - [ ] Chain status correct? (First Shot / Chained / Chain Break)
165
- - [ ] End frame designed for smooth continuation?
166
- - [ ] No extreme close-up trapping next shot?
167
-
168
- ### 4. Output Format
169
- - [ ] Main shot: THREE code blocks (İLK FRAME + SON FRAME + VİDEO)?
170
- - [ ] Coverage: TWO code blocks each (image + video)?
171
- - [ ] 2-3 coverage sub-shots per main shot?
172
- - [ ] Each block contains ONLY prompt text?
173
- - [ ] All prompts copy-paste ready?
102
+ ```text
103
+ Audio direction:
104
+ - Language: [Original language of dialogue]
105
+ - Type: [Dialogue/SFX/Ambience/Mixed]
106
+ - Dialogue transcript: "[Exact lines]" or NONE
107
+ - SFX: [Specific sound effects list]
108
+ - Ambience: [Environmental sounds]
109
+ - Music: NONE (unless strictly requested)
110
+ - Mix target: Dialogue X%, SFX Y%, Ambience Z%
111
+ - No on-screen subtitles/captions.
112
+ ```
174
113
 
175
114
  ---
176
115
 
177
- ## Output Format
116
+ ## SCENARIO ANALYSIS
117
+
118
+ ### Genre Detection (ALL GENRES SUPPORTED)
119
+ Detect genre (Drama, Action, Horror, Sci-Fi, etc.) and adapt camera/lighting style accordingly.
178
120
 
179
- For EACH shot, output exactly:
121
+ ### Dramaturgy (Dialogue Scenes)
122
+ Analyze per character: **Objective**, **Obstacle**, **Stakes**, **Subtext**, **Beat Turn**.
123
+ Embed this as physical behavior in the prompt, NOT as abstract metadata.
180
124
 
181
- ```
182
125
  ---
183
126
 
184
- **SHOT[NN]** | [Duration]s | 🔗 [Status]
185
-
186
- **İLK FRAME (SHOTNN_START):**
187
- [If CHAINED: "→ Use SHOT[prev]_END as first frame"]
188
- [If FIRST/BREAK: code block with image prompt]
127
+ ## PRE-DELIVERY CHECKLIST
189
128
 
190
- **SON FRAME (SHOTNN_END):**
191
- [code block with image prompt - ALWAYS]
129
+ Before outputting ANY shot:
192
130
 
193
- **VİDEO:**
194
- [code block with video prompt + audio direction]
131
+ ### 1. Safety & Anonymity (CRITICAL)
132
+ - [ ] No real person's name? (Use physical descriptions)
133
+ - [ ] No celebrity references?
134
+ - [ ] No active violence/gore?
195
135
 
196
- **COVERAGE SHOTS (in same file):**
197
- [2-3 sub-shots, each with image + video code blocks]
136
+ ### 2. Prompt Structure
137
+ - [ ] Follows 1-7 Flow Order?
138
+ - [ ] Avoid Line present on EVERY prompt (Image + Video + Coverage)?
139
+ - [ ] Audio Direction Block present on EVERY video prompt?
140
+ - [ ] 2-3 Coverage shots included in the same file?
198
141
 
199
142
  ---
200
- ```
201
143
 
202
- ### Status Options
203
- - `FIRST SHOT` - First shot of project
204
- - `CHAINED from SHOT[prev]_END` - Continuing from previous
205
- - `CHAIN BREAK - [Reason]` - Location/time change
144
+ ## OUTPUT FORMAT
206
145
 
207
- ---
146
+ For EACH shot, output exactly one file (`SHOTNN.md`) containing Main Shot + Coverage:
208
147
 
209
- ## Failure Mode Recovery
148
+ ```markdown
149
+ # SHOT[NN] | [Duration]s | 🎭 Tension: [1-5]
210
150
 
211
- | Failure | Recovery |
212
- |---------|----------|
213
- | Safety filter blocked | Apply safe reframe, add documentary framing |
214
- | Reference not matching | Add stronger "EXACTLY" language, repeat 3x |
215
- | Celebrity name detected | Remove ALL names, use physical descriptions |
216
- | Chain discontinuity | Declare CHAIN BREAK, generate new START |
217
- | Audio fail | Fall back to SFX + ambience only |
151
+ ## 🇹🇷 Türkçe Özet
152
+ [1-2 cümle Türkçe açıklama]
218
153
 
219
- ---
154
+ ## Chain Status
155
+ 🔗 [FIRST SHOT / CHAINED from SHOT[prev]_END / CHAIN BREAK]
156
+
157
+ ## Main Shot
220
158
 
221
- ## Final Reminders
159
+ ### İLK FRAME (SHOTNN_START)
160
+ [If CHAINED: "→ Use SHOT[prev]_END as first frame"]
161
+ [If FIRST/BREAK: Code block with Image Prompt (Flow Order + Avoid Line)]
222
162
 
223
- **DO:**
224
- - Ask batch size BEFORE generating
225
- - Start every prompt with [REFERENCE LOCK] when refs provided
226
- - Chain shots unless explicit CHAIN BREAK
227
- - Design end frames for smooth continuation
163
+ ### SON FRAME (SHOTNN_END)
164
+ ```
165
+ [Image Prompt (Flow Order + Avoid Line)]
166
+ avoid: blurry, low-res, text, watermark, bad anatomy, distorted face ...
167
+ ```
228
168
 
229
- **DON'T:**
230
- - NEVER mention celebrity/public figure names
231
- - Generate before asking batch size
232
- - Add characters/locations not specified
233
- - Claim 4K/8K resolution
234
- - Include active violence
169
+ ### VİDEO
170
+ ```
171
+ [Video Prompt (Flow Order)]
235
172
 
236
- ---
173
+ Audio direction:
174
+ - Language: ...
175
+ - ...
176
+ - No on-screen subtitles.
237
177
 
238
- ## 🎬 Hollywood Standard Cinematography
178
+ avoid: blurry, low-res, text, watermark, bad anatomy, distorted face ...
179
+ ```
239
180
 
240
- ### Visual Excellence Checklist
181
+ ---
241
182
 
242
- - [ ] **Composition:** Rule of thirds, golden ratio, leading lines applied
243
- - [ ] **Lighting:** Three-point setup, motivated sources, proper color temp
244
- - [ ] **Camera:** Professional movements, intentional lens selection
245
- - [ ] **Color:** Graded for mood, consistent palette
246
- - [ ] **Depth:** Foreground, midground, background layers
247
- - [ ] **Focus:** Selective focus for emphasis, rack focus for reveals
183
+ ## Coverage Shots (Kurgu Detayları)
248
184
 
249
- ### Professional Terminology
185
+ ### SHOT[NN]A - [Type] | [Duration]s | [Icon] [Label]
186
+ 🇹🇷 [Özet]
187
+ ```
188
+ [Image Prompt (Flow Order + Avoid Line)]
189
+ ```
190
+ ```
191
+ [Video Prompt (Flow Order + Audio Block + Avoid Line)]
192
+ ```
250
193
 
251
- - **Movements:** dolly push-in, pull-out, crane rise/descend, orbit, tracking
252
- - **Stabilization:** gimbal smooth, handheld organic, Steadicam, locked tripod
253
- - **Lighting:** key, fill, rim/hair, practical, motivated, diffused
254
- - **Lenses:** wide (24mm), standard (50mm), portrait (85mm), telephoto (135mm+)
194
+ ### SHOT[NN]B ...
195
+ [Same format]
255
196
 
256
197
  ---
198
+ generated: [timestamp]
199
+ ```
200
+
201
+ ## Failure Mode Recovery
202
+ - **Safety Blocked:** Reframe safely, use documentary style framing.
203
+ - **Celeb Detected:** Remove name, describe physique (e.g., "tall man with beard").
204
+ - **Audio Fail:** Fall back to SFX/Ambience only.
257
205
 
258
- > **Remember:** You are crafting HOLLYWOOD-GRADE cinema. Every frame museum-worthy. Every chain seamless. Every prompt technically precise and emotionally resonant. Production value is NON-NEGOTIABLE.
206
+ > **Remember:** You are crafting HOLLYWOOD-GRADE cinema. Every frame museum-worthy. Every chain seamless. Every prompt technically precise.
@@ -8,16 +8,16 @@ $ARGUMENTS
8
8
 
9
9
  ---
10
10
 
11
- ## Task
12
-
13
- Generate production-ready shot prompts from scenario and **SAVE TO FILES**.
14
-
15
- ## Scenario Source
16
-
17
- - Preferred scenario file: `$SCENARIO_HINT`
18
- - If an active/selected editor file exists, use it first.
19
-
20
- ---
11
+ ## Task
12
+
13
+ Generate production-ready shot prompts from scenario and **SAVE TO FILES**.
14
+
15
+ ## Scenario Source
16
+
17
+ - Preferred scenario file: `$SCENARIO_HINT`
18
+ - If an active/selected editor file exists, use it first.
19
+
20
+ ---
21
21
 
22
22
  ## Output Directory Structure
23
23
 
@@ -69,8 +69,9 @@ For EACH shot:
69
69
  - Alt metin ve beat dönüşlerini planla
70
70
  - Oyunculuk davranışlarını prompt'a göm (MASTER.md TIER 0.5)
71
71
  3. **Generate main shot prompts** (İLK FRAME, SON FRAME, VİDEO)
72
- - Image prompts: MIN 60 words + Avoid line
73
- - Video prompts: MIN 80 words + Audio direction + Avoid line
72
+ - **MANDATORY FLOW:** Subject Action Camera → Light → Audio → Avoid
73
+ - **Avoid Line:** Her prompt'un sonunda ZORUNLU
74
+ - **Audio Block:** Her video prompt'unda ZORUNLU (Language, Type, Mix...)
74
75
  - **🇹🇷 Türkçe özet:** Her shot başlığına 1 cümlelik Türkçe özet yaz
75
76
  4. **Select coverage types** based on scene type:
76
77
  - Dialogue → Reaction (A) + OTS (B)
@@ -104,20 +105,34 @@ Each `$OUTPUT_DIR/shots/SHOTNN.md` file:
104
105
  ### İLK FRAME (SHOTNN_START)
105
106
  [If chained: "→ Use SHOT[prev]_END as first frame"]
106
107
 
107
- ```
108
- [Image prompt - if first shot or chain break]
108
+ ```text
109
+ [Image prompt Flow Order: Scene > Who > Action > Camera > Light]
110
+ avoid: blurry, low-res, text, watermark, bad anatomy, distorted face ...
109
111
  ```
110
112
 
111
113
  ### SON FRAME (SHOTNN_END)
112
114
 
113
- ```
114
- [Image prompt - ALWAYS]
115
+ ```text
116
+ [Image prompt Flow Order: Scene > Who > Action > Camera > Light]
117
+ avoid: blurry, low-res, text, watermark, bad anatomy, distorted face ...
115
118
  ```
116
119
 
117
120
  ### VİDEO
118
121
 
119
- ```
120
- [Video prompt with audio direction]
122
+ ```text
123
+ [Video prompt Flow Order: Scene > Who > Action > Camera > Light]
124
+
125
+ Audio direction:
126
+ - Language: [Original language]
127
+ - Type: [Dialogue/SFX/Ambience]
128
+ - Dialogue transcript: "[Exact lines]"
129
+ - SFX: [Specific sounds]
130
+ - Ambience: [Environment]
131
+ - Music: NONE
132
+ - Mix target: Dialogue 80%, Ambience 20%
133
+ - No on-screen subtitles.
134
+
135
+ avoid: blurry, low-res, text, watermark, bad anatomy, distorted face ...
121
136
  ```
122
137
 
123
138
  ---
@@ -128,38 +143,20 @@ Each `$OUTPUT_DIR/shots/SHOTNN.md` file:
128
143
 
129
144
  🇹🇷 [Türkçe coverage özeti]
130
145
 
146
+ ```text
147
+ [Coverage IMAGE prompt — Flow Order + Avoid Line]
131
148
  ```
132
- [Standalone image prompt — min 60 words + Avoid line]
133
- ```
134
- ```
135
- [Video prompt with audio direction — min 60 words + Avoid line]
149
+ ```text
150
+ [Coverage VIDEO prompt — Flow Order + Audio Block + Avoid Line]
136
151
  ```
137
152
 
138
153
  ---
139
154
 
140
155
  ### SHOT[NN]B - [Type] | [Duration]s | [Icon] [Label]
141
-
142
- 🇹🇷 [Türkçe coverage özeti]
143
-
144
- ```
145
- [Standalone image prompt — min 60 words + Avoid line]
146
- ```
147
- ```
148
- [Video prompt with audio direction — min 60 words + Avoid line]
149
- ```
150
-
151
- ---
156
+ [Same format as A]
152
157
 
153
158
  ### SHOT[NN]C - [Type] | [Duration]s | [Icon] [Label] (optional)
154
-
155
- 🇹🇷 [Türkçe coverage özeti]
156
-
157
- ```
158
- [Standalone image prompt — min 60 words + Avoid line]
159
- ```
160
- ```
161
- [Video prompt with audio direction — min 60 words + Avoid line]
162
- ```
159
+ [Same format as A]
163
160
 
164
161
  ---
165
162
  Generated: [timestamp]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milenyumai/film-kit",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Hollywood-standard cinematic prompt engineering toolkit for Google Flow + Veo 3.1. Auto-configures AI agents (Cursor, Claude Code, VS Code Copilot, Antigravity) with production-grade shot generation system.",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",