diff options
| author | tanaka takashi <isazaka@gmail.com> | 2026-09-13 22:02:44 +0900 |
|---|---|---|
| committer | tanaka takashi <isazaka@gmail.com> | 2026-09-13 22:02:44 +0900 |
| commit | 213e738140859dbcc12c2540ce40d6b6d2875aa7 (patch) | |
| tree | 93443693ffbfbfb8706e1eea2f857d677d62cb4a /src/mcp_sd15 | |
| parent | de44625e3baae4d43ad096248b7096578b11e0b0 (diff) | |
ddim timestep_spacingをtrailingに強制するモードを追加
Diffstat (limited to 'src/mcp_sd15')
| -rw-r--r-- | src/mcp_sd15/config.py | 4 | ||||
| -rw-r--r-- | src/mcp_sd15/pipeline_factory.py | 5 | ||||
| -rw-r--r-- | src/mcp_sd15/service.py | 1 |
3 files changed, 9 insertions, 1 deletions
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), } |
