@@ -17,13 +17,19 @@ import {
1717 type OutputFormat ,
1818 type DashScopeTaskResponse ,
1919 generateFilename ,
20+ resolveBooleanFlag ,
21+ resolveWatermark ,
2022} from "bailian-cli-core" ;
2123import { poll } from "../../utils/polling.ts" ;
2224import { downloadFile } from "../../utils/download.ts" ;
2325import { runConcurrent , downloadParallel , getConcurrency } from "../../utils/concurrent.ts" ;
2426import { promptText , failIfMissing } from "../../output/prompt.ts" ;
2527import { emitResult , emitBare } from "../../output/output.ts" ;
2628import { resolveImageSize } from "../../utils/image-size.ts" ;
29+ import {
30+ BOOL_FLAG_PROMPT_EXTEND_IMAGE_GENERATE ,
31+ BOOL_FLAG_WATERMARK ,
32+ } from "../../utils/flag-descriptions.ts" ;
2733
2834import { join } from "path" ;
2935
@@ -57,11 +63,13 @@ export default defineCommand({
5763 description : "Negative prompt to exclude unwanted content" ,
5864 } ,
5965 {
60- flag : "--prompt-extend" ,
61- description : "Automatically extend prompt for better results (default: true for qwen-image)" ,
66+ flag : "--prompt-extend <bool>" ,
67+ description : BOOL_FLAG_PROMPT_EXTEND_IMAGE_GENERATE ,
68+ } ,
69+ {
70+ flag : "--watermark <bool>" ,
71+ description : BOOL_FLAG_WATERMARK ,
6272 } ,
63- { flag : "--no-prompt-extend" , description : "Disable prompt extend" } ,
64- { flag : "--watermark" , description : "Add watermark to generated images" } ,
6573 {
6674 flag : "--no-wait" ,
6775 description : "Return task ID immediately without waiting (async models only)" ,
@@ -78,7 +86,9 @@ export default defineCommand({
7886 'bl image generate --prompt "一只穿太空服的猫在火星上"' ,
7987 'bl image generate --prompt "Logo design" --n 3 --out-dir ./generated/' ,
8088 'bl image generate --prompt "Mountain landscape" --size 2688*1536' ,
81- 'bl image generate --prompt "A castle" --seed 42 --no-prompt-extend' ,
89+ 'bl image generate --prompt "A castle" --seed 42 --prompt-extend false' ,
90+ 'bl image generate --prompt "Logo" --watermark false' ,
91+ 'bl image generate --prompt "An alien in the space" --watermark false' ,
8292 'bl image generate --prompt "sunset" --model wan2.6-t2i --no-wait --quiet' ,
8393 'bl image generate --prompt "Pro quality" --model qwen-image-2.0-pro' ,
8494 'bl image generate --prompt "Product shots" --n 2 --concurrent 3 # 6 images in parallel' ,
@@ -111,15 +121,13 @@ export default defineCommand({
111121 const n = ( flags . n as number ) ?? 1 ;
112122 const concurrent = getConcurrency ( flags ) ;
113123
114- // Determine prompt_extend: default true for qwen-image, undefined for others
115- let promptExtend : boolean | undefined ;
116- if ( flags . noPromptExtend === true ) {
117- promptExtend = false ;
118- } else if ( flags . promptExtend === true ) {
119- promptExtend = true ;
120- } else if ( useSync ) {
121- promptExtend = true ; // qwen-image default
122- }
124+ const promptExtend = resolveBooleanFlag (
125+ flags . promptExtend ,
126+ useSync ? true : undefined ,
127+ "prompt-extend" ,
128+ ) ;
129+
130+ const watermark = resolveWatermark ( flags . watermark ) ;
123131
124132 const body : DashScopeImageRequest = {
125133 model,
@@ -131,7 +139,7 @@ export default defineCommand({
131139 n,
132140 seed : flags . seed as number | undefined ,
133141 prompt_extend : promptExtend ,
134- watermark : flags . watermark === true ? true : undefined ,
142+ watermark,
135143 negative_prompt : ( flags . negativePrompt as string ) || undefined ,
136144 } ,
137145 } ;
0 commit comments