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 <noreply@anthropic.com>
This commit is contained in:
@@ -45,6 +45,8 @@ class GenerateRequest(PydanticBaseModel):
|
|||||||
sampler: str = Field(default="euler", description="Sampler name")
|
sampler: str = Field(default="euler", description="Sampler name")
|
||||||
scheduler: str = Field(default="normal", description="Scheduler name")
|
scheduler: str = Field(default="normal", description="Scheduler name")
|
||||||
vae: str | None = Field(default=None, description="VAE model name (defaults to sdxl_vae.safetensors)")
|
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):
|
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.
|
This uses the built-in SDXL/Flux compatible workflow template.
|
||||||
For custom workflows, use the /workflow endpoint instead.
|
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(
|
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.model or "default",
|
||||||
request.width,
|
request.width,
|
||||||
request.height,
|
request.height,
|
||||||
request.steps,
|
request.steps,
|
||||||
|
lora_info,
|
||||||
request.prompt[:100] + "..." if len(request.prompt) > 100 else request.prompt,
|
request.prompt[:100] + "..." if len(request.prompt) > 100 else request.prompt,
|
||||||
)
|
)
|
||||||
if request.negative_prompt:
|
if request.negative_prompt:
|
||||||
@@ -246,6 +250,8 @@ def comfyui_generate(request: GenerateRequest) -> dict[str, Any]:
|
|||||||
sampler=request.sampler,
|
sampler=request.sampler,
|
||||||
scheduler=request.scheduler,
|
scheduler=request.scheduler,
|
||||||
vae=request.vae,
|
vae=request.vae,
|
||||||
|
lora_name=request.lora_name,
|
||||||
|
lora_strength=request.lora_strength,
|
||||||
)
|
)
|
||||||
|
|
||||||
if not result:
|
if not result:
|
||||||
|
|||||||
Reference in New Issue
Block a user