@@ -205,7 +205,7 @@ std::vector<std::string> ImageGenerator::generateInternal(const ImageGenerationP
205205 if (vae_tiling_) {
206206 gen_params.vae_tiling_params .enabled = true ;
207207
208- // Parse tile size
208+ // Parse tile size (in pixel space, will convert to latent space)
209209 int tile_size_x = 256 ;
210210 int tile_size_y = 256 ;
211211 if (!vae_tile_size_.empty ()) {
@@ -225,12 +225,17 @@ std::vector<std::string> ImageGenerator::generateInternal(const ImageGenerationP
225225 }
226226 }
227227
228- gen_params.vae_tiling_params .tile_size_x = tile_size_x;
229- gen_params.vae_tiling_params .tile_size_y = tile_size_y;
228+ // Convert from pixel space to latent space (VAE downscaling factor is 8)
229+ int latent_tile_x = tile_size_x / 8 ;
230+ int latent_tile_y = tile_size_y / 8 ;
231+
232+ gen_params.vae_tiling_params .tile_size_x = latent_tile_x;
233+ gen_params.vae_tiling_params .tile_size_y = latent_tile_y;
230234 gen_params.vae_tiling_params .target_overlap = 0 .5f ;
231- gen_params.vae_tiling_params .rel_size_x = 1 .0f ;
232- gen_params.vae_tiling_params .rel_size_y = 1 .0f ;
233- LOG_INFO (" VAE tiling enabled with tile size %dx%d" , tile_size_x, tile_size_y);
235+ gen_params.vae_tiling_params .rel_size_x = 0 .0f ;
236+ gen_params.vae_tiling_params .rel_size_y = 0 .0f ;
237+ LOG_INFO (" VAE tiling enabled with tile size %dx%d pixels (%dx%d latent)" , tile_size_x, tile_size_y,
238+ latent_tile_x, latent_tile_y);
234239 }
235240
236241 // Generate images
0 commit comments