@milenyumai/film-kit 2.0.0 → 2.0.1

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 (41) hide show
  1. package/README.md +62 -0
  2. package/build/lib/templates.js +28 -22
  3. package/content/agents/prompt-engineer.md +3 -3
  4. package/content/skills/frame-chaining/SKILL.md +10 -1
  5. package/content/skills/prompt-structure/SKILL.md +33 -27
  6. package/content/skills/reference-locking/SKILL.md +70 -57
  7. package/content/skills/semantic-consistency/SKILL.md +26 -3
  8. package/content/workflows/finish.md +1 -1
  9. package/content/workflows/generate.md +23 -15
  10. package/content/workflows/safety-check.md +5 -4
  11. package/package.json +1 -1
  12. package/packages/hybrid/README.md +12 -17
  13. package/packages/hybrid/build/cli.js +7 -8
  14. package/packages/hybrid/build/lib/templates.js +23 -21
  15. package/packages/hybrid/content/HYBRID-OVERRIDES.md +6 -4
  16. package/packages/hybrid/content/skills/nano-banana-pro-image/SKILL.md +13 -8
  17. package/packages/hybrid/content/skills/prompt-structure/SKILL.md +15 -11
  18. package/packages/hybrid/content/workflows/generate.md +4 -4
  19. package/packages/hybrid-smart/README.md +13 -18
  20. package/packages/hybrid-smart/build/cli.js +7 -8
  21. package/packages/hybrid-smart/build/lib/templates.js +24 -22
  22. package/packages/hybrid-smart/content/SMART-HYBRID-OVERRIDES.md +4 -4
  23. package/packages/hybrid-smart/content/skills/nano-banana-pro-image/SKILL.md +13 -8
  24. package/packages/hybrid-smart/content/skills/prompt-structure/SKILL.md +11 -9
  25. package/packages/hybrid-smart/content/workflows/generate.md +4 -4
  26. package/packages/multi/README.md +13 -17
  27. package/packages/multi/build/cli.js +7 -8
  28. package/packages/multi/build/lib/configure.js +1 -1
  29. package/packages/multi/build/lib/templates.js +19 -12
  30. package/packages/multi/content/agents/character-consistency-auditor.md +9 -2
  31. package/packages/multi/content/agents/semantic-auditor.md +5 -1
  32. package/packages/multi/content/agents/shot-generator.md +9 -5
  33. package/packages/multi/content/workflows/generate-teammate.md +7 -4
  34. package/packages/multi/content/workflows/safety-check-multi.md +5 -4
  35. package/packages/studio/README.md +12 -17
  36. package/packages/studio/build/cli.js +10 -11
  37. package/packages/studio/build/lib/configure.js +1 -1
  38. package/packages/studio/build/lib/templates.js +21 -12
  39. package/packages/studio/content/agents/render-supervisor.md +6 -0
  40. package/packages/studio/content/skills/fal-render/SKILL.md +6 -0
  41. package/packages/studio/content/workflows/render.md +2 -1
package/README.md CHANGED
@@ -250,6 +250,68 @@ Editorial/runtime contract shared across the package:
250
250
  - per-shot sound control uses `Audio Plan`
251
251
  - semantic consistency uses canonical `visual_world`
252
252
 
253
+ ## Reference Locking And Start/End Consistency
254
+
255
+ When a reference image exists, Film-Kit now treats it as an immutable source, not a loose style hint.
256
+
257
+ Default behavior across `single`, `multi`, `hybrid`, `hybrid-smart`, and `studio`:
258
+
259
+ - face, hair, skin tone, body proportions, wardrobe, accessories, props, materials, patterns, and logos are treated as locked invariants
260
+ - generated prompts should not re-describe identity details already visible in the reference
261
+ - generated prompts should explicitly preserve the same person or object exactly as the reference
262
+ - silent redesign, restyling, redressing, age shifting, or prop redesign is considered a failure
263
+
264
+ Allowed movement inside a reference-locked shot is intentionally narrow:
265
+
266
+ - pose can change only if it is explicitly declared
267
+ - expression can change only if it is explicitly declared
268
+ - camera or environment state can change only if it is explicitly declared
269
+ - each start/end pair should carry only one major semantic delta unless the workflow marks a deliberate chain break or transition
270
+
271
+ ## Prompt Contract
272
+
273
+ Start/end still prompts are now optimized for structure, not raw length.
274
+
275
+ Image prompt contract:
276
+
277
+ - `REFERENCE LOCK`
278
+ - `Keep same`
279
+ - `Change only`
280
+ - short semantic anchor
281
+ - targeted avoid line
282
+
283
+ This means:
284
+
285
+ - reference-anchored image prompts are intentionally shorter and more surgical
286
+ - old image-quality heuristics based on minimum word counts are no longer the primary control surface
287
+ - detailed prose is still expected for video prompts, where motion, timing, audio, and camera language need richer direction
288
+
289
+ `hybrid` and `hybrid-smart` keep their compact still-prompt behavior. `single`, `multi`, and `studio` keep richer video prompt behavior for Veo, Kling, and Seedance.
290
+
291
+ ## Semantic QA And Render QA
292
+
293
+ `visual_world` is the canonical continuity contract for semantic consistency and render review.
294
+
295
+ Reference-aware runtime and reports now carry these concepts:
296
+
297
+ - `identity_lock: "exact-reference"`
298
+ - `shared_frame_invariants`
299
+ - `allowed_change`
300
+ - `reference_drift_forbidden: true`
301
+
302
+ Generated specialist and render QA flows now explicitly fail on:
303
+
304
+ - face, hair, skin, body, wardrobe, accessory, or prop drift
305
+ - lens, angle, subject scale, light direction, or color-temperature drift
306
+ - unexplained semantic changes between start and end frames
307
+ - violations of declared `Keep same` invariants
308
+ - changes outside the declared `Change only` budget
309
+
310
+ Studio render QA also records render-level verdicts such as:
311
+
312
+ - `reference_drift_status`
313
+ - `start_end_contract_status`
314
+
253
315
  ## Seedance Runtime Coverage
