Bow Tie Kreative VIDEO Grammar

Chapters · 17 of 21

LAKA Media Command Language

This material is a specification and reference set with a reference rule engine. It is not an editing application, a rendering pipeline or a completed production, and the worked example is entirely fictional — it exists to demonstrate the method.

1. Purpose

The DSL lets a human or agent declare media objectives, objects, constraints, variation levels, and transformations without binding the system to one editing application.

COMMAND
= verb
+ target
+ selectors
+ parameters
+ logic
+ constraints
+ expected output

2. Core commands

/project
/source
/ingest
/sync
/transcribe
/segment
/context
/entity
/claim
/evidence
/clip
/bin
/story
/sequence
/beat
/question
/shot
/camera
/light
/generate
/cut
/transition
/graphic
/audio
/color
/vfx
/caption
/version
/deliver
/qa
/review
/vary
/rank
/compare
/export

3. Logic operators

AND
OR
NOT
XOR
IF
THEN
ELSE
WHEN
UNTIL
WHILE
FOR_EACH
REQUIRE
PREFER
AVOID
FORBID
ALLOW
LIMIT
BETWEEN
WITHIN
WEIGHT
THRESHOLD
MAXIMIZE
MINIMIZE
PRESERVE
LOCK

4. Selector grammar

speaker:guest
topic:"color management"
role:REVEAL
claim.status:SUPPORTED_WITHIN_SCOPE
duration:8..30s
score.context>=0.85
camera.role:GUEST_PRIMARY
source.id:cam_b
rights:CLEARED
version.parent:v07

Combine:

speaker:guest AND role:(REVEAL OR MECHANISM)
AND duration:8..30s
AND score.context>=0.85
NOT risk:(rights OR factual)

5. Assignment and range syntax

key=value
key:value
key>=value
key<=value
key in [a,b,c]
key=10..30
key~=semantic_phrase

Units are explicit:

12s
250ms
24fps
48kHz
-16LUFS
-1dBTP
45deg
35mm
2stops

6. LAKA variation syntax

/vary target:shot_12 level:minor count:6
  PRESERVE subject, action, key_direction
  VARY framing, movement_speed
  LIMIT changed_dimensions<=2
/vary target:story_v3 level:structural count:4
  LOCK claims, quotations, evidence
  VARY order, narrator, intercut_strategy
  MAXIMIZE causal_clarity, payoff_strength, diversity

7. Project commands

/project create id:made_ep01
  title:"MADE — Reintroduction"
  mode:video_podcast
  aspect_targets:[16x9,9x16,1x1]
  language:en
  REQUIRE captions, provenance, human_story_approval
/project set made_ep01
  audience:"creative founders"
  outcome:"understand Ryan and his connected projects"
  tone:[direct, unsettling, reflective, earned_hope]
  FORBID fabricated_evidence, misleading_reaction

8. Source and transcript commands

/source add path:"interview_cam_a.mov" role:MASTER
/source add path:"guest_iso.wav" role:DIALOGUE_ISO speaker:guest
/ingest project:made_ep01 checksum:true proxy:1080p
/sync sources:* method:(timecode OR waveform) tolerance:1frame
/transcribe sources:audio* words:true speakers:true confidence:true
/segment transcript:* levels:[turn,sentence,proposition,beat,topic]
/context transcript:*
  RESOLVE entities, pronouns, questions, claims, negation, uncertainty
  LINK cause_effect, question_answer, setup_payoff, contradiction

9. Clip commands

/clip mine transcript:*
  scales:[hook,soundbite,exchange,anecdote,chapter]
  handles:24frames
  REQUIRE context_complete>=0.82
  SCORE_BY hook, clarity, evidence, emotion, performance
/bin create name:REVEALS selector:"role:REVEAL AND score.context>=0.85"
/clip expand id:clip_118
  UNTIL dependencies_resolved OR duration>=60s
  ALLOW bridge:narration

10. Story commands

/story generate from:clips:selected
  pattern:investigation
  target:8min
  REQUIRE hook, orientation, central_question, evidence, counterpoint, payoff
  PRESERVE chronology_truth, quote_meaning
  MAXIMIZE causal_clarity, emotional_coherence
/beat add after:beat_04
  role:MECHANISM
  proposition:"The editor stores meaning separately from render choices"
  treatment:[diagram,narration]
  exit_state:"audience can predict the workflow"
/story validate id:story_v5
  CHECK open_loops, dependencies, stakes, claim_support, setup_payoff

11. Camera commands

/shot plan beat:beat_07
  function:VULNERABILITY
  camera.role:GUEST_CLOSE
  size:CLOSE
  azimuth:THREE_QUARTER
  elevation:EYE_LEVEL
  lens_family:SHORT_TELEPHOTO
  movement:LOCKED_OFF
  duration:10..25s
  PREFER readable_eyes, stable_frame
  AVOID rapid_cutting, shallow_focus_failure
