From 213e738140859dbcc12c2540ce40d6b6d2875aa7 Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Sun, 13 Sep 2026 22:02:44 +0900 Subject: ddim timestep_spacingをtrailingに強制するモードを追加 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mcp_sd15/config.py | 4 +++- src/mcp_sd15/pipeline_factory.py | 5 +++++ src/mcp_sd15/service.py | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mcp_sd15/config.py b/src/mcp_sd15/config.py index 39f31c9..c82cb6e 100644 --- a/src/mcp_sd15/config.py +++ b/src/mcp_sd15/config.py @@ -11,7 +11,9 @@ from typing import Any from .errors import ConfigError VALID_SIZES = frozenset({"square_512", "landscape_512", "portrait_512"}) -VALID_SCHEDULERS = frozenset({"dpmpp_2m_karras", "dpmpp_2m_sde_karras", "euler_a", "ddim", "lcm"}) +VALID_SCHEDULERS = frozenset( + {"dpmpp_2m_karras", "dpmpp_2m_sde_karras", "euler_a", "ddim", "ddim_trailing", "lcm"} +) VALID_TRANSPORTS = frozenset({"stdio", "streamable-http"}) diff --git a/src/mcp_sd15/pipeline_factory.py b/src/mcp_sd15/pipeline_factory.py index 02fe882..e865555 100644 --- a/src/mcp_sd15/pipeline_factory.py +++ b/src/mcp_sd15/pipeline_factory.py @@ -151,6 +151,11 @@ class PipelineFactory: solver_order=2, use_karras_sigmas=True, ) + if name == "ddim_trailing": + return diffusers.DDIMScheduler.from_config( + current.config, + timestep_spacing="trailing", + ) classes = { "euler_a": diffusers.EulerAncestralDiscreteScheduler, "ddim": diffusers.DDIMScheduler, diff --git a/src/mcp_sd15/service.py b/src/mcp_sd15/service.py index 65b62e7..c1feade 100644 --- a/src/mcp_sd15/service.py +++ b/src/mcp_sd15/service.py @@ -96,6 +96,7 @@ class ImageGenerationService: "seed": seed, "size": str(request.size), "mode": method, + "scheduler": self.config.generation.scheduler, "timestamp": datetime.now(UTC).isoformat(), "elapsed_seconds": round(time.monotonic() - started, 3), } -- cgit v1.2.3