@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.
- package/README.md +62 -0
- package/build/lib/templates.js +28 -22
- package/content/agents/prompt-engineer.md +3 -3
- package/content/skills/frame-chaining/SKILL.md +10 -1
- package/content/skills/prompt-structure/SKILL.md +33 -27
- package/content/skills/reference-locking/SKILL.md +70 -57
- package/content/skills/semantic-consistency/SKILL.md +26 -3
- package/content/workflows/finish.md +1 -1
- package/content/workflows/generate.md +23 -15
- package/content/workflows/safety-check.md +5 -4
- package/package.json +1 -1
- package/packages/hybrid/README.md +12 -17
- package/packages/hybrid/build/cli.js +7 -8
- package/packages/hybrid/build/lib/templates.js +23 -21
- package/packages/hybrid/content/HYBRID-OVERRIDES.md +6 -4
- package/packages/hybrid/content/skills/nano-banana-pro-image/SKILL.md +13 -8
- package/packages/hybrid/content/skills/prompt-structure/SKILL.md +15 -11
- package/packages/hybrid/content/workflows/generate.md +4 -4
- package/packages/hybrid-smart/README.md +13 -18
- package/packages/hybrid-smart/build/cli.js +7 -8
- package/packages/hybrid-smart/build/lib/templates.js +24 -22
- package/packages/hybrid-smart/content/SMART-HYBRID-OVERRIDES.md +4 -4
- package/packages/hybrid-smart/content/skills/nano-banana-pro-image/SKILL.md +13 -8
- package/packages/hybrid-smart/content/skills/prompt-structure/SKILL.md +11 -9
- package/packages/hybrid-smart/content/workflows/generate.md +4 -4
- package/packages/multi/README.md +13 -17
- package/packages/multi/build/cli.js +7 -8
- package/packages/multi/build/lib/configure.js +1 -1
- package/packages/multi/build/lib/templates.js +19 -12
- package/packages/multi/content/agents/character-consistency-auditor.md +9 -2
- package/packages/multi/content/agents/semantic-auditor.md +5 -1
- package/packages/multi/content/agents/shot-generator.md +9 -5
- package/packages/multi/content/workflows/generate-teammate.md +7 -4
- package/packages/multi/content/workflows/safety-check-multi.md +5 -4
- package/packages/studio/README.md +12 -17
- package/packages/studio/build/cli.js +10 -11
- package/packages/studio/build/lib/configure.js +1 -1
- package/packages/studio/build/lib/templates.js +21 -12
- package/packages/studio/content/agents/render-supervisor.md +6 -0
- package/packages/studio/content/skills/fal-render/SKILL.md +6 -0
- 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.
|
package/build/lib/templates.js
CHANGED
|
@@ -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 —
|
|
222
|
-
- SON FRAME (end frame image prompt —
|
|
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
|
|
225
|
-
- COVERAGE SHOTS (2-3 coverage shots within same file —
|
|
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,
|
|
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 (
|
|
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. **
|
|
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
|
-
-
|
|
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
|
|
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
|
|
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 —
|
|
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 —
|
|
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
|
|
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 —
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
927
|
-
- SON FRAME
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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** |
|
|
40
|
-
| **2** |
|
|
41
|
-
| **3** |
|
|
42
|
-
| **4** | Kamera + Lens | "
|
|
43
|
-
| **5** |
|
|
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
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
[
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
[
|
|
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]
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
|
58
|
-
> **ÇÖZÜM:** Referans varken yüz/saç/vücut
|
|
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 | ❌
|
|
67
|
-
| **P1** | Prompt Text |
|
|
68
|
-
| **P2** | Prompt Text |
|
|
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,
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
|
|
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
|
|
104
|
-
"
|
|
105
|
-
|
|
106
|
-
|
|
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
|
|
114
|
-
Do NOT
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
|
134
|
-
- Reference 2: [Object label] - Replicate design PRECISELY
|
|
135
|
-
- Reference 3: [Style] - Match visual aesthetic
|
|
136
|
-
|
|
137
|
-
[
|
|
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 |
|
|
186
|
-
| Facial features changed | AI "improved" the face | Add "do not modify, enhance, or improve the reference face" |
|
|
187
|
-
|
|
|
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:
|
|
203
|
-
- Accessories:
|
|
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
|
|
219
|
-
```
|
|
220
|
-
Same character from reference
|
|
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
|
|
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.
|