254
316
 
255
317
  The package now carries Seedance-aware instructions in the generated runtime, not only in type definitions or CLI parsing.
@@ -218,11 +218,11 @@ When the user asks \`/generate\`, convert the scenario into:
218
218
  ## Output Contract
219
219
  Each \`SHOTNN.md\` is a **single file** containing ALL shot details:
220
220
  - 🔗 Chain status (FIRST / CHAINED / CHAIN BREAK)
221
- - İLK FRAME (start frame image prompt — min 60 words)
222
- - SON FRAME (end frame image prompt — min 60 words)
221
+ - İLK FRAME (start frame image prompt — compact reference-first still contract)
222
+ - SON FRAME (end frame image prompt — same-visual-universe + one-delta still contract)
223
223
  - AUDIO PLAN (machine-readable shot audio contract)
224
- - VİDEO (video prompt with audio direction — min 80 words)
225
- - COVERAGE SHOTS (2-3 coverage shots within same file — each min 60 words)
224
+ - VİDEO (video prompt with audio direction — min 120 words)
225
+ - COVERAGE SHOTS (2-3 coverage shots within same file — compact stills + detailed coverage video when needed)
226
226
  - 🇹🇷 Turkish summary for each section
227
227
  - Avoid line on EVERY prompt
228
228
 
@@ -268,7 +268,7 @@ Read .agent/VOICE-DESIGN.md when dialogue, narrator VO, or reusable speaker iden
268
268
  5. SLOW BURN: 8s default duration. Split actions into multiple shots. "Ilmek ilmek islemek."
269
269
  6. Music: NONE by default. User must explicitly request.
270
270
  7. EVERY prompt must have an Avoid line. No exceptions.
271
- 8. Coverage shots mandatory (2-3 per main shot, min 60 words each, included in same file).
271
+ 8. Coverage shots mandatory (2-3 per main shot, included in same file; stills stay compact, coverage videos stay detailed).
272
272
  9. Frame chaining: Last frame of SHOT[N] = First frame of SHOT[N+1].
273
273
  10. Semantic consistency: \`${config.outputDir}/shot-plan.json\` must include \`visual_world\`; prompts must align camera, named movement strategy, light/shadow vector, scale, reflections, physics, anatomy risk, and contextual logic.
274
274
  11. ILK/İLK FRAME section must contain a code block even for chained shots.
@@ -334,7 +334,7 @@ All skills at: \`.agent/skills/[name]/SKILL.md\`
334
334
  - AUTO-SAFETY: Proactively reframe sensitive content
335
335
  - Frame chaining: Last frame SHOT[N] = First frame SHOT[N+1]
336
336
  - Chained ILK/İLK FRAME code block contains only \`Use SHOT[prev]_END as exact first frame\`; any new visual prompt requires CHAIN BREAK
337
- - Coverage: 2-3 sub-shots per main shot (min 60 words each, in same file)
337
+ - Coverage: 2-3 sub-shots per main shot (same file; compact stills, detailed coverage videos)
338
338
  - Avoid line: MANDATORY on every prompt
339
339
  - Music: NONE by default
340
340
  - Duration: 8s default, slow burn pacing
@@ -406,7 +406,7 @@ Before generating ANY prompts, read skills from \`.agent/skills/\`:
406
406
  9. **Voice Design:** keep project-level \`voiceCast\` in \`${config.outputDir}/shot-plan.json\` and per-shot \`Audio Plan\` in each VIDEO section.
407
407
  10. **ILK/İLK FRAME:** Always include a fenced code block, even when chained.
408
408
  11. **Chained ILK/İLK FRAME:** code block contains only \`Use SHOT[prev]_END as exact first frame\`; any new visual prompt requires CHAIN BREAK.
409
- 12. **Quality Floor:** ILK >= 80, SON >= 80, VIDEO >= 120, coverage >= 70 words.
409
+ 12. **Image Prompt Contract:** reference-anchored ILK/SON use \`REFERENCE LOCK\` + \`Keep same\` + \`Change only\`; VIDEO >= 120; coverage video >= 70.
410
410
  13. **Specificity Floor:** lens/framing, lighting, and foreground/midground/background action are mandatory.
411
411
  14. **Spatial Realism Floor:** eyeline target, plane map, shared light source, and contact/depth cues are mandatory when relational staging matters.
412
412
  15. **Semantic Consistency Floor:** \`visual_world\`, perspective/geometry, shadow vector, scale map, reflections, gravity/contact physics, anatomy risk, foreground/background coherence, contextual contradictions, and targeted semantic avoid terms are mandatory.
@@ -450,7 +450,7 @@ This workspace keeps high-level policy in \`CLAUDE.md\` and operational detail i
450
450
  - Maintain \`${config.outputDir}/shot-plan.json\` top-level \`visual_world\`
451
451
  - Keep \`Audio Plan\` blocks aligned to \`voiceCast\`
452
452
  - Keep \`ILK/İLK FRAME\` in a fenced code block even when chained
453
- - Quality floor and specificity floor are hard gates, not suggestions
453
+ - Image prompt contract, specificity floor, and semantic floor are hard gates, not suggestions
454
454
  - Semantic consistency floor is a hard gate: camera/lens/camera-movement/light/shadow/scale/reflection/physics/anatomy/context must align to \`visual_world\`
455
455
  - Apply \`.agent/skills/spatial-blocking/SKILL.md\` whenever eyeline, compositing, or depth realism is critical
456
456
 
@@ -482,7 +482,7 @@ Use the Film-Kit core runtime.
482
482
  - maintain top-level \`visual_world\` inside \`${config.outputDir}/shot-plan.json\`
483
483
  - keep \`Audio Plan\` blocks valid against \`voiceCast\`
484
484
  - enforce AUTO-ANONYMOUS, AUTO-SAFETY, chaining, and coverage contracts
485
- - enforce quality floor: ILK >= 80, SON >= 80, VIDEO >= 120, coverage >= 70
485
+ - enforce image prompt contract: compact reference-first ILK/SON, VIDEO >= 120, coverage video >= 70
486
486
  - enforce specificity floor: lens/framing, lighting, and foreground/midground/background action
487
487
  - enforce spatial realism: explicit eyeline target, plane map, shared light source, and contact/depth cues when needed
488
488
  - enforce semantic consistency: \`visual_world\`, perspective/geometry, shadow vector, scale map, reflection handling, physics/anatomy risk, foreground/background coherence, contextual contradictions, and scene-specific avoid terms
@@ -526,7 +526,7 @@ If using the native Claude subagent, read \`.claude/agents/prompt-engineer.md\`
526
526
  - Add machine-readable \`Audio Plan\` before every VIDEO section
527
527
  - Keep İLK FRAME as fenced code block even when chained
528
528
  - If chained, keep İLK FRAME code block to exact reuse text only; new visual prompt means CHAIN BREAK
529
- - Enforce hard quality floor: ILK >= 80, SON >= 80, VIDEO >= 120, coverage >= 70
529
+ - Enforce image prompt contract: compact reference-first ILK/SON, VIDEO >= 120, coverage video >= 70
530
530
  - Enforce specificity floor: lens/framing + lighting + foreground/midground/background action
531
531
  - Enforce spatial realism floor: eyeline target + plane map + shared light source + contact/depth cues when applicable
532
532
  - Enforce semantic consistency floor: perspective/geometry + shadow vector + scale map + reflections + gravity/contact physics + anatomy risk + contextual contradiction check
@@ -607,7 +607,7 @@ FIRST SHOT / CHAINED from SHOT[prev]_END / CHAIN BREAK - Reason
607
607
  > Any new visual prompt in a chained ILK FRAME section requires CHAIN BREAK.
608
608
 
609
609
  \\\`\\\`\\\`
610
- [Image prompt — min 60 words, following prompt flow order]
610
+ [Image prompt — compact still prompt. If refs exist: REFERENCE LOCK + Keep same + Change only + semantic anchor + Avoid]
611
611
  Avoid: blurry, low-res, noise, distorted faces, bad anatomy, extra limbs/fingers,
612
612
  plastic skin, waxy skin, on-screen text, watermark, logo, cartoon style, CGI look.
613
613
  \\\`\\\`\\\`
@@ -615,7 +615,7 @@ plastic skin, waxy skin, on-screen text, watermark, logo, cartoon style, CGI loo
615
615
  ### SON FRAME (SHOTNN_END)
616
616
 
617
617
  \\\`\\\`\\\`
618
- [Image prompt — min 60 words, following prompt flow order]
618
+ [Image prompt — compact still prompt. Preserve same visual universe and declare one allowed change]
619
619
  Avoid: blurry, low-res, noise, distorted faces, bad anatomy, extra limbs/fingers,
620
620
  plastic skin, waxy skin, on-screen text, watermark, logo, cartoon style, CGI look.
621
621
  \\\`\\\`\\\`
@@ -629,7 +629,7 @@ plastic skin, waxy skin, on-screen text, watermark, logo, cartoon style, CGI loo
629
629
  ### VİDEO
630
630
 
631
631
  \\\`\\\`\\\`
632
- [Video prompt — min 80 words, following prompt flow order]
632
+ [Video prompt — min 120 words, following prompt flow order]
633
633
 
634
634
  Audio direction:
635
635
  - Language: [TURKISH/ENGLISH/etc.]
@@ -654,11 +654,11 @@ inconsistent lighting, unnatural motion, on-screen text, watermark.
654
654
  🇹🇷 [Türkçe coverage özeti]
655
655
 
656
656
  \\\`\\\`\\\`
657
- [Coverage IMAGE prompt — min 60 words, standalone (not chained)]
657
+ [Coverage IMAGE prompt — compact standalone still contract (not chained)]
658
658
  Avoid: blurry, low-res, noise, distorted faces, bad anatomy, on-screen text, watermark.
659
659
  \\\`\\\`\\\`
660
660
  \\\`\\\`\\\`
661
- [Coverage VIDEO prompt — min 60 words, with full audio direction block]
661
+ [Coverage VIDEO prompt — min 70 words, with full audio direction block]
662
662
 
663
663
  Audio direction:
664
664
  - Language: [LANGUAGE]
@@ -812,7 +812,7 @@ Before generating ANY prompts, read skills from \`.agent/skills/\`:
812
812
  - **AUTO-SAFETY:** Proactively reframe sensitive content
813
813
  - **Frame Chaining:** Last frame of SHOT[N] = First frame of SHOT[N+1]
814
814
  - **Chain Hardening:** chained ILK/İLK FRAME code block contains only \`Use SHOT[prev]_END as exact first frame\`
815
- - **Coverage:** 2-3 sub-shots per main shot (in same file, min 60 words each)
815
+ - **Coverage:** 2-3 sub-shots per main shot (in same file; stills compact, coverage videos detailed)
816
816
  - **Spatial Realism:** eyeline targets, shared light, depth scale, and anti-cutout staging must agree when subjects share frame
817
817
  - **Semantic Consistency:** \`visual_world\` controls perspective/geometry, shadow vector, scale map, reflections, physics, anatomy risk, background coherence, and contextual contradictions
818
818
  - **Avoid Line:** MANDATORY on every prompt
@@ -909,7 +909,7 @@ Before generating ANY prompts, read these skills:
909
909
  2. **Name Policy:** Dialogue naming follows \`${config.outputDir}/shot-plan.json\` policy
910
910
  3. **AUTO-SAFETY:** Proactively reframe sensitive content
911
911
  4. **Frame Chaining:** Last frame of SHOT[N] becomes first frame of SHOT[N+1]
912
- 5. **Coverage Mandatory:** 2-3 sub-shots per main shot (in same file, min 60 words each)
912
+ 5. **Coverage Mandatory:** 2-3 sub-shots per main shot (in same file; stills compact, coverage videos detailed)
913
913
  6. **Avoid Line:** MANDATORY on every prompt (image + video + coverage)
914
914
  7. **Voice Design:** keep \`voiceCast\` in \`${config.outputDir}/shot-plan.json\` and \`Audio Plan\` in every speaking VIDEO section
915
915
  8. **Music: NONE** by default
@@ -923,10 +923,11 @@ Before generating ANY prompts, read these skills:
923
923
 
924
924
  ## Quality Floor (Hard Gate)
925
925
  Reject and regenerate any shot that fails:
926
- - ILK FRAME < 80 words
927
- - SON FRAME < 80 words
926
+ - reference-anchored ILK FRAME missing \`REFERENCE LOCK\`, \`Keep same\`, or \`Change only\`
927
+ - SON FRAME drifts from the same visual universe or changes more than one major beat
928
928
  - VIDEO < 120 words
929
- - any coverage prompt < 70 words
929
+ - any coverage video prompt < 70 words
930
+ - reference-visible face/hair/skin/body/wardrobe/accessories/prop design drift
930
931
  - missing explicit lens/framing/camera movement details
931
932
  - missing explicit lighting direction/intensity/atmosphere details
932
933
  - missing explicit foreground/midground/background action details
@@ -977,13 +978,15 @@ ${isKling
977
978
  - Visual prompts in English; dialogue kept in source language.
978
979
  - Main chain continuity: SHOT[N]_END -> SHOT[N+1]_START.
979
980
  - Default duration: 8s slow burn.
980
- - Prompt rewriter active — longer prompts (80-120 words) give more control.
981
+ - Prompt rewriter active — longer prompts (80-120 words) give more control for VIDEO prompts; reference-anchored image prompts should stay compact and delta-only.
981
982
 
982
983
  ### Veo Image-to-Video
983
984
  When generating video from a reference image:
984
985
  - The model extracts lighting and style directly from the image
985
986
  - Do NOT repeat visual info already in the image (e.g., "warm light", "35mm film")
987
+ - Keep the same identity, wardrobe, accessories, prop design, lens feel, light direction, and subject scale
986
988
  - Focus only on the **change**: motion, action, and audio
989
+ - Use the same seed for same-scene reference variants and start/end pairs; change seed only for structural repair or \`CHAIN BREAK\`
987
990
 
988
991
  ### Veo Re-Take Strategy
989
992
  | Error Type | Fix | Seed |
@@ -992,7 +995,7 @@ When generating video from a reference image:
992
995
  | Extra limbs | Add "extra limbs, extra fingers" to Avoid | New seed |
993
996
  | Motion inconsistency | Simplify movement, fewer actions | Same seed |
994
997
  | Light jumps | Specify light source more precisely | Same seed |
995
- | Character inconsistent | Strengthen reference lock, repeat "EXACTLY" | Same seed |
998
+ | Character inconsistent | Strengthen immutable reference lock, remove face/body/wardrobe redesign text | Same locked seed |
996
999
  | Background drift | Add background details | Same seed |
997
1000
  | Robotic motion | Add "organic natural movement" + micro-behavior | New seed |
998
1001
 
@@ -1038,6 +1041,9 @@ The more aligned these are, the cleaner the transition:
1038
1041
  - Light direction & white balance
1039
1042
  - Overall perspective
1040
1043
 
1044
+ **Keep same:** identity, face, hair, skin tone, body proportions, wardrobe, accessories, prop design, lens family, camera height, subject scale, light direction, color temperature, and location shell.
1045
+ **Change only:** one major semantic beat such as expression, hand position, body lean, prop position, or environmental state.
1046
+
1041
1047
  > Large angle differences or mismatched lens feel forces the model to "guess" perspective → warp increases.
1042
1048
 
1043
1049
  **Human face/hands rules:**
@@ -42,10 +42,10 @@ You are a senior Technical Prompt Engineer specialized in model-aware cinematic
42
42
  12. **HER prompt'ta Avoid satırı ZORUNLU (❗ coverage dahil)**
43
43
  13. **🇹🇷 Türkçe özet: Her shot ve coverage için 1 cümlelik Türkçe özet ekle**
44
44
  14. Emotional arc: Film genelinde gerilim eğrisi (1-5) uygula
45
- 15. **Hard quality floor:** ILK >=80, SON >=80, VIDEO >=120, coverage >=70 kelime
45
+ 15. **Hard prompt floor:** reference-anchored ILK/SON use `REFERENCE LOCK` + `Keep same` + `Change only`; VIDEO >=120; coverage video >=70
46
46
  16. **Hard specificity floor:** Her promptta lens/framing, lighting ve FG/MG/BG action detayları zorunlu
47
47
  17. **Spatial realism floor:** eyeline target, plane map, shared light source, contact/weight cues ve tam ölçek derinlik mantığı gerektiğinde zorunlu
48
- 18. **Semantic consistency floor:** `shot-plan.json.visual_world` kanonik olmalı; perspective/geometry, shadow vector, scale map, reflection handling, gravity/contact physics, anatomy risk, foreground/background coherence ve contextual contradiction her shot'ta geçmeli
48
+ 18. **Semantic consistency floor:** `shot-plan.json.visual_world` kanonik olmalı; perspective/geometry, shadow vector, scale map, reflection handling, gravity/contact physics, anatomy risk, foreground/background coherence, contextual contradiction, immutable reference lock ve allowed-change budget her shot'ta geçmeli
49
49
 
50
50
  ---
51
51
 
@@ -271,7 +271,7 @@ Before outputting ANY shot:
271
271
  - [ ] Quality floor passes? (ILK>=80, SON>=80, VIDEO>=120, coverage>=70)
272
272
  - [ ] Specificity floor passes? (lens + lighting + FG/MG/BG action)
273
273
  - [ ] Spatial realism passes? (eyeline target + plane map + shared light + contact/depth cues)
274
- - [ ] Semantic consistency passes? (`visual_world` fields + perspective/geometry + shadow vector + scale map + reflection/physics/anatomy/context checks)
274
+ - [ ] Semantic consistency passes? (`visual_world` fields + perspective/geometry + shadow vector + scale map + reflection/physics/anatomy/context + reference drift + allowed-change checks)
275
275
  - [ ] Model Control block exists? (`Model`, `Preset`, `CFG`, `Transition Mode`)
276
276
 
277
277
  ### 3. Kling-Specific Gates (when model is kling-3.0)
@@ -360,7 +360,16 @@ When preparing Start and End frames for Kling 3.0, both frames MUST share:
360
360
  | **Light direction & WB** | Same source, same color temperature |
361
361
  | **Overall perspective** | Same spatial depth and vanishing points |
362
362
 
363
- > Mismatched elements force Kling to "guess" → warp, melting, and artifacts increase.
363
+ > Mismatched elements force Kling to "guess" → warp, melting, and artifacts increase.
364
+
365
+ ### Keep Same / Change Only Contract
366
+
367
+ For a reference-locked start/end pair:
368
+
369
+ - `Keep same:` identity, face, hair, skin tone, body proportions, wardrobe, accessories, prop design, lens family, camera height, subject scale, light direction, color temperature, and location shell
370
+ - `Change only:` one major semantic beat such as expression, hand position, body lean, prop position, or environmental state
371
+ - if two or more major semantic changes are needed, declare `CHAIN BREAK` or split into additional shots
372
+ - do not redesign anything already visible in the reference image
364
373
 
365
374
  ### Face & Hands Stability for Start+End
366
375
 
@@ -19,7 +19,7 @@ description: Image and video prompt templates, camera movement vocabulary, stabi
19
19
  | **Positive Framing** | Describe what SHOULD happen (negative prompts less effective) |
20
20
  | **Specific Action Verbs** | "strides" > "walks", "glides" > "moves" |
21
21
  | **Professional Terms** | Use industry-standard cinematography language |
22
- | **Ideal Length** | 80-120 words per video prompt |
22
+ | **Ideal Length** | Video prompts: 80-120 words. Reference-anchored image prompts: compact 35-70 words; hybrid still pairs can go 20-50 when anchors are strong |
23
23
  | **Reference Commands First** | Always start with reference image instructions |
24
24
  | **Safety First** | Always consider filter implications |
25
25
  | **Short Sentence Rule** | Split long sentences across shots |
@@ -36,28 +36,26 @@ description: Image and video prompt templates, camera movement vocabulary, stabi
36
36
 
37
37
  | Sıra | İçerik | Örnek |
38
38
  |------|--------|-------|
39
- | **1** | Tek cümle sahne özeti | "Cinematic close-up of a young soldier in a dim bunker." |
40
- | **2** | Kim/Ne/Nerede | Karakter fiziksel tanımı, kıyafet, konum |
41
- | **3** | Aksiyon | Ne yapıyor, mikro-davranış, oyunculuk |
42
- | **4** | Kamera + Lens | "85mm f/2.0, shallow DOF, handheld" |
43
- | **5** | Işık + Atmosfer | "Warm oil lamp, dramatic side shadows" |
44
- | **6** | Audio direction | Sadece video prompt'larında |
45
- | **7** | Avoid line | HER prompt'ta zorunlu |
39
+ | **1** | Reference lock / frame intent | "Same person exactly as reference. Do not modify." |
40
+ | **2** | Keep same | Kimlik, wardrobe, prop design, lens feel, ışık yönü, subject scale |
41
+ | **3** | Change only | Tek anlamlı değişim: ifade, el pozisyonu, aksiyon beat'i |
42
+ | **4** | Kamera + Lens | "35mm lens feel, eye-level medium shot" |
43
+ | **5** | Semantic anchor | Işık yönü, gölge vektörü, scale/depth, location shell |
44
+ | **6** | Audio direction | Sadece video prompt'larında |
45
+ | **7** | Avoid line | HER prompt'ta zorunlu |
46
46
 
47
47
  > **İlk cümle = "Bu shot ne?" sorusunun tek cümlelik cevabı olmalı.**
48
48
 
49
49
  ### Standard Template
50
50
 
51
51
  ```
52
- [REFERENCE LOCK section if applicable]
53
-
54
- Cinematic still frame of [subject with reference adherence] in [frozen pose].
55
- [Environment + time of day].
56
- Lighting: [specific setup].
57
- Camera: [framing], [lens mm], [aperture], photorealistic, crisp focus, no motion blur, no text.
58
- [Safety injection if needed]
59
-
60
- [Full avoid line]
52
+ [REFERENCE LOCK] Same person/object exactly as reference. Do not modify, enhance, reinterpret, restyle, redress, or redesign anything visible in the reference.
53
+ Keep same: identity, wardrobe/accessories, prop design, lens feel, camera height, subject scale, light direction, color temperature, location shell.
54
+ Change only: [one intentional beat].
55
+ [Frame intent + composition + brief action].
56
+ Semantic consistency: [shadow direction], [scale map], [reflection/physics note].
57
+ [Safety injection if needed]
58
+ Avoid: [targeted failures including reference drift / outfit drift / prop drift / lens drift / light-direction drift]
61
59
  ```
62
60
 
63
61
  ### Semantic Consistency Layer
@@ -78,19 +76,27 @@ Use SHOT[prev]_END as exact first frame.
78
76
  ```
79
77
 
80
78
  Any new start-frame visual prompt must be declared as `CHAIN BREAK - [reason]`.
79
+
80
+ ### Reference-Anchored Image Prompt Contract
81
+
82
+ When a reference exists:
83
+
84
+ - do not restate face, hair, skin tone, body build, wardrobe, accessories, or prop design as freeform descriptive prose
85
+ - use `Keep same:` for invariants and `Change only:` for one meaningful delta
86
+ - do not re-explain style or lighting already visible in the reference image
87
+ - use compact prompts; density matters more than length
88
+ - if more than one major semantic change is needed, split the beat or declare `CHAIN BREAK`
81
89
 
82
90
  ### Example: Character in Environment
83
91
 
84
- ```
85
- [REFERENCE LOCK] Using uploaded reference image: The soldier - Match this person's face EXACTLY. Do NOT invent new facial features.
86
-
87
- Cinematic still frame of the person from the reference, wearing dusty Ottoman artillery uniform, standing beside a massive artillery piece, one hand on the cannon barrel, determined expression. Ottoman coastal fortification, smoke-filled atmosphere, late afternoon harsh sunlight.
88
- Lighting: Dramatic side-light from setting sun, long shadows, dust particles visible in light beams.
89
- Camera: Medium shot, 35mm lens, f/4, photorealistic, crisp focus, no motion blur, no text.
90
- Maintaining exact likeness from the reference throughout. Historical reenactment style. Documentary approach.
91
-
92
- Avoid: blurry, low-res, noise, distorted faces, bad anatomy, extra limbs/fingers, plastic skin, waxy skin, airbrushed skin, on-screen text, watermark, logo, cartoon style, CGI look, different face than reference.
93
- ```
92
+ ```
93
+ [REFERENCE LOCK] Same soldier exactly as the uploaded reference. Do not modify face, hair, skin, body, uniform, fez, or cannon design.
94
+ Keep same: identity, uniform, fez, cannon design, medium-shot 35mm lens feel, eye-level camera, late-afternoon side light, smoke-filled fortification layout.
95
+ Change only: the soldier's expression shifts to determined while one hand rests on the cannon barrel.
96
+ Cinematic still frame for a reaction-hold handoff.
97
+ Semantic consistency: long shadows fall screen-right; scale map keeps soldier foreground, cannon midground, smoke depth behind.
98
+ Avoid: distorted face, outfit drift, prop drift, lens drift, light-direction drift, bad anatomy, extra fingers, on-screen text, watermark.
99
+ ```
94
100
 
