@@ -103,7 +103,6 @@ struct SDParams {
103103 bool verbose = false ;
104104 bool offload_params_to_cpu = false ;
105105 bool control_net_cpu = false ;
106- bool normalize_input = false ;
107106 bool clip_on_cpu = false ;
108107 bool vae_on_cpu = false ;
109108 bool diffusion_flash_attn = false ;
@@ -156,7 +155,6 @@ void print_params(SDParams params) {
156155 printf (" pm_id_images_dir: %s\n " , params.pm_id_images_dir .c_str ());
157156 printf (" pm_id_embed_path: %s\n " , params.pm_id_embed_path .c_str ());
158157 printf (" pm_style_strength: %.2f\n " , params.pm_style_strength );
159- printf (" normalize input image: %s\n " , params.normalize_input ? " true" : " false" );
160158 printf (" output_path: %s\n " , params.output_path .c_str ());
161159 printf (" init_image_path: %s\n " , params.init_image_path .c_str ());
162160 printf (" end_image_path: %s\n " , params.end_image_path .c_str ());
@@ -248,9 +246,10 @@ void print_usage(int argc, const char* argv[]) {
248246 printf (" --skip-layers LAYERS Layers to skip for SLG steps: (default: [7,8,9])\n " );
249247 printf (" --skip-layer-start START SLG enabling point: (default: 0.01)\n " );
250248 printf (" --skip-layer-end END SLG disabling point: (default: 0.2)\n " );
251- printf (" --scheduler {discrete, karras, exponential, ays, gits, smoothstep} Denoiser sigma scheduler (default: discrete)\n " );
249+ printf (" --scheduler {discrete, karras, exponential, ays, gits, smoothstep, sgm_uniform, simple } Denoiser sigma scheduler (default: discrete)\n " );
252250 printf (" --sampling-method {euler, euler_a, heun, dpm2, dpm++2s_a, dpm++2m, dpm++2mv2, ipndm, ipndm_v, lcm, ddim_trailing, tcd}\n " );
253251 printf (" sampling method (default: \" euler\" for Flux/SD3/Wan, \" euler_a\" otherwise)\n " );
252+ printf (" --timestep-shift N shift timestep for NitroFusion models, default: 0, recommended N for NitroSD-Realism around 250 and 500 for NitroSD-Vibrant\n " );
254253 printf (" --steps STEPS number of sample steps (default: 20)\n " );
255254 printf (" --high-noise-cfg-scale SCALE (high noise) unconditional guidance scale: (default: 7.0)\n " );
256255 printf (" --high-noise-img-cfg-scale SCALE (high noise) image guidance scale for inpaint or instruct-pix2pix models: (default: same as --cfg-scale)\n " );
@@ -261,7 +260,7 @@ void print_usage(int argc, const char* argv[]) {
261260 printf (" --high-noise-skip-layers LAYERS (high noise) Layers to skip for SLG steps: (default: [7,8,9])\n " );
262261 printf (" --high-noise-skip-layer-start (high noise) SLG enabling point: (default: 0.01)\n " );
263262 printf (" --high-noise-skip-layer-end END (high noise) SLG disabling point: (default: 0.2)\n " );
264- printf (" --high-noise-scheduler {discrete, karras, exponential, ays, gits, smoothstep} Denoiser sigma scheduler (default: discrete)\n " );
263+ printf (" --high-noise-scheduler {discrete, karras, exponential, ays, gits, smoothstep, sgm_uniform, simple } Denoiser sigma scheduler (default: discrete)\n " );
265264 printf (" --high-noise-sampling-method {euler, euler_a, heun, dpm2, dpm++2s_a, dpm++2m, dpm++2mv2, ipndm, ipndm_v, lcm, ddim_trailing, tcd}\n " );
266265 printf (" (high noise) sampling method (default: \" euler_a\" )\n " );
267266 printf (" --high-noise-steps STEPS (high noise) number of sample steps (default: -1 = auto)\n " );
@@ -274,7 +273,7 @@ void print_usage(int argc, const char* argv[]) {
274273 printf (" --rng {std_default, cuda} RNG (default: cuda)\n " );
275274 printf (" -s SEED, --seed SEED RNG seed (default: 42, use random seed for < 0)\n " );
276275 printf (" -b, --batch-count COUNT number of images to generate\n " );
277- printf (" --clip-skip N ignore last_dot_pos layers of CLIP network; 1 ignores none, 2 ignores one layer (default: -1)\n " );
276+ printf (" --clip-skip N ignore last layers of CLIP network; 1 ignores none, 2 ignores one layer (default: -1)\n " );
278277 printf (" <= 0 represents unspecified, will be 1 for SD1.x, 2 for SD2.x\n " );
279278 printf (" --vae-tiling process vae in tiles to reduce memory usage\n " );
280279 printf (" --vae-tile-size [X]x[Y] tile size for vae tiling (default: 32x32)\n " );
@@ -305,7 +304,6 @@ void print_usage(int argc, const char* argv[]) {
305304 printf (" --pm-id-images-dir [DIR] path to PHOTOMAKER input id images dir\n " );
306305 printf (" --pm-id-embed-path [PATH] path to PHOTOMAKER v2 id embed\n " );
307306 printf (" --pm-style-strength strength for keeping PHOTOMAKER input identity (default: 20)\n " );
308- printf (" --normalize-input normalize PHOTOMAKER input id images\n " );
309307 printf (" -v, --verbose print extra info\n " );
310308}
311309
@@ -520,6 +518,7 @@ void parse_args(int argc, const char** argv, SDParams& params) {
520518 {" " , " --chroma-t5-mask-pad" , " " , ¶ms.chroma_t5_mask_pad },
521519 {" " , " --video-frames" , " " , ¶ms.video_frames },
522520 {" " , " --fps" , " " , ¶ms.fps },
521+ {" " , " --timestep-shift" , " " , ¶ms.sample_params .shifted_timestep },
523522 };
524523
525524 options.float_options = {
@@ -550,7 +549,6 @@ void parse_args(int argc, const char** argv, SDParams& params) {
550549 {" " , " --vae-tiling" , " " , true , ¶ms.vae_tiling_params .enabled },
551550 {" " , " --offload-to-cpu" , " " , true , ¶ms.offload_params_to_cpu },
552551 {" " , " --control-net-cpu" , " " , true , ¶ms.control_net_cpu },
553- {" " , " --normalize-input" , " " , true , ¶ms.normalize_input },
554552 {" " , " --clip-on-cpu" , " " , true , ¶ms.clip_on_cpu },
555553 {" " , " --vae-on-cpu" , " " , true , ¶ms.vae_on_cpu },
556554 {" " , " --diffusion-fa" , " " , true , ¶ms.diffusion_flash_attn },
@@ -875,6 +873,11 @@ void parse_args(int argc, const char** argv, SDParams& params) {
875873 exit (1 );
876874 }
877875
876+ if (params.sample_params .shifted_timestep < 0 || params.sample_params .shifted_timestep > 1000 ) {
877+ fprintf (stderr, " error: timestep-shift must be between 0 and 1000\n " );
878+ exit (1 );
879+ }
880+
878881 if (params.upscale_repeats < 1 ) {
879882 fprintf (stderr, " error: upscale multiplier must be at least 1\n " );
880883 exit (1 );
@@ -1372,7 +1375,6 @@ int main(int argc, const char* argv[]) {
13721375 params.batch_count ,
13731376 control_image,
13741377 params.control_strength ,
1375- params.normalize_input ,
13761378 {
13771379 pmid_images.data (),
13781380 (int )pmid_images.size (),
0 commit comments