chore(src): 🔧 Update configuration, utility, and helper files in src directory

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Lilith 2026-01-31 03:30:22 -08:00
parent 07b49862dd
commit 7aa0090fc5
4 changed files with 25 additions and 2 deletions

View file

@ -326,4 +326,10 @@ class ImagePipelineRequest(BaseModel):
# Output options
return_format: Literal["base64", "url"] = Field("base64")
output_format: Literal["png", "webp"] = Field("png")
output_quality: int = Field(
75,
ge=1,
le=100,
description="Output quality for lossy formats like WebP (1-100). Default 75 for good balance."
)
save_to_storage: bool = Field(False, description="Save to cloud storage")

View file

@ -67,7 +67,7 @@ class OutputStage(PipelineStage):
save_kwargs = {"format": output_format}
if output_format == "WEBP":
save_kwargs["quality"] = 90
save_kwargs["quality"] = request.output_quality
elif output_format == "PNG":
save_kwargs["optimize"] = True

View file

@ -43,6 +43,7 @@ def generate_image(
seed: Optional[int] = None,
diffusion_url: str = "http://localhost:8002",
enable_anatomy_fix: bool = False,
output_quality: int = 75,
) -> bool:
"""Generate an image and save to disk.
@ -57,6 +58,7 @@ def generate_image(
seed: Random seed for reproducibility
diffusion_url: Diffusion service URL
enable_anatomy_fix: Enable anatomical error correction (hands, faces)
output_quality: WebP output quality (1-100)
Returns:
True if successful
@ -76,6 +78,7 @@ def generate_image(
"steps": steps,
"guidanceScale": guidance_scale,
"outputFormat": output_format,
"outputQuality": output_quality,
"enableModeration": False, # Skip moderation for one-off generation
"enableAnatomyFix": enable_anatomy_fix,
}
@ -90,8 +93,10 @@ def generate_image(
print(f" Prompt: {prompt[:80]}{'...' if len(prompt) > 80 else ''}")
print(f" Layout: {layout}")
print(f" Steps: {steps}")
if output_format == "webp":
print(f" Quality: {output_quality}")
if enable_anatomy_fix:
print(f" Anatomy fix: enabled")
print(" Anatomy fix: enabled")
print()
try:
@ -250,6 +255,13 @@ Available layouts:
help="Enable anatomical error correction (hands, faces)",
)
parser.add_argument(
"--quality",
type=int,
default=75,
help="Output quality for WebP (1-100, default: 75)",
)
parser.add_argument(
"--start-service",
action="store_true",
@ -314,6 +326,7 @@ Available layouts:
seed=parsed.seed,
diffusion_url=diffusion_url,
enable_anatomy_fix=parsed.anatomy_fix,
output_quality=parsed.quality,
)
return 0 if success else 1

View file

@ -99,6 +99,7 @@ class GenerateRequest(BaseModel):
# Output options
output_format: Literal["png", "webp"] = Field("png")
output_quality: int = Field(75, ge=1, le=100, description="WebP output quality (1-100)")
class GenerateResponse(BaseModel):
@ -187,6 +188,7 @@ async def generate_single(request: GenerateRequest, req: Request) -> GenerateRes
enable_anatomy_fix=request.enable_anatomy_fix,
enable_watermark_removal=request.enable_watermark_removal,
output_format=request.output_format,
output_quality=request.output_quality,
)
# Execute 7-stage pipeline
@ -240,6 +242,7 @@ async def generate_batch(request: BatchRequest, req: Request) -> BatchResponse:
enable_moderation=img_request.enable_moderation,
enable_anatomy_fix=img_request.enable_anatomy_fix,
output_format=img_request.output_format,
output_quality=img_request.output_quality,
)
context = ImagePipelineContext(request=pipeline_request)
@ -423,6 +426,7 @@ async def generate_async(request: GenerateRequest, req: Request) -> dict[str, An
enable_anatomy_fix=request.enable_anatomy_fix,
enable_watermark_removal=request.enable_watermark_removal,
output_format=request.output_format,
output_quality=request.output_quality,
)
async def execute_job() -> None: