File size: 1,767 Bytes
c053e7d
 
 
 
 
 
23933cc
c053e7d
23933cc
c053e7d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23549a1
 
 
 
 
 
 
 
c053e7d
 
 
 
6de967f
 
c053e7d
 
 
 
 
d622488
c053e7d
 
 
 
 
 
 
 
 
 
23549a1
d622488
23549a1
c053e7d
23549a1
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
from datetime import datetime
from pydantic import BaseModel


class Prompt(BaseModel):
    id: int
    prompt: str
    created_at: datetime
    user_id: int

    class Config:
        from_attributes = True


class UserBase(BaseModel):
    pass


class UserCreate(UserBase):
    username: str
    password: str


class UserUpdate(UserBase):
    user_id: int
    is_active: bool = True
    is_superuser: bool = False


class User(UserBase):
    user_id: int
    username: str
    is_active: bool
    is_superuser: bool
    created_at: datetime
    updated_at: datetime
    prompts: list[Prompt] = []

    class Config:
        from_attributes = True


class Generate(BaseModel):
    seed: int | None = None
    negative_prompt : str = "ugly, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, extra limbs, disfigured, deformed, body out of frame, bad anatomy, watermark, signature, cut off, low contrast, underexposed, overexposed, bad art, beginner, amateur, distorted face"
    medium: str | None = ""
    style: str | None = ""
    artist: str | None = ""
    website: str | None = ""
    resolution: str | None = ""
    additional_details: str | None = ""
    color: str | None = ""
    lightning: str | None = ""


class TextImage(Generate):
    prompt: str
    num_inference_steps: int = 4
    guidance_scale: float = 2.0


class ImageImage(Generate):
    prompt: str
    image: str
    num_inference_steps: int = 50
    guidance_scale: float = 7.5
    image_guidance_scale: float = 1.5


class BackgroundRemoval(BaseModel):
    image: str


class ImageVariations(Generate):
    image: str
    num_samples: int = 4
    num_inference_steps: int = 50
    prompt: str | None = ""
    scale: float = 0.5
    guidance_scale: float = 7.5