Обновлена модель генерации аниме.

This commit is contained in:
Kirill Kirilenko 2026-03-07 04:32:09 +03:00
parent 1d6fd6f612
commit 25992ef772

View file

@ -29,7 +29,7 @@ PRIVATE_CHAT_MAX_MESSAGES = 40
MAX_OUTPUT_TOKENS = 500 MAX_OUTPUT_TOKENS = 500
FAL_MODEL = "fal-ai/bytedance/seedream/v4.5/text-to-image" FAL_MODEL = "fal-ai/bytedance/seedream/v4.5/text-to-image"
REPLICATE_MODEL = "ultracoderru/nova-anime-xl-il-140:83a9531bdd7eab282e68d16a80d7b25502df827e43d286360299fe6321d81d06" REPLICATE_MODEL = "ultracoderru/nova-anime-xl-14:1a8ded85309ffeb41780db667102ea935e4140b1a15f4a0f669a60a104b722db"
@dataclass() @dataclass()
@ -286,12 +286,13 @@ class AiAgent:
"height": height, "height": height,
"guidance_scale": 4.5, "guidance_scale": 4.5,
"num_inference_steps": 20, "num_inference_steps": 20,
"hires_enable": True,
"disable_safety_checker": True "disable_safety_checker": True
} }
try: try:
outputs = await self.replicate_client.async_run(REPLICATE_MODEL, input=arguments) outputs = await self.replicate_client.async_run(REPLICATE_MODEL, input=arguments)
image = _convert_image_to_jpeg(await outputs[0].aread()) image = _convert_image_to_jpeg(await outputs[0].aread(), (width, height))
return Ok(image) return Ok(image)
except Exception as e: except Exception as e:
print(f"Ошибка генерации изображения: {e}") print(f"Ошибка генерации изображения: {e}")
@ -407,8 +408,10 @@ def _get_resolution_for_aspect_ratio(aspect_ratio: str) -> Tuple[int, int]:
return aspect_ratio_resolution_map.get(aspect_ratio, (1280, 1024)) return aspect_ratio_resolution_map.get(aspect_ratio, (1280, 1024))
def _convert_image_to_jpeg(image: bytes) -> bytes: def _convert_image_to_jpeg(image: bytes, size: Optional[tuple[int, int]] = None) -> bytes:
img = Image.open(BytesIO(image)).convert("RGB") img = Image.open(BytesIO(image)).convert("RGB")
if size is not None:
img = img.resize(size=size, resample=Image.Resampling.BILINEAR)
output = BytesIO() output = BytesIO()
img.save(output, format='JPEG', quality=87, optimize=True) img.save(output, format='JPEG', quality=87, optimize=True)
return output.getvalue() return output.getvalue()