From 420d260936c5283f7b0742267ead20359dbc27fe Mon Sep 17 00:00:00 2001 From: aladac Date: Tue, 3 Mar 2026 18:57:38 +0100 Subject: [PATCH] Add LoRA support to generate API endpoint - Add lora_name and lora_strength parameters - Include LoRA info in request logging Co-Authored-By: Claude Opus 4.5 --- tensors/server/comfyui_api_routes.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tensors/server/comfyui_api_routes.py b/tensors/server/comfyui_api_routes.py index c741e0f..8d89caf 100644 --- a/tensors/server/comfyui_api_routes.py +++ b/tensors/server/comfyui_api_routes.py @@ -45,6 +45,8 @@ class GenerateRequest(PydanticBaseModel): sampler: str = Field(default="euler", description="Sampler name") scheduler: str = Field(default="normal", description="Scheduler name") vae: str | None = Field(default=None, description="VAE model name (defaults to sdxl_vae.safetensors)") + lora_name: str | None = Field(default=None, description="LoRA model filename") + lora_strength: float = Field(default=0.8, ge=0.0, le=2.0, description="LoRA strength") class GenerateResponse(PydanticBaseModel): @@ -223,12 +225,14 @@ def comfyui_generate(request: GenerateRequest) -> dict[str, Any]: This uses the built-in SDXL/Flux compatible workflow template. For custom workflows, use the /workflow endpoint instead. """ + lora_info = f", lora={request.lora_name}@{request.lora_strength}" if request.lora_name else "" logger.info( - "Generate request: model=%s, size=%dx%d, steps=%d, prompt=%r", + "Generate request: model=%s, size=%dx%d, steps=%d%s, prompt=%r", request.model or "default", request.width, request.height, request.steps, + lora_info, request.prompt[:100] + "..." if len(request.prompt) > 100 else request.prompt, ) if request.negative_prompt: @@ -246,6 +250,8 @@ def comfyui_generate(request: GenerateRequest) -> dict[str, Any]: sampler=request.sampler, scheduler=request.scheduler, vae=request.vae, + lora_name=request.lora_name, + lora_strength=request.lora_strength, ) if not result: