diff --git a/routers/gen_router.py b/routers/gen_router.py index e7aba54..0c83aec 100644 --- a/routers/gen_router.py +++ b/routers/gen_router.py @@ -346,18 +346,22 @@ async def generate_image( quality=Quality[data['quality']], ) + images = [] if generated_images_io: for img_io in generated_images_io: + # Читаем байты + content = img_io.read() + + # Сразу закрываем поток от адаптера, освобождая память + img_io.close() + images.append( BufferedInputFile( - img_io.read(), + content, filename=f"img_{random.randint(1000, 9999)}.png" ) ) - # Важно: img_io здесь тоже BytesIO. После отправки aiogram закроет его сам, - # либо он удалится GC. Но если список generated_images_io большой, - # он висит в памяти до выхода из функции. return images