95
101
  ---
96
102
 
@@ -54,18 +54,29 @@ Replicate the artistic approach and atmosphere from the reference.
54
54
 
55
55
  ## 🔐 Reference Image = ABSOLUTE TRUTH (Text Must NOT Override)
56
56
 
57
- > **⚠️ KRİTİK SORUN:** Fiziksel tanım çok detaylı yazılınca Veo referans fotoğrafı ES GEÇİP kendi karakterini oluşturuyor.
58
- > **ÇÖZÜM:** Referans varken yüz/saç/vücut tanımı YAZMA sadece kıyafet, yaş aralığı ve bağlam yaz.
57
+ > **⚠️ KRİTİK SORUN:** Fiziksel tanım çok detaylı yazılınca model referans fotoğrafı ES GEÇİP kendi karakterini oluşturuyor.
58
+ > **ÇÖZÜM:** Referans varken yüz/saç/vücut/kıyafet/aksesuar/prop tasarımı YAZMA veya yeniden yorumlama. Metin sadece korunan invariant'ı ve izinli tek değişimi söyler.
59
59
 
60
60
  > ⚠️ Reference lock sections must NEVER contain real person names. Use anonymous labels only.
61
61
 
62
62
  ### Hierarchy (Strict Priority Order)
63
63
 
