Qwen-Image-Layered-MRP-MLX/tests/image_generation/test_generate_image.py

84 lines
2.9 KiB
Python

import pytest
from mflux.models.common.config import ModelConfig
from mflux.models.flux.variants.txt2img.flux import Flux1
from tests.image_generation.helpers.image_generation_test_helper import ImageGeneratorTestHelper
class TestImageGenerator:
@pytest.mark.slow
def test_image_generation_schnell(self):
ImageGeneratorTestHelper.assert_matches_reference_image(
reference_image_path="reference_schnell.png",
output_image_path="output_schnell.png",
model_class=Flux1,
model_config=ModelConfig.schnell(),
steps=2,
seed=42,
height=341,
width=768,
prompt="Luxury food photograph",
)
@pytest.mark.slow
def test_image_generation_dev(self):
ImageGeneratorTestHelper.assert_matches_reference_image(
reference_image_path="reference_dev.png",
output_image_path="output_dev.png",
model_class=Flux1,
model_config=ModelConfig.dev(),
steps=15,
seed=42,
height=341,
width=768,
prompt="Luxury food photograph",
)
@pytest.mark.slow
def test_image_generation_dev_lora(self):
ImageGeneratorTestHelper.assert_matches_reference_image(
reference_image_path="reference_dev_lora.png",
output_image_path="output_dev_lora.png",
model_class=Flux1,
model_config=ModelConfig.dev(),
steps=15,
seed=42,
height=341,
width=768,
prompt="mkym this is made of wool, burger",
lora_paths=["FLUX-dev-lora-MiaoKa-Yarn-World.safetensors"],
lora_scales=[1.0],
)
@pytest.mark.slow
def test_image_generation_dev_multiple_loras(self):
ImageGeneratorTestHelper.assert_matches_reference_image(
reference_image_path="reference_dev_lora_multiple.png",
output_image_path="output_dev_lora_multiple.png",
model_class=Flux1,
model_config=ModelConfig.dev(),
steps=15,
seed=42,
height=341,
width=768,
prompt="Renaissance painting, mkym this is made of wool, burger",
lora_paths=["FLUX-dev-lora-MiaoKa-Yarn-World.safetensors", "Flux_-_Renaissance_art_style.safetensors"],
lora_scales=[0.4, 0.6],
)
@pytest.mark.slow
def test_image_generation_dev_image_to_image(self):
ImageGeneratorTestHelper.assert_matches_reference_image(
reference_image_path="reference_dev_image_to_image.png",
output_image_path="output_dev_image_to_image.png",
model_class=Flux1,
image_strength=0.4,
model_config=ModelConfig.dev(),
steps=8,
seed=44,
height=341,
width=768,
image_path="reference_dev_lora.png",
prompt="Luxury food photograph of a burger",
)