summaryrefslogtreecommitdiff
path: root/src/mcp_sd15/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/mcp_sd15/tools')
-rw-r--r--src/mcp_sd15/tools/__init__.py1
-rw-r--r--src/mcp_sd15/tools/generate_guided_image.py23
-rw-r--r--src/mcp_sd15/tools/generate_image.py19
-rw-r--r--src/mcp_sd15/tools/inpaint_image.py23
4 files changed, 66 insertions, 0 deletions
diff --git a/src/mcp_sd15/tools/__init__.py b/src/mcp_sd15/tools/__init__.py
new file mode 100644
index 0000000..0c664f1
--- /dev/null
+++ b/src/mcp_sd15/tools/__init__.py
@@ -0,0 +1 @@
+"""Thin MCP-independent tool adapters."""
diff --git a/src/mcp_sd15/tools/generate_guided_image.py b/src/mcp_sd15/tools/generate_guided_image.py
new file mode 100644
index 0000000..c69286c
--- /dev/null
+++ b/src/mcp_sd15/tools/generate_guided_image.py
@@ -0,0 +1,23 @@
+from __future__ import annotations
+
+from ..schema import GenerationResult, GuidedImageRequest
+from ..service import ImageGenerationService
+
+
+async def generate_guided_image(
+ service: ImageGenerationService,
+ positive_prompt: str,
+ control_mode: str,
+ input_image: str,
+ negative_prompt: str | None = None,
+ size: str | None = None,
+) -> GenerationResult:
+ request = GuidedImageRequest.create(
+ positive_prompt,
+ control_mode,
+ input_image,
+ negative_prompt,
+ size,
+ default_size=service.config.generation.default_size,
+ )
+ return await service.generate_guided_image(request)
diff --git a/src/mcp_sd15/tools/generate_image.py b/src/mcp_sd15/tools/generate_image.py
new file mode 100644
index 0000000..bae30c8
--- /dev/null
+++ b/src/mcp_sd15/tools/generate_image.py
@@ -0,0 +1,19 @@
+from __future__ import annotations
+
+from ..schema import GenerationResult, TextToImageRequest
+from ..service import ImageGenerationService
+
+
+async def generate_image(
+ service: ImageGenerationService,
+ positive_prompt: str,
+ negative_prompt: str | None = None,
+ size: str | None = None,
+) -> GenerationResult:
+ request = TextToImageRequest.create(
+ positive_prompt,
+ negative_prompt,
+ size,
+ default_size=service.config.generation.default_size,
+ )
+ return await service.generate_image(request)
diff --git a/src/mcp_sd15/tools/inpaint_image.py b/src/mcp_sd15/tools/inpaint_image.py
new file mode 100644
index 0000000..be1dbda
--- /dev/null
+++ b/src/mcp_sd15/tools/inpaint_image.py
@@ -0,0 +1,23 @@
+from __future__ import annotations
+
+from ..schema import GenerationResult, InpaintImageRequest
+from ..service import ImageGenerationService
+
+
+async def inpaint_image(
+ service: ImageGenerationService,
+ positive_prompt: str,
+ input_image: str,
+ mask_image: str,
+ negative_prompt: str | None = None,
+ size: str | None = None,
+) -> GenerationResult:
+ request = InpaintImageRequest.create(
+ positive_prompt,
+ input_image,
+ mask_image,
+ negative_prompt,
+ size,
+ default_size=service.config.generation.default_size,
+ )
+ return await service.inpaint_image(request)