/camera set shot:shot_07
  height:eye
  focal_length:85mm
  aperture:f2.8
  focus:TRACK_EYES
  shutter:180deg
  frame_rate:24fps
  screen_direction:left_to_right

12. Lighting commands

/light set shot:shot_07
  motivation:"window camera-right"
  key.direction:far_side_45deg
  key.quality:soft
  fill:key_minus_2stops
  background:key_minus_1stop
  practical:warm_deep_background
  white_balance:4300K
  LOCK key_direction, practical_state
/light vary shot:shot_07 level:minor count:4
  VARY fill_ratio, background_level
  PRESERVE motivation, skin_rendering

13. Generation commands

/generate video for:shot_07
  mode:reference_guided
  duration:8s
  entry:"subject looking down; hands still"
  action:"subject raises eyes and finishes sentence"
  exit:"direct eyeline held for one second"
  LOCK character_bible, wardrobe, lens, key_direction
  FORBID face_drift, hand_mutation, light_flicker, text
  count:8
/rank generated:shot_07/*
  WEIGHT beat_fulfillment:0.25 continuity:0.20 identity:0.20 editability:0.15
  MINIMIZE artifact, rights_risk
  DIVERSITY_BY performance, micro_movement
  keep:3

14. Editing commands

/cut from:clip_24 to:clip_91
  type:J_CUT
  motivation:ANTICIPATE
  audio_lead:18frames
  REQUIRE no_false_causality, context_complete
/cut assemble story:story_v5
  PREFER cut_on_action, reaction_when_meaningful, audio_bridges
  AVOID angle_rotation_without_motivation
  LIMIT average_shot_length:2.5..8s
/transition between:seq_2,seq_3
  IF relation:time_passage THEN type:DISSOLVE duration:12frames
  ELSE type:CUT

15. Graphic commands

/graphic add beat:beat_09
  task:EXPLAIN_MECHANISM
  type:CAUSAL_DIAGRAM
  data:claims/model.json
  mode:FULL_SCREEN
  phases:[ORIENT,BUILD,EMPHASIZE,HOLD]
  REQUIRE source_note, narration_alt, caption_clearance
/graphic reflow id:graphic_09 target:9x16
  transform:side_by_side_to_stacked
  LOCK data_mapping, hierarchy

16. Audio commands

/audio dialogue source:guest_iso
  repair:[dehum,declick]
  match_to:host_iso
  target_profile:ONLINE_PODCAST
  PRESERVE emotional_breaths
/audio music beat:beat_14
  function:RELEASE
  start:after_payoff
  PREFER sparse_texture
  DUCK under:dialogue
  REQUIRE rights:CLEARED

17. Version and QA commands

/version derive from:master_v7 target:9x16
  reframe:semantic_subject_tracking
  captions:burned
  graphics:responsive
  REQUIRE human_reframe_review
/qa run version:v7_vertical
  domains:[editorial,factual,continuity,picture,audio,graphics,accessibility,rights,ai,encode]
  BLOCK_ON severity<=CRITICAL
  OUTPUT report:json+html

18. EBNF sketch

command       = "/", identifier, { argument | clause }, newline ;
argument      = key, operator, value ;
operator      = ":" | "=" | ">=" | "<=" | "~=" ;
clause        = logic_op, expression ;
logic_op      = "IF" | "THEN" | "ELSE" | "REQUIRE" | "PREFER"
              | "AVOID" | "FORBID" | "LOCK" | "VARY" | "LIMIT"
              | "MAXIMIZE" | "MINIMIZE" | "PRESERVE" ;
expression    = predicate, { boolean_op, predicate } ;
boolean_op    = "AND" | "OR" | "XOR" ;
predicate     = ["NOT"], key, operator, value ;
value         = scalar | range | list | object | quoted_string ;
range         = scalar, "..", scalar ;
list          = "[", [value, {",", value}], "]" ;
object        = "{", [argument, {",", argument}], "}" ;
identifier    = letter, {letter | digit | "_" | "-"} ;

19. Compilation model

parse command
→ resolve selectors
→ validate schema and permissions
→ normalize units
→ expand macros
→ evaluate hard rules
→ create typed proposal operations
→ estimate cost/risk
→ execute or request human gate
→ attach rule trace and provenance

20. DSL safety rules

A command never overwrites source media.
A destructive-looking command compiles to a reversible proposal/version.
FORBID and REQUIRE outrank PREFER.
Truth, consent, rights, and accessibility hard constraints cannot be lowered by style commands.
Every generated asset and timeline mutation receives provenance.
Every override requires identity, reason, and scope.

This chapter as markdown →