File size: 2,555 Bytes
86a095e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
from __future__ import annotations
from pydantic import BaseModel
from typing import Optional


# 文生图
class T2IRequest(BaseModel):
    prompt: str
    negative: Optional[str] = ""
    width: Optional[int] = 768
    height: Optional[int] = 768
    scale: Optional[float] = None
    steps: Optional[int] = None
    sampler: Optional[str] = None
    noise_schedule: Optional[str] = None
    seed: Optional[int] = -1
    variety: Optional[bool] = False
    decrisp: Optional[bool] = False
    cfg_rescale: Optional[float] = None


# 图生图
class I2IRequest(BaseModel):
    positive: str
    negative: Optional[str] = ""
    image_base64: str
    width: Optional[int] = None
    height: Optional[int] = None
    scale: Optional[float] = None
    steps: Optional[int] = None
    sampler: Optional[str] = None
    noise_schedule: Optional[str] = None
    strength: Optional[float] = 0.5
    noise: Optional[float] = 0.0
    seed: Optional[int] = -1
    variety: Optional[bool] = False
    decrisp: Optional[bool] = False
    cfg_rescale: Optional[float] = None


# 局部重绘
class InpaintRequest(BaseModel):
    positive: str
    negative: Optional[str] = ""
    image_base64: str
    mask_base64: str
    add_original_image: bool = False
    width: Optional[int] = None
    height: Optional[int] = None
    scale: Optional[float] = None
    steps: Optional[int] = None
    sampler: Optional[str] = None
    noise_schedule: Optional[str] = None
    strength: Optional[float] = 0.5
    noise: Optional[float] = 0.0
    seed: Optional[int] = -1
    variety: Optional[bool] = False
    decrisp: Optional[bool] = False
    cfg_rescale: Optional[float] = None


# 配置更新
class ConfigUpdate(BaseModel):
    key: Optional[str] = None
    model: Optional[str] = None
    sampler: Optional[str] = None
    steps: Optional[int] = None
    scale: Optional[float] = None
    cfg_rescale: Optional[float] = None
    noise_schedule: Optional[str] = None
    uc_preset: Optional[int] = None
    quality_toggle: Optional[bool] = None
    legacy_uc: Optional[bool] = None
    port: Optional[int] = None
    save_output: Optional[bool] = None
    output_dir: Optional[str] = None
    # 新增:颜色配置(背景方案)
    color_scheme: Optional[str] = None   # auto | bamboo | custom
    custom_primary: Optional[str] = None # 自定义背景主色(如 #7ba23f)
    # 新增:提示音配置
    sound_enabled: Optional[bool] = None
    sound_url: Optional[str] = None