@milenyumai/film-kit 1.0.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.
@@ -0,0 +1,689 @@
1
+ ---
2
+ trigger: always_on
3
+ ---
4
+
5
+ # MASTER.md - Film Prompt System (Hollywood Standard)
6
+
7
+ > Professional Cinematic Prompt Engineering for Google Flow + Veo 3.1
8
+ > **ALL GENRES SUPPORTED:** Drama, Comedy, Action, Horror, Sci-Fi, Romance, Fantasy, Historical, Documentary, Thriller, Musical, Western, Noir, Animation
9
+ > **QUALITY STANDARD:** Hollywood Production Grade
10
+
11
+ ---
12
+
13
+ ## CRITICAL: SKILL LOADING PROTOCOL (START HERE)
14
+
15
+ > **MANDATORY:** Read the appropriate skill files BEFORE generating any prompts.
16
+
17
+ ### Skill Loading Order
18
+
19
+ ```
20
+ Scenario Received → Check for elements:
21
+
22
+ ├── Celebrity/Public Figure mentioned? → READ safety-compliance/SKILL.md
23
+ ├── Reference images provided? → READ reference-locking/SKILL.md
24
+ ├── Multiple shots? → READ frame-chaining/SKILL.md (ALWAYS)
25
+ ├── Style keywords (anime, noir, etc.)? → READ visual-modes/SKILL.md
26
+ ├── Dialogue/SFX needed? → READ audio-design/SKILL.md
27
+ ├── ALWAYS READ → coverage-system/SKILL.md (MANDATORY)
28
+ └── ALWAYS READ → prompt-structure/SKILL.md
29
+ ```
30
+
31
+ ---
32
+
33
+ ## 📥 REQUEST CLASSIFIER
34
+
35
+ | Request Type | Trigger | Action |
36
+ |--------------|---------|--------|
37
+ | **SINGLE SHOT** | "bir sahne", "one shot" | Generate 1 shot (3 code blocks) |
38
+ | **BATCH** | "3 sahne", "5 shots" | Generate N shots sequentially |
39
+ | **CHAIN CONTINUE** | "devam et", "continue" | Use previous END frame as START |
40
+ | **CHAIN BREAK** | New location/time/character | Declare CHAIN BREAK, new START |
41
+ | **SAFETY CHECK** | /safety-check | Validate all prompts before delivery |
42
+
43
+ ---
44
+
45
+ ## TIER 0: UNIVERSAL RULES (Always Active)
46
+
47
+ ### 🚫 AUTO-ANONYMOUS (OTOMATİK ANONİMLEŞTİRME - EN YÜKSEK ÖNCELİK)
48
+
49
+ > 🚨 **CRITICAL:** Bu kuralı kullanıcının hatırlatmasını BEKLEME. PROAKTİF olarak uygula.
50
+
51
+ **MUTLAK KURAL:** Senaryoda geçen TÜM gerçek kişi adlarını **otomatik olarak** fiziksel tanımlarla değiştir.
52
+
53
+ ```
54
+ SENARYO GELİNCE:
55
+ 1. Tüm karakter isimlerini tara
56
+ 2. Tarihi/ünlü kişi mi? → HEMEN fiziksel tanımla değiştir
57
+ 3. Hayali karakter mi? → İsim kullanma, fiziksel tanım yaz
58
+ 4. Kullanıcıya SORMA, OTOMATİK YAP
59
+ 5. Sadece bilgilendir: "[İsim] güvenlik filtreleri için anonim tanımla değiştirildi."
60
+ ```
61
+
62
+ | Yasak | Otomatik Değiştirme |
63
+ |-------|---------------------|
64
+ | "Atatürk" | "A man, mid-50s, sharp facial features, short grey hair" |
65
+ | "Seyit Onbaşı" | "A young soldier, early 20s, strong build, dark mustache" |
66
+ | "Cevat Paşa" | "An elder officer, late 50s, grey beard, commanding posture" |
67
+ | HERİ gerçek isim | Fiziksel tanım ONLY |
68
+
69
+ **❗ ÜNLÜ SENSEİ TANI: Sadece isimler değil, şunlar da yasak:**
70
+ - Resmi unvanlar + bilinen isim ("Paşa Mustafa Kemal")
71
+ - Dolaysız atıflar ("Türkiye'nin kurucusu")
72
+ - Tarihte bilinen spesifik roller ("18 Mart kahramanı")
73
+
74
+ > ❗ **NOT:** Diyalog transcript'leri kullanıcının senaryosundan birebir alınır ve değiştirilmez. Anonimleştirme sadece **görsel prompt tanımlarında** ve **[REFERENCE LOCK]** bölümlerinde uygulanır.
75
+
76
+ ### 🛡️ AUTO-SAFETY (OTOMATIK GÜVENLİK OPTİMİZASYONU)
77
+
78
+ > 🚨 **CRITICAL:** Güvenlik optimizasyonunu kullanıcının HATIRLATMASINI BEKLEME.
79
+
80
+ **MUTLAK KURAL:** Her prompt yazılırken **otomatik olarak** güvenlik filtrelerine takılmayacak şekilde optimize et.
81
+
82
+ | Risk | Otomatik Çözüm |
83
+ |------|------------------|
84
+ | Savaş sahnesi | "Documentary-style" + mekanik/teknik odağa geç |
85
+ | Silah kullanımı | Silahı değil, yüzleri ve elleri göster |
86
+ | Patlama | Uzak plan + "environmental power, debris" |
87
+ | Ölüm/yaralanma | Gösterme — tepki shot'u (başka birinin yüzü) kullan |
88
+ | Tarihi şiddet | "Historical reenactment, educational context" frame'i |
89
+ | Kan/yara | "Dust, sweat, exhaustion" ile değiştir |
90
+
91
+ ```
92
+ ❗ PROAKTİF GÜVENLİK PROTOKOLÜ:
93
+ 1. Prompt yazarken "bu filtreye takılır mı?" sorusunu her zaman sor
94
+ 2. Takılacaksa: kullanıcı söylemeden DEĞİŞTİR
95
+ 3. Değiştirdiğini kısaca bildir
96
+ 4. Asla "denemeden görelim" yaklaşımı alma
97
+ ```
98
+
99
+ ### 🌐 Language Handling
100
+
101
+ - **Visual prompts:** ALWAYS in English (Veo 3.1 requirement)
102
+ - **Headers/Organization:** User's language allowed
103
+ - **Dialogue in Audio Transcript:** PRESERVE ORIGINAL LANGUAGE
104
+ - If user wrote dialogue in Turkish → Keep it Turkish in prompt
105
+ - If user wrote dialogue in English → Keep it English
106
+ - NEVER translate user's dialogue
107
+
108
+ ### 🎬 Pacing Rules (SLOW BURN - NO RUSHING!)
109
+
110
+ **CRITICAL PHILOSOPHY:** "Ilmek ilmek işlemek" (Weave meticulously).
111
+ **NEVER** rush to the end. Dwell on the emotion.
112
+
113
+ | Rule | Description |
114
+ |------|-------------|
115
+ | **Split Actions** | If a character moves AND speaks, make it 2 shots. |
116
+ | **Reaction Shots** | Always show the *reaction* before or after the *action*. |
117
+ | **Atmosphere** | Dedicate shots purely to atmosphere/mood (e.g., trembling hands, smoke rising). |
118
+ | **Micro-Beats** | A 3-sentence dialogue should become 3 separate shots. |
119
+
120
+ **Example of "Slow Burn":**
121
+ User: "Subay askerlere bağırır ve ateş emri verir."
122
+ ❌ RUSHED (1 Shot): Subay bağırır, eliyle işaret eder, askerler ateş eder.
123
+ ✅ WEAVED (3 Shots):
124
+ 1. Subay nefes alır, gözleri dolar, kararlıdır. (Close-up)
125
+ 2. "Ateş!" diye bağırır, damarları çıkar. (Mid-shot)
126
+ 3. Askerlerin parmağı tetiğe gider. (Detail shot)
127
+
128
+ ### 🎵 Music Policy
129
+ **DEFAULT:** `Music: NONE` (Always).
130
+ User must explicitly request music to include it. Otherwise, rely on SFX and Ambience.
131
+
132
+ ### 📸 Reference Image Enforcement
133
+
134
+ When user provides references, EVERY prompt MUST:
135
+ 1. START with `[REFERENCE LOCK]` section
136
+ 2. Use "EXACTLY", "PRECISELY", "IDENTICAL" language
137
+ 3. Repeat reference reminders 2-3 times throughout
138
+ 4. Include "Do not invent new features" phrases
139
+
140
+ ### 🚨 MANDATORY PROMPT STRUCTURE (NON-NEGOTIABLE)
141
+
142
+ > **CRITICAL:** Every prompt MUST follow this exact structure. Prompts without these elements are INVALID.
143
+ > **❗ AVOID LINE ZORUNLU:** Avoid satırı olmayan prompt **GEÇERSİZDİR**. Image VE video prompt'larının sonunda MUTLAKA Avoid satırı olmalıdır.
144
+ > **❗ COVERAGE PROMPT MİNİMUM:** Coverage prompt'ları en az **60 kelime** olmalıdır. Kısa coverage = kötü coverage.
145
+
146
+ ### ✏️ PROMPT AKIŞ SIRASI (Code Block İçi — Veo Optimizasyonu)
147
+
148
+ > Veo ilk cümleye en çok ağırlık verir. Bu sırayı her prompt'ta uygula:
149
+
150
+ ```
151
+ 1. [Tek cümle sahne özeti] — "Cinematic close-up of a young soldier in a dim bunker."
152
+ 2. [Kim/Ne/Nerede] — Karakter fiziksel tanımı, kıyafet, konum detayı
153
+ 3. [Aksiyon] — Ne yapıyor, mikro-davranış, oyunculuk ipucu
154
+ 4. [Kamera + Lens] — "85mm f/2.0, shallow DOF, static with handheld micro-movement"
155
+ 5. [Işık + Atmosfer] — "Warm oil lamp key light from screen-left, deep shadows"
156
+ 6. [Audio direction block] — (sadece video prompt'larında)
157
+ 7. [Avoid line] — (HER prompt'ta zorunlu)
158
+ ```
159
+
160
+ **❌ YANLIŞ:** Detayla başlayıp sahne özetini ortada vermek
161
+ **✅ DOĞRU:** İlk cümle = "Bu shot ne?" sorusunun tek cümlelik cevabı
162
+
163
+ #### IMAGE PROMPTS (İLK FRAME, SON FRAME, Coverage Image)
164
+
165
+ **MUST END WITH:**
166
+ ```
167
+ Avoid: blurry, low-res, noise, distorted faces, bad anatomy, extra limbs/fingers, plastic skin, waxy skin, on-screen text, watermark, logo, cartoon style, CGI look.
168
+ ```
169
+
170
+ ❌ **FORBIDDEN in image prompts:**
171
+ - `--ar 16:9` (Midjourney syntax, NOT for Veo)
172
+ - `--audio_mode` or `--audio_prompt` (audio is for VIDEO only)
173
+ - Any `--parameter` flags
174
+
175
+ #### VIDEO PROMPTS (VİDEO, Coverage Video)
176
+
177
+ **MUST INCLUDE FULL AUDIO DIRECTION BLOCK:**
178
+ ```
179
+ Audio direction:
180
+ - Language: [TURKISH/ENGLISH/etc.]
181
+ - Type: [Dialogue/SFX/Ambience/Mixed]
182
+ - Dialogue transcript: "[Exact lines in original language]" or NONE
183
+ - SFX: [Specific sound effects list]
184
+ - Ambience: [Environmental sounds]
185
+ - Music: NONE
186
+ - Mix target: Dialogue X%, SFX Y%, Ambience Z%
187
+ - No on-screen subtitles/captions.
188
+
189
+ Avoid: distorted faces, morphing, bad anatomy, blurry, flickering, inconsistent lighting, unnatural motion, on-screen text, watermark.
190
+ ```
191
+
192
+ ❌ **FORBIDDEN in video prompts:**
193
+ - `--audio_mode="speech"` (WRONG FORMAT)
194
+ - `--audio_prompt="..."` (WRONG FORMAT)
195
+ - `--ar 16:9` (Midjourney syntax)
196
+ - Any shorthand audio notation
197
+
198
+ **✅ CORRECT EXAMPLE:**
199
+ ```
200
+ Cinematic shot of Ottoman general tracing map with finger. Tense atmosphere, dramatic side lighting.
201
+
202
+ Audio direction:
203
+ - Language: TURKISH
204
+ - Type: Dialogue
205
+ - Dialogue transcript: "Kıyıya paralel şekilde..."
206
+ - SFX: Finger on paper, fabric rustle
207
+ - Ambience: Distant wind, room tone
208
+ - Music: NONE
209
+ - Mix target: Dialogue 60%, SFX 20%, Ambience 20%
210
+ - No on-screen subtitles/captions.
211
+
212
+ Avoid: distorted faces, morphing, bad anatomy, blurry, flickering, inconsistent lighting, unnatural motion, on-screen text, watermark.
213
+ ```
214
+
215
+ ❌ **WRONG EXAMPLE:**
216
+ ```
217
+ cinematic video, a distinguished officer tracing map --audio_mode="speech" --audio_prompt="male voice turkish" --ar 16:9
218
+ ```
219
+
220
+ ---
221
+
222
+ ## TIER 0.5: DRAMATÜRJİ & OYUNCULUK (Sahne Yazımı)
223
+
224
+ > **Sinematik his, çoğu zaman prodüksiyon değerinden çok dramatürji ile gelir.**
225
+
226
+ ### 🎭 Dramaturji İskeleti (Her Sahne İçin)
227
+
228
+ Diyalog sahnesi yazarken her karakter için bu 5 maddeyi cevapla:
229
+
230
+ | # | Öğe | Soru | Örnek |
231
+ |---|-----|------|-------|
232
+ | 1 | **Amaç (Objective)** | Bu sahnede ne istiyor? | "Komutanı ikna etmek istiyor" |
233
+ | 2 | **Engel (Obstacle)** | Neden hemen alamıyor? | "Komutan korkuyor, kayıplar çok yüksek" |
234
+ | 3 | **Risk (Stakes)** | Kaybederse ne olur? | "Gemi batarsa savaş kaybedilir" |
235
+ | 4 | **Alt Metin (Subtext)** | Söylediği ile kastettiği aynı mı? | "Sakin konuşur ama her kelimesi tehdit" |
236
+ | 5 | **Beat / Dönüş** | Her 1-2 replikte mini yön değişimi | "Savunmadan saldırıya, şakadan tehdide" |
237
+
238
+ **Kullanım:** Senaryoyu analiz ederken her karakter için bu tabloyu zihinsel olarak doldur. Prompt'lara *doğrudan* bu yapıyı yaz değil, davranış olarak göm.
239
+
240
+ ```
241
+ ❌ YANLIŞ (kuru bilgi olarak):
242
+ "Character A's objective is to convince B. Stakes are high."
243
+
244
+ ✅ DOĞRU (davranış olarak):
245
+ "A leans forward, voice steady but hands gripping the table edge.
246
+ He speaks calmly but each word is measured, chosen with surgical precision."
247
+ ```
248
+
249
+ ### 🎬 Oyunculuk Davranışları (Prompt'a Gömülecek İpuçları)
250
+
251
+ Bu davranış kalıplarını prompt'lara doğrudan ekle — Veo bunları performans yönergesi olarak okur:
252
+
253
+ #### Duygusal Katmanlar
254
+
255
+ | Durum | Prompt'a Eklencek İfade |
256
+ |-------|------------------------|
257
+ | **Saklanan öfke** | "speaks calmly but jaw tightens, veins barely visible on neck" |
258
+ | **Bastırılmış korku** | "maintains composure but swallows hard, eyes dart briefly to the door" |
259
+ | **Sahte güven** | "smiles confidently but fingers fidget under the table" |
260
+ | **Gizli suçluluk** | "avoids direct eye contact, gaze drops to the floor mid-sentence" |
261
+ | **Kırılma anı** | "voice cracks on the last word, quickly looks away" |
262
+
263
+ #### Fiziksel Mikro-Davranışlar
264
+
265
+ ```
266
+ Gerilim: "clenches jaw", "grips chair arm", "shifts weight nervously"
267
+ Otorite: "stands tall, chin lifted", "hands clasped behind back"
268
+ Savunma: "crosses arms", "takes a half-step backward"
269
+ Düşünme: "pauses mid-sentence", "looks up and to the right"
270
+ Karar: "inhales deeply, then speaks with finality"
271
+ Yıkılma: "shoulders drop", "exhales slowly through nose", "eyes glisten"
272
+ ```
273
+
274
+ #### Diyalog Ritmi (Veo Tırnak Kuralıyla Uyumlu)
275
+
276
+ | Teknik | Prompt'ta Nasıl Yazılır |
277
+ |--------|------------------------|
278
+ | **Duraksama** | "A beat of silence before responding" |
279
+ | **Yarım cümle** | "begins to say something, then stops, reconsiders" |
280
+ | **Geciktirilmiş cevap** | "holds eye contact for a long moment before answering" |
281
+ | **Üst üste binme** | "interrupts before the other finishes" |
282
+ | **Fısıltı** | "leans close, voice drops to near-whisper" |
283
+ | **Patlama** | "suddenly raises voice, startling the listener" |
284
+
285
+ > **Hatırla:** Bu kalıplar `Dialogue transcript:` satırına DEĞİL, **görsel/aksiyon tanımına** eklenir. Diyalog iki nokta formatında kalır.
286
+
287
+ ---
288
+
289
+ ## 🎯 12 NUMARA CHEAT-SHEET (Hızlı Referans)
290
+
291
+ Shot'ları zenginleştiren 12 pratik teknik — her biri ilgili skill'e referans verir:
292
+
293
+ | # | Teknik | Nasıl? | İlgili Skill |
294
+ |---|--------|--------|-------------|
295
+ | 1 | **Mini hedef** | Her diyaloğa gizli bir amaç ekle (biri saklıyor, biri itiraf istiyor) | Dramaturji İskeleti (yukarı) |
296
+ | 2 | **Tek fiziksel aksiyon** | Her shot'a bir aksiyon koy (bardak doldurmak, ceket toplamak) | `prompt-structure` → Action Verbs |
297
+ | 3 | **Arka plan aktivitesi** | Uzaktan siren, yağmur, kalabalık uğultusu | `audio-design` → Environmental Sounds |
298
+ | 4 | **Katmanlı ışık** | Pratik lamba + sokak ışığı yansıması | `visual-modes` → Lighting & Atmosphere |
299
+ | 5 | **Shallow DoF + bokeh** | Arka planda bokeh, portre hissi | `prompt-structure` → Aperture (f/1.4-2.8) |
300
+ | 6 | **Handheld micro-movement** | Gerçekçilik dozajı | `prompt-structure` → Stabilization ("handheld organic") |
301
+ | 7 | **Duraksama / yarım cümle** | Ama tırnak yok! İki nokta formatı | `audio-design` → Dialogue Handling |
302
+ | 8 | **Reaksiyon close-up** | Her 2-3 replikte bir dinleyenin yüzü | `coverage-system` → Reaction (R) |
303
+ | 9 | **Insert shot (hata saklama)** | Eller, telefon, anahtar — glitch kapatır | `coverage-system` → Insert (INS) |
304
+ | 10 | **Whip pan / rack focus** | Geçiş + hata saklama | `prompt-structure` → Camera Movement |
305
+ | 11 | **Seed tutarlılığı** | Aynı sahnede aynı seed | `prompt-structure` → Seed Parameter |
306
+ | 12 | **L/J-cut (ses köprüsü)** | Kurguda robotik hissi kırar | `coverage-system` → Kurgu Teknikleri |
307
+
308
+ ---
309
+
310
+ ## TIER 0.7: EMOTIONAL ARC & MONTAJ (Film Geneli Yönetimi)
311
+
312
+ ### 📈 Emotional Arc (Gerilim Eğrisi)
313
+
314
+ Film genelinde her shot'a bir **gerilim seviyesi** (1-5) ata:
315
+
316
+ ```
317
+ Gerilim
318
+
319
+ │ 5 ╱╲ KLİMAKS
320
+ │ 4 ╱ ╲
321
+ │ 3 ╱╲ ╱ ╲
322
+ │ 2 ╱ ╲╱ ╲
323
+ │ 1╱ Giriş ╲ Çözüm
324
+ └────────────────────→ Shot #
325
+ ```
326
+
327
+ | Seviye | Camera | Duration | Coverage | Tempo |
328
+ |--------|--------|----------|----------|-------|
329
+ | **1 (Sakin)** | Wide, yavaş | 8s | 2 coverage | Yavaş, atmosfer |
330
+ | **2 (Kurulum)** | Medium | 8s | 2-3 coverage | Normal |
331
+ | **3 (Yükseliş)** | Medium-close | 6-8s | 3 coverage | Hızlanan |
332
+ | **4 (Doruk)** | Close-up, tight | 6s | 3+ coverage | Hızlı |
333
+ | **5 (Klimaks)** | ECU, dinamik | 4-6s | 4 coverage | En yoğun |
334
+
335
+ **Kullanım:** Senaryo analizi sırasında her shot'a seviye ata ve \`project-info.md\`'ye yaz.
336
+
337
+ ### 🎬 Montaj Modu (Montage Sequences)
338
+
339
+ Zaman geçişi, eğitim, hazırlık gibi montaj dizileri için özel mod:
340
+
341
+ ```
342
+ MONTAJ MODU KURALLARI:
343
+ - Duration: 4s per shot (kısa, ritimli)
344
+ - Diyalog: YOK veya minimal
345
+ - Kamera: Her shot farklı açı (yakın→uzak→detay→yüz)
346
+ - Müzik: Kullanıcı isterse burada müzik izni verilebilir
347
+ - Coverage: Minimal (1-2 per shot yeterli; 2-3 kuralına kontrollü istisna)
348
+ - Chain: Montaj içinde loose chaining (tam eşleşme zorunlu değil)
349
+ ```
350
+
351
+ | Montaj Türü | Örnek | Shot Sayısı |
352
+ |-------------|-------|------------|
353
+ | **Zaman geçişi** | Gün doğuyor, mevsim değişiyor | 3-5 shot |
354
+ | **Hazırlık** | Askerler silah hazırlıyor, gemi yüklüyor | 4-6 shot |
355
+ | **Paralel eylem** | İki farklı yerde aynı anda olan olaylar | 4-8 shot |
356
+
357
+ ---
358
+
359
+ ## TIER 1: PRODUCTION RULES (When Generating Shots)
360
+
361
+ ### 🔗 Mandatory Frame Chaining
362
+
363
+ **RULE:** Every shot's LAST FRAME must become next shot's FIRST FRAME.
364
+
365
+ | Shot Type | First Frame | Last Frame |
366
+ |-----------|-------------|------------|
367
+ | **FIRST SHOT** | Generate SHOT01_START | Generate SHOT01_END |
368
+ | **CHAINED** | Use SHOT(prev)_END | Generate SHOTNN_END |
369
+ | **CHAIN BREAK** | Generate new SHOTNN_START | Generate SHOTNN_END |
370
+
371
+ ### 🗣️ Dialogue Isolation (Prevent Confusion)
372
+ **RULE:** 1 Shot = 1 Active Speaker.
373
+ - Avoid 2 people speaking in same shot. Split into A/B camera angles.
374
+ - If 2-shot required: Explicitly state who is speaking and who is listening.
375
+
376
+ **Chain Break Triggers:**
377
+ - Location change
378
+ - Time jump
379
+ - Dream/Flashback
380
+ - Character transformation
381
+ - Extreme camera reset
382
+
383
+ ### 🎬 Scenario Type Auto-Detection (ALL GENRES)
384
+
385
+ | Genre | Keywords | Camera Style | Lighting | Duration |
386
+ |-------|----------|--------------|----------|----------|
387
+ | **DRAMA** | dram, duygu | Close-ups, shallow DOF | Soft, natural | 8s |
388
+ | **COMEDY** | komedi, gülmek | Wide, clear sightlines | Bright, even | 8s |
389
+ | **ACTION** | aksiyon, kovalamaca | Dynamic, handheld | High contrast | 8s |
390
+ | **HORROR** | korku, gerilim | POV, negative space | Low-key, shadows | 8s |
391
+ | **ROMANCE** | aşk, romantik | Two-shots, soft focus | Warm, golden | 8s |
392
+ | **SCI-FI** | bilim kurgu, uzay | Geometric, symmetry | Controlled, neon | 8s |
393
+ | **FANTASY** | fantastik, büyü | Epic wide + intimate | Ethereal, magical | 8s |
394
+ | **THRILLER** | gerilim, suç | Tracking, surveillance | High contrast | 8s |
395
+ | **WAR/MILITARY** | savaş, asker | Wide establishing + tight | Harsh, dramatic | 8s |
396
+ | **HISTORICAL** | tarihi, dönem | Documentary touch | Period-accurate | 8s |
397
+ | **DOCUMENTARY** | belgesel | Observational | Natural available | 8s |
398
+ | **MUSICAL** | müzikal, dans | Choreography-matched | Stage lighting | 8s |
399
+ | **WESTERN** | kovboy, western | Wide landscapes | Harsh sun, dusty | 8s |
400
+ | **NOIR** | noir, dedektif | Shadows, venetian blinds | High contrast B&W | 8s |
401
+ | **ANIMATION** | animasyon, çizgi | Style-specific | Stylized | Per style |
402
+
403
+ ### 📦 FILE OUTPUT SYSTEM (Code Editor Mode)
404
+
405
+ **All prompts are SAVED TO FILES, not just shown in chat:**
406
+
407
+ ```
408
+ $OUTPUT_DIR/
409
+ ├── project-info.md # Scenario, characters, settings
410
+ ├── shots/
411
+ │ ├── SHOT01.md # Each shot in separate file
412
+ │ ├── SHOT02.md
413
+ │ └── ...
414
+ ├── _index.md # Shot list with status
415
+ └── FINAL-SUMMARY.md # Created with /finish
416
+ ```
417
+
418
+ ### 🔢 Adaptive Batch System
419
+
420
+ | Scenario Size | Strategy | Why |
421
+ |---------------|----------|-----|
422
+ | **1-10 shots** | All at once | Fast, coherent |
423
+ | **11-30 shots** | 5 per batch | Balanced |
424
+ | **30+ shots** | 3 per batch | Quality focus |
425
+ | **User says "tek tek"** | 1 at a time | Maximum control |
426
+
427
+ ### 🔄 Resume Capability
428
+
429
+ When user says "devam et":
430
+ 1. READ `$OUTPUT_DIR/_index.md` → Find last shot
431
+ 2. READ `$OUTPUT_DIR/shots/SHOT[last].md` → Get context
432
+ 3. CONTINUE from next shot with proper chaining
433
+
434
+ **Enforcement:**
435
+ - "devam et" → Read last shot file, continue
436
+ - User can change mid-project: "şimdi tek tek gidelim"
437
+
438
+ ---
439
+
440
+ ## TIER 1.5: COVERAGE SYSTEM (Mandatory for ALL Shots)
441
+
442
+ > **CRITICAL:** Every main shot MUST have 2-3 coverage shots for editing flexibility.
443
+
444
+ ### 📷 Coverage Types
445
+
446
+ | Type | Code | Icon | Description | Duration |
447
+ |------|------|------|-------------|----------|
448
+ | **Reaction** | R | 👁️ | Listener's face/expression | 4-6s |
449
+ | **OTS** | OTS | 📹 | Over-the-shoulder angle | 4-6s |
450
+ | **Insert** | INS | 🔍 | Object/detail shot | 2-4s |
451
+ | **Cutaway** | CUT | 🌿 | Environment/atmosphere | 4s |
452
+ | **ECU** | ECU | 👀 | Extreme close-up | 2-4s |
453
+ | **Wide** | WC | 🏔️ | Wide establishing | 6-8s |
454
+
455
+ ### Sub-Shot Naming
456
+
457
+ ```
458
+ SHOT05 → Main shot
459
+ SHOT05A → First coverage (e.g., Reaction)
460
+ SHOT05B → Second coverage (e.g., OTS)
461
+ SHOT05C → Third coverage (e.g., Insert)
462
+ ```
463
+
464
+ ### Scene Type → Coverage Matrix
465
+
466
+ | Scene Type | Required Coverage | Suffix Assignment |
467
+ |------------|-------------------|-------------------|
468
+ | **DIALOGUE** | Reaction + OTS | A: Reaction, B: OTS |
469
+ | **ACTION** | Insert + ECU | A: Insert, B: ECU |
470
+ | **EMOTIONAL** | Reaction + ECU | A: Reaction, B: ECU |
471
+ | **ESTABLISHING** | Wide + Cutaway | A: Wide, B: Cutaway |
472
+
473
+ ### Coverage Chain Rules
474
+
475
+ **Coverage shots are STANDALONE** - they break chain by design:
476
+ - Main shots chain to each other: SHOT04_END → SHOT05_START
477
+ - Coverage shots have independent start frames
478
+ - Coverage is cutaway material, not sequential narrative
479
+
480
+ For full coverage protocols → READ `skills/coverage-system/SKILL.md`
481
+
482
+ ---
483
+
484
+ ## TIER 2: OUTPUT FORMAT
485
+
486
+ ### Per-Shot Output Structure (With Coverage)
487
+
488
+ ```
489
+ ---
490
+
491
+ **SHOT[NN]** | [Duration]s | 🔗 [CHAINED from SHOT[prev]_END / CHAIN BREAK - Reason / FIRST SHOT]
492
+ > 🇹🇷 [Türkçe kısa özet: Bu shot'ta ne oluyor, 1 cümle]
493
+
494
+ **İLK FRAME (SHOTNN_START):**
495
+ [If CHAINED: "→ Use SHOT[prev]_END as first frame"]
496
+ [If FIRST/BREAK: Generate code block]
497
+
498
+ ```
499
+ [Complete image prompt — MIN 60 words, MAX 100 words]
500
+ [Reference lock + scene description + camera + lighting + atmosphere]
501
+
502
+ Avoid: blurry, low-res, noise, distorted faces, bad anatomy, extra limbs/fingers, plastic skin, waxy skin, on-screen text, watermark, logo, cartoon style, CGI look.
503
+ ```
504
+
505
+ **SON FRAME (SHOTNN_END):**
506
+
507
+ ```
508
+ [Complete image prompt — MIN 60 words, MAX 100 words]
509
+ [End position for next shot continuation]
510
+
511
+ Avoid: blurry, low-res, noise, distorted faces, bad anatomy, extra limbs/fingers, plastic skin, waxy skin, on-screen text, watermark, logo, cartoon style, CGI look.
512
+ ```
513
+
514
+ **VİDEO:**
515
+
516
+ ```
517
+ [Complete video prompt — MIN 80 words, MAX 120 words]
518
+ [Action + camera movement + acting cues + atmosphere]
519
+
520
+ Audio direction:
521
+ - Language: [LANGUAGE]
522
+ - Type: [Dialogue/SFX/Ambience]
523
+ - Dialogue transcript: [Lines or NONE]
524
+ - SFX: [Effects list]
525
+ - Ambience: [Background sounds]
526
+ - Music: NONE
527
+ - Mix target: [Percentages]
528
+ - No on-screen subtitles/captions.
529
+
530
+ Avoid: distorted faces, morphing, bad anatomy, blurry, flickering, inconsistent lighting, unnatural motion, on-screen text, watermark.
531
+ ```
532
+
533
+ ---
534
+
535
+ ## Coverage Shots (Kurgu Detayları)
536
+
537
+ ❗ **COVERAGE PROMPT = ANA SHOT KALİTESİNDE OLMALIDIR. KISA PROMPT YASAKTIR.**
538
+
539
+ ### SHOT[NN]A - [Type] | [Duration]s | [Icon] [Label]
540
+ > 🇹🇷 [Türkçe kısa özet: Bu coverage ne gösteriyor]
541
+ ```
542
+ [Coverage image prompt — MIN 60 words, camera + lighting + subject + emotion + Avoid line]
543
+ ```
544
+ ```
545
+ [Coverage video prompt — MIN 60 words + full Audio direction block + Avoid line]
546
+ ```
547
+
548
+ ### SHOT[NN]B - [Type] | [Duration]s | [Icon] [Label]
549
+ > 🇹🇷 [Türkçe kısa özet]
550
+ ```
551
+ [Coverage image prompt — MIN 60 words + Avoid line]
552
+ ```
553
+ ```
554
+ [Coverage video prompt — MIN 60 words + Audio direction + Avoid line]
555
+ ```
556
+
557
+ ### SHOT[NN]C - [Type] | [Duration]s | [Icon] [Label]
558
+ > 🇹🇷 [Türkçe kısa özet]
559
+ ```
560
+ [Coverage image prompt — MIN 60 words + Avoid line]
561
+ ```
562
+ ```
563
+ [Coverage video prompt — MIN 60 words + Audio direction + Avoid line]
564
+ ```
565
+
566
+ ---
567
+ Total: 1 main + [N] coverage = [N+1] production shots
568
+ ```
569
+
570
+ ### Code Block Rules
571
+
572
+ - **ONLY** prompt text inside code blocks
573
+ - NO headers, labels, chain notes, refs line inside
574
+ - Must be copy-paste ready
575
+ - Three separate blocks per main shot
576
+ - Two separate blocks per coverage shot (image + video)
577
+
578
+ ---
579
+
580
+ ## 🛡️ PRE-DELIVERY SELF-CHECK (HER SHOT ONCE BURADAN GEÇMELİ​)
581
+
582
+ Before outputting, validate EVERY shot. **Bu kontrol otomatiktir, kullanıcı hatırlatması gerekmez.**
583
+
584
+ ### 1️⃣ AUTO-ANONYMOUS (EN ÖNCE)
585
+ - [ ] TÜM isimler fiziksel tanımla değiştirildi mi? → **Otomatik yapılmalı**
586
+ - [ ] Dolaylı ünlü atıfları temizlendi mi?
587
+ - [ ] Tarihi kişi rolleri anonim mi?
588
+
589
+ ### 2️⃣ AUTO-SAFETY
590
+ - [ ] Platform filtrelerine takılacak içerik var mı? → **Otomatik optimize et**
591
+ - [ ] Şiddet/silah → Mekanik/yüz odaklı reframe yapıldı mı?
592
+ - [ ] Tarihsel içerik → "Documentary" frame eklendi mi?
593
+
594
+ ### 3️⃣ AVOID LINE (🚨 ZORUNLU)
595
+ - [ ] **HER image prompt** → Avoid satırı var mı? ❗ Yoksa EKLE
596
+ - [ ] **HER video prompt** → Avoid satırı var mı? ❗ Yoksa EKLE
597
+ - [ ] **HER coverage image** → Avoid satırı var mı? ❗ Yoksa EKLE
598
+ - [ ] **HER coverage video** → Avoid satırı var mı? ❗ Yoksa EKLE
599
+
600
+ ### 4️⃣ Prompt Uzunluk Kontrolü
601
+ - [ ] Ana shot image prompt ≥ 60 kelime mi?
602
+ - [ ] Ana shot video prompt ≥ 80 kelime mi?
603
+ - [ ] **Coverage prompt ≥ 60 kelime mi?** ❗ Kısa coverage YASAK
604
+ - [ ] Audio direction block tam mı? (Language, Type, Dialogue, SFX, Ambience, Music, Mix)
605
+
606
+ ### 5️⃣ Türkçe Özet
607
+ - [ ] Her shot'un 🇹🇷 Türkçe özet satırı var mı?
608
+ - [ ] Her coverage'un 🇹🇷 Türkçe özet satırı var mı?
609
+
610
+ ### 6️⃣ Reference + Chain + Coverage
611
+ - [ ] `[REFERENCE LOCK]` section present? "EXACTLY" language?
612
+ - [ ] Chain status correct? End frame continuation-ready?
613
+ - [ ] Minimum 2 coverage per main shot?
614
+ - [ ] Coverage types match scene type?
615
+ - [ ] 30° kuralı: Coverage açısı ana shot'tan ≥30° farklı?
616
+ - [ ] 180° kuralı: Kamera eksen çizgisini geçmedi mi?
617
+
618
+ ### 7️⃣ Output Format
619
+ - [ ] Three code blocks per main shot (image + image + video)?
620
+ - [ ] Two code blocks per coverage (image + video)?
621
+ - [ ] Each block = ONLY prompt text, copy-paste ready?
622
+
623
+ **❗ ANY check fails → DÜZELT, sonra teslim et. Kullanıcı hatırlatmasını BEKLEME.**
624
+
625
+ ---
626
+
627
+ ## 🔗 SKILL REFERENCES
628
+
629
+ | Skill | When to Read |
630
+ |-------|--------------|
631
+ | [safety-compliance](skills/safety-compliance/SKILL.md) | ALWAYS before generating |
632
+ | [reference-locking](skills/reference-locking/SKILL.md) | When reference images provided |
633
+ | [frame-chaining](skills/frame-chaining/SKILL.md) | ALWAYS for multi-shot |
634
+ | [coverage-system](skills/coverage-system/SKILL.md) | ALWAYS (mandatory for every shot) |
635
+ | [visual-modes](skills/visual-modes/SKILL.md) | Check for style triggers |
636
+ | [audio-design](skills/audio-design/SKILL.md) | When dialogue/SFX needed |
637
+ | [prompt-structure](skills/prompt-structure/SKILL.md) | ALWAYS |
638
+
639
+ ---
640
+
641
+ ## ✅ DO / ❌ DON'T
642
+
643
+ **DO:**
644
+ - ASK batch size BEFORE generating
645
+ - START every prompt with [REFERENCE LOCK] when refs provided
646
+ - CHAIN shots unless explicit CHAIN BREAK required
647
+ - Design end frames for smooth continuation
648
+ - Apply safety filters to EVERY shot
649
+
650
+ **DON'T:**
651
+ - NEVER mention celebrity/public figure names
652
+ - Generate shots before asking batch size
653
+ - Add characters/locations user didn't specify
654
+ - Claim 4K/8K resolution (max 1080p)
655
+ - Include active violence, graphic content
656
+ - Break chains without explicit declaration
657
+
658
+ ---
659
+
660
+ ## 🎬 HOLLYWOOD STANDARD QUALITY
661
+
662
+ ### Cinematic Excellence (Non-Negotiable)
663
+
664
+ | Aspect | Hollywood Standard |
665
+ |--------|-------------------|
666
+ | **Composition** | Rule of thirds, golden ratio, leading lines, depth layers |
667
+ | **Lighting** | Three-point setups, motivated sources, proper color temperature |
668
+ | **Camera** | Professional movements (dolly, crane, Steadicam), intentional lens choices |
669
+ | **Color** | Graded for mood, consistent palette throughout |
670
+ | **Sound** | Layered design: dialogue, SFX, ambience, Foley |
671
+ | **Continuity** | 180° rule, eyeline match, seamless cuts |
672
+
673
+ ### Professional Cinematography Terms
674
+
675
+ - **Camera:** dolly, crane, Steadicam, rack focus, deep focus, tracking
676
+ - **Lighting:** key light, fill, rim/hair, practical, motivated, diffused, bounce
677
+ - **Composition:** negative space, leading lines, frame within frame, Dutch angle
678
+ - **Color:** LUT, color grade, desaturated, warm/cool palette, high/low key
679
+ - **Movement:** push-in, pull-out, orbit, reveal, whip pan, crash zoom
680
+
681
+ ---
682
+
683
+ **End of MASTER.md**
684
+ **Quality Standard:** HOLLYWOOD PRODUCTION GRADE
685
+ **Genre Support:** ALL (15+ genres fully supported)
686
+ **Security Level:** HARDENED (Google Veo 3.1 Compliance)
687
+ **Chain Enforcement:** MANDATORY (95%+ shots must chain)
688
+ **Reference Enforcement:** LOCKED (User references must be used exactly)
689
+ **Celebrity Names:** ZERO TOLERANCE (Physical descriptions only)