Spaces:
Runtime error
Runtime error
"""V2 API models""" | |
from typing import List | |
from pydantic import BaseModel, Field | |
from fooocusapi.models.common.requests import CommonRequest | |
from fooocusapi.models.common.base import ( | |
ControlNetType, | |
EnhanceCtrlNets, OutpaintExpansion, | |
ImagePrompt, | |
UpscaleOrVaryMethod | |
) | |
class ImagePromptJson(BaseModel): | |
"""Image prompt for V2 API""" | |
cn_img: str | None = Field(None, description="Input image for image prompt as base64") | |
cn_stop: float | None = Field(0, ge=0, le=1, description="Stop at for image prompt, 0 for default value") | |
cn_weight: float | None = Field(0, ge=0, le=2, description="Weight for image prompt, 0 for default value") | |
cn_type: ControlNetType = Field(default=ControlNetType.cn_ip, description="ControlNet type for image prompt") | |
class ImgInpaintOrOutpaintRequestJson(CommonRequest): | |
"""image inpaint or outpaint request""" | |
input_image: str = Field('', description="Init image for inpaint or outpaint as base64") | |
input_mask: str | None = Field('', description="Inpaint or outpaint mask as base64") | |
inpaint_additional_prompt: str | None = Field('', description="Describe what you want to inpaint") | |
outpaint_selections: List[OutpaintExpansion] = [] | |
outpaint_distance_left: int | None = Field(-1, description="Set outpaint left distance") | |
outpaint_distance_right: int | None = Field(-1, description="Set outpaint right distance") | |
outpaint_distance_top: int | None = Field(-1, description="Set outpaint top distance") | |
outpaint_distance_bottom: int | None = Field(-1, description="Set outpaint bottom distance") | |
image_prompts: List[ImagePromptJson | ImagePrompt] = [] | |
class ImgPromptRequestJson(ImgInpaintOrOutpaintRequestJson): | |
"""img prompt request json""" | |
input_image: str | None = Field(None, description="Init image for inpaint or outpaint as base64") | |
image_prompts: List[ImagePromptJson | ImagePrompt] | |
class Text2ImgRequestWithPrompt(CommonRequest): | |
"""text to image request with prompt""" | |
image_prompts: List[ImagePromptJson] = [] | |
class ImgUpscaleOrVaryRequestJson(CommonRequest): | |
"""img upscale or vary request json""" | |
uov_method: UpscaleOrVaryMethod = UpscaleOrVaryMethod.upscale_2 | |
upscale_value: float | None = Field(1.0, ge=1.0, le=5.0, description="Upscale custom value, 1.0 for default value") | |
input_image: str = Field(description="Init image for upscale or outpaint as base64") | |
image_prompts: List[ImagePromptJson | ImagePrompt] = [] | |
class ImageEnhanceRequestJson(CommonRequest): | |
""" | |
Image Enhance Request | |
""" | |
enhance_input_image: str = Field(default='', description="Input image for enhance") | |
enhance_checkbox: bool = Field(default=True, description="Enhance checkbox") | |
enhance_uov_method: UpscaleOrVaryMethod = Field(default=UpscaleOrVaryMethod.strong_variation, description="Upscale or vary method") | |
enhance_uov_processing_order: str = Field(default="Before First Enhancement", description="Upscale or vary processing order") | |
enhance_uov_prompt_type: str = Field(default="Original Prompts", description="Upscale or vary prompt type") | |
save_final_enhanced_image_only: bool = Field(True, description="Save Final Enhanced Image Only") | |
enhance_ctrlnets: List[EnhanceCtrlNets] | |