@@ -49,11 +49,18 @@ def cmd_generate(ns: argparse.Namespace) -> int:
4949 kwargs : Dict [str , Any ] = {}
5050 if ns .model :
5151 kwargs ["model" ] = ns .model
52+ if ns .aspect_ratio :
53+ kwargs ["aspect_ratio" ] = ns .aspect_ratio
54+ if ns .negative_prompt :
55+ kwargs ["negative_prompt" ] = ns .negative_prompt
56+ if ns .person_generation :
57+ kwargs ["person_generation" ] = ns .person_generation
5258 if ns .image :
5359 result = veo .generate_from_image (
5460 image_path = Path (ns .image ),
5561 prompt = ns .prompt ,
5662 on_progress = _print_progress ,
63+ ** kwargs ,
5764 )
5865 elif ns .video :
5966 result = veo .generate_from_video (
@@ -79,12 +86,21 @@ def cmd_generate(ns: argparse.Namespace) -> int:
7986def cmd_continue (ns : argparse .Namespace ) -> int :
8087 veo .init ()
8188 # Generate continuation
89+ kwargs : Dict [str , Any ] = {}
90+ if ns .model :
91+ kwargs ["model" ] = ns .model
92+ if ns .aspect_ratio :
93+ kwargs ["aspect_ratio" ] = ns .aspect_ratio
94+ if ns .negative_prompt :
95+ kwargs ["negative_prompt" ] = ns .negative_prompt
96+ if ns .person_generation :
97+ kwargs ["person_generation" ] = ns .person_generation
8298 gen = veo .generate_from_video (
8399 video_path = Path (ns .video ),
84100 prompt = ns .prompt ,
85101 extract_at = ns .extract_at ,
86- model = ns .model ,
87102 on_progress = _print_progress ,
103+ ** kwargs ,
88104 )
89105 # Stitch with original
90106 stitched = veo .stitch_videos ([Path (ns .video ), Path (gen .path )], overlap = ns .overlap )
@@ -117,6 +133,9 @@ def build_parser() -> argparse.ArgumentParser:
117133 s .add_argument ("--image" , help = "Path to input image" )
118134 s .add_argument ("--video" , help = "Path to input video" )
119135 s .add_argument ("--extract-at" , type = float , default = - 1.0 , help = "Time offset for video continuation" )
136+ s .add_argument ("--aspect-ratio" , choices = ["16:9" ,"9:16" ], help = "Requested aspect ratio (model-dependent)" )
137+ s .add_argument ("--negative-prompt" , help = "Text to avoid in generation" )
138+ s .add_argument ("--person-generation" , choices = ["allow_all" ,"allow_adult" ,"dont_allow" ], help = "Person generation policy (model/region dependent)" )
120139 s .add_argument ("--json" , action = "store_true" , help = "Output JSON" )
121140 s .set_defaults (func = cmd_generate )
122141
@@ -126,6 +145,9 @@ def build_parser() -> argparse.ArgumentParser:
126145 s .add_argument ("--model" , help = "Model ID" )
127146 s .add_argument ("--extract-at" , type = float , default = - 1.0 )
128147 s .add_argument ("--overlap" , type = float , default = 1.0 )
148+ s .add_argument ("--aspect-ratio" , choices = ["16:9" ,"9:16" ], help = "Requested aspect ratio (model-dependent)" )
149+ s .add_argument ("--negative-prompt" , help = "Text to avoid in generation" )
150+ s .add_argument ("--person-generation" , choices = ["allow_all" ,"allow_adult" ,"dont_allow" ], help = "Person generation policy (model/region dependent)" )
129151 s .add_argument ("--json" , action = "store_true" )
130152 s .set_defaults (func = cmd_continue )
131153
0 commit comments