64
- | Priority | Source | Controls | Text'te Yaz? |
65
- |----------|--------|----------|-------------|
66
- | **P0** | Reference Image | Yüz, saç, vücut, ten, göz | ❌ YAZMA referans halleder |
67
- | **P1** | Prompt Text | Kıyafet, aksesuar, yaş aralığı, poz | ✅ Sadece bunları yaz |
68
- | **P2** | Prompt Text | Duygu, davranış, kamera, ışık | ✅ Her zaman yaz |
64
+ | Priority | Source | Controls | Text'te Yaz? |
65
+ |----------|--------|----------|-------------|
66
+ | **P0** | Reference Image | Yüz, saç, vücut, ten, göz, kıyafet, aksesuar, prop tasarımı, materyal/pattern/logo | ❌ Yeniden tarif etme veya değiştirme |
67
+ | **P1** | Prompt Text | Poz, ifade, aksiyon, kamera, çevresel beat, sahnedeki tek anlamlı değişim | ✅ Sadece izinli değişimi yaz |
68
+ | **P2** | Prompt Text | Semantic anchor: lens, light direction, subject scale, location shell, avoid line | ✅ Her zaman yaz |
69
+
70
+ ### Immutable Invariants (Mandatory When Visible In Reference)
71
+
72
+ If a reference clearly shows any of these, they are locked and may not drift:
73
+
74
+ - face, hair, skin tone, body proportions
75
+ - wardrobe, footwear, accessories, jewelry
76
+ - prop design, surface texture, material, emblem, pattern, logo
77
+ - age feel and silhouette
78
+
79
+ Text may restate that these stay the same, but must not redesign them.
69
80
 
70
81
  ### ❌ Referans Varken Bunları YAZMA
71
82
 
@@ -79,17 +90,16 @@ Veo bu tanımları görünce referansı ezer ve kendi üretir:
79
90
  - Bıyık/sakal detayı ("full dark mustache")
80
91
  ```
81
92
 
82
- ### ✅ Referans Varken Sadece Bunları Yaz
83
-
84
- ```
85
- Bunlar referansla ÇATIŞMAZ, bağlam verir:
86
- - Kıyafet ("wearing dusty Ottoman artillery uniform")
87
- - Yaş aralığı ("early 30s") kısa, sadece bağlam
88
- - Aksesuar ("red fez", "leather belt", "medals")
89
- - Poz/duruş ("standing tall", "leaning forward")
90
- - Duygu/davranış ("determined expression", "clenches jaw")
91
- - Aksiyon ("hoists shell onto shoulder")
92
- ```
93
+ ### ✅ Referans Varken Sadece Bunları Yaz
94
+
95
+ ```
96
+ Bunlar referansla ÇATIŞMAZ, ama sadece "aynı kalsın" veya "tek değişim bu olsun" mantığıyla yazılır:
97
+ - Poz/duruş ("keep the same identity and wardrobe; change only the hand position")
98
+ - Duygu/davranış ("change only the expression from neutral to determined")
99
+ - Kamera ("keep the same lens feel and camera height")
100
+ - Aksiyon ("the same person from the reference lifts the shell")
101
+ - Çevresel beat ("change only the smoke density")
102
+ ```
93
103
 
94
104
  ### Doğru vs Yanlış Karşılaştırma
95
105
 
@@ -100,25 +110,24 @@ Bunlar referansla ÇATIŞMAZ, bağlam verir:
100
110
  wearing ornate Ottoman uniform with brass buttons"
101
111
  → Veo: Çok detaylı yüz tanımı → kendi veritabanından üretir → referans yok sayılır
102
112
 
103
- ✅ DOĞRU (referans KORUNUR — metin sadece kıyafet/bağlam verir):
104
- "The person from the reference, wearing ornate Ottoman uniform
105
- with brass buttons and red fez. Determined expression."
106
- Veo: Yüz tanımı yok referans fotoğrafa bakar aynı kişiyi kullanır
107
- ```
113
+ ✅ DOĞRU (referans KORUNUR — metin sadece invariant + izinli değişimi söyler):
114
+ "[REFERENCE LOCK] Same person exactly as the reference.
115
+ Do not modify face, hair, skin, body, wardrobe, accessories, or prop design.
116
+ Keep the same uniform and fez. Change only the expression to determined."
117
+ → Model: Kimlik ve tasarım referansa bırakılır, sadece beat değiştirilir
118
+ ```
108
119
 
109
120
  ### Correct Combined Usage
110
121
 
111
122
  ```
112
- [REFERENCE LOCK] Using uploaded reference: "Commander" —
113
- Match this person's face EXACTLY as shown in the reference image.
114
- Do NOT invent or modify any facial features.
115
-
116
- The person from the reference, wearing ornate Ottoman uniform
117
- with brass buttons and red fez.
118
- Maintaining exact likeness from the reference throughout.
119
- ```
120
-
121
- > **ALTIN KURAL:** Referans varken *"bu kişi nasıl görünüyor?"* sorusunu metin ile DEĞİL, referans fotoğrafıyla cevapla. Metin sadece *"ne giyiyor, ne yapıyor?"* sorularını cevaplar.
123
+ [REFERENCE LOCK] Using uploaded reference: "Commander" —
124
+ Match this person EXACTLY as shown in the reference image.
125
+ Do NOT modify, enhance, reinterpret, restyle, redress, age up/down, or improve anything visible in the reference.
126
+ Keep the same face, hair, skin tone, body proportions, wardrobe, accessories, and prop design.
127
+ Change only the expression to determined.
128
+ ```
129
+
130
+ > **ALTIN KURAL:** Referans varken *"bu kişi/nesne nasıl görünüyor?"* sorusunu metin ile DEĞİL, referans fotoğrafıyla cevapla. Metin sadece *"aynı ne kalıyor, tek ne değişiyor?"* sorularını cevaplar.
122
131
 
123
132
  ---
124
133
 
@@ -128,14 +137,17 @@ Maintaining exact likeness from the reference throughout.
128
137
 
129
138
  > ⚠️ Use ANONYMOUS labels ("The soldier", "Commander", "The ship") — NEVER real person names.
130
139
 
131
- ```
132
- [REFERENCE LOCK] Using uploaded reference images:
133
- - Reference 1: [Anonymous label] - Match face and body EXACTLY
134
- - Reference 2: [Object label] - Replicate design PRECISELY
135
- - Reference 3: [Style] - Match visual aesthetic
136
-
137
- [Then continue with the rest of the prompt...]
138
- ```
140
+ ```
141
+ [REFERENCE LOCK] Using uploaded reference images:
142
+ - Reference 1: [Anonymous label] - Match identity EXACTLY and do not modify visible wardrobe/accessories
143
+ - Reference 2: [Object label] - Replicate design PRECISELY; do not restyle materials/pattern/logo
144
+ - Reference 3: [Style] - Match visual aesthetic
145
+
146
+ Keep same: [identity + wardrobe + accessories + prop design + lens feel + light direction + subject scale]
147
+ Change only: [one intentional beat]
148
+
149
+ [Then continue with the rest of the prompt...]
150
+ ```
139
151
 
140
152
  ### Example with Multiple References
141
153
 
@@ -179,12 +191,13 @@ Reference reminders should appear:
179
191
  | Problem | Cause | Fix |
180
192
  |---------|-------|-----|
181
193
  | Different person appears | No explicit reference command | Add `[REFERENCE LOCK]` section at prompt start |
182
- | Similar but not exact | Weak reference language | Use "EXACTLY" "PRECISELY" "IDENTICAL" forcefully |
183
- | Reference ignored mid-prompt | Only mentioned once | Repeat reference reminder 2-3 times throughout |
184
- | Wrong object/prop | Generic description used | Add "from the uploaded reference, not a generic version" |
185
- | Costume changed | Character description too vague | Include specific clothing from reference |
186
- | Facial features changed | AI "improved" the face | Add "do not modify, enhance, or improve the reference face" |
187
- | **Reference face REPLACED** | **Text has detailed face/body description** | **REMOVE all face/hair/body text let reference handle it** |
194
+ | Similar but not exact | Weak reference language | Use "EXACTLY" "PRECISELY" "IDENTICAL" forcefully |
195
+ | Reference ignored mid-prompt | Only mentioned once | Repeat reference reminder 2-3 times throughout |
196
+ | Wrong object/prop | Generic description used | Add "from the uploaded reference, not a generic version" |
197
+ | Costume changed | Prompt re-designed visible wardrobe | State "keep the same wardrobe/accessories exactly as reference" |
198
+ | Facial features changed | AI "improved" the face | Add "do not modify, enhance, or improve the reference face" |
199
+ | Accessory / prop drift | Prompt allowed reinterpretation | Lock accessory and prop design as immutable invariants |
200
+ | **Reference face REPLACED** | **Text has detailed face/body description** | **REMOVE all face/hair/body text — let reference handle it** |
188
201
 
189
202
  ---
190
203
 
@@ -197,12 +210,12 @@ For multi-shot scenarios, maintain consistency:
197
210
  > ⚠️ Use anonymous labels — NEVER real person names in character profiles.
198
211
 
199
212
  ```
200
- CHARACTER: The Soldier (from reference)
201
- - Face: FROM REFERENCE ONLY — do not describe in text
202
- - Costume: Ottoman artillery soldier uniform, period-accurate
203
- - Accessories: Red fez, leather belt
204
- - Expression range: Determined, strained, victorious
205
- ```
213
+ CHARACTER: The Soldier (from reference)
214
+ - Face: FROM REFERENCE ONLY — do not describe in text
215
+ - Costume: FROM REFERENCE ONLY — keep exact wardrobe, no redesign
216
+ - Accessories: FROM REFERENCE ONLY — keep exact accessories, no swaps
217
+ - Expression range: Determined, strained, victorious
218
+ ```
206
219
 
207
220
  > ⚠️ Face/Build satırlarında asla metin tanımı yazma — referans fotoğrafı yeterli.
208
221
 
@@ -215,10 +228,10 @@ Each subsequent shot must include:
215
228
 
216
229
  ### 3. Track Costume Changes
217
230
 
218
- If costume changes (dirt, sweat, torn):
219
- ```
220
- Same character from reference, now with [specific change: dust on uniform, sweat on brow]
221
- ```
231
+ If surface state changes without redesign (dust, sweat, wetness):
232
+ ```
233
+ Same character from reference. Keep wardrobe design identical. Change only state: light dust on the existing uniform surface.
234
+ ```
222
235
 
223
236
  ---
224
237
 
@@ -28,7 +28,22 @@ Use it as the canonical source for all shots in the same scene:
28
28
  "scale_map": "foreground, midground, background object sizes and distance logic",
29
29
  "reflection_risk": "none / glass / mirror / water / metal, plus expected reflection behavior",
30
30
  "physics_constraints": "gravity, contact points, support surfaces, cloth/hair/liquid behavior",
31
- "seed_strategy": "locked seed for variants / new seed for structural repair / unknown platform seed"
31
+ "seed_strategy": "locked seed for same-scene variants and start/end pairs / new seed for structural repair or explicit CHAIN BREAK",
32
+ "identity_lock": "exact-reference / n/a",
33
+ "shared_frame_invariants": [
34
+ "identity",
35
+ "wardrobe",
36
+ "accessories",
37
+ "prop design",
38
+ "lens family",
39
+ "camera height",
40
+ "subject scale",
41
+ "light direction",
42
+ "color temperature",
43
+ "location shell"
44
+ ],
45
+ "allowed_change": "one major semantic delta per start/end pair unless explicit CHAIN BREAK",
46
+ "reference_drift_forbidden": true
32
47
  }
33
48
  }
34
49
  ```
@@ -50,6 +65,9 @@ Reject or repair a prompt package if any item fails:
50
65
  - Foreground/background coherence: background does not match foreground perspective, lighting, color temperature, and style.
51
66
  - Contextual contradiction: prompt contains incompatible scene logic unless explicitly justified.
52
67
  - Scene-specific avoid line: avoid terms are generic only, missing the scene's actual failure modes.
68
+ - Reference drift: when a reference exists, face, hair, skin tone, body proportions, wardrobe, accessories, prop design, material, pattern, or logo drift from the reference.
69
+ - Start/end change budget: the pair changes more than one major semantic beat without an explicit `CHAIN BREAK`, or fails to declare `Keep same` and `Change only`.
70
+ - Seed discipline: same-scene reference variants and start/end pairs fail to preserve a locked-seed strategy, or a structural repair reuses the old seed without justification.
53
71
 
54
72
  ## Chained `ILK FRAME` Rule
55
73
 
@@ -67,8 +85,11 @@ If a new `ILK FRAME` prompt is required, mark the shot as `CHAIN BREAK - [reason
67
85
  Append the relevant semantic anchors to every image prompt:
68
86
 
69
87
  ```text
88
+ Reference lock: same person/object exactly as reference. Do not modify face, hair, skin, body proportions, wardrobe, accessories, or prop design.
89
+ Keep same: [shared_frame_invariants].
90
+ Change only: [allowed_change].
70
91
  Semantic consistency: [camera height], [lens family], [horizon/vanishing logic], camera movement [static or named 24-move lexicon term], single [light source] from [direction] at [angle], [color temperature], all shadows falling [direction], scale map [FG/MG/BG distances], contact points and gravity physically plausible, background perspective and lighting match the foreground, reflection handling [none/matte/accurate].
71
- Avoid: improper perspective, wrong scale, inconsistent shadows, impossible geometry, conflicting light sources, unrealistic reflections, floating objects, disconnected elements, broken gravity, bad anatomy, extra fingers, deformed hands, foreground-background mismatch, contextual contradiction, [scene-specific terms].
92
+ Avoid: improper perspective, wrong scale, inconsistent shadows, impossible geometry, conflicting light sources, unrealistic reflections, floating objects, disconnected elements, broken gravity, bad anatomy, extra fingers, deformed hands, foreground-background mismatch, contextual contradiction, reference drift, outfit drift, prop drift, lens drift, unexplained semantic change, [scene-specific terms].
72
93
  ```
73
94
 
74
95
  Keep avoid lines targeted. Prefer 15-25 concrete scene-relevant terms over long universal lists.
@@ -81,6 +102,8 @@ Write `SEMANTIC-RENDER-REPORT.md` or a `Semantic Render QA` section in `RENDER-R
81
102
 
82
103
  ```markdown
83
104
  - semantic_render_status: pass/fail
105
+ - reference_drift_status: pass/fail
106
+ - start_end_contract_status: pass/fail
84
107
  - perspective_geometry_status: pass/fail
85
108
  - shadow_vector_status: pass/fail
86
109
  - scale_depth_status: pass/fail
@@ -91,4 +114,4 @@ Write `SEMANTIC-RENDER-REPORT.md` or a `Semantic Render QA` section in `RENDER-R
91
114
  - rerender_or_recover_actions: [none or exact SHOTNN actions]
92
115
  ```
93
116
 
94
- Fail the render if the actual media contradicts the canonical `visual_world` or if a chained first frame is not an exact copy of the previous rendered end frame.
117
+ Fail the render if the actual media contradicts the canonical `visual_world`, drifts from reference-locked identity/design, violates the `Keep same` / `Change only` contract, or if a chained first frame is not an exact copy of the previous rendered end frame.