diff options
| author | Xe Iaso <me@xeiaso.net> | 2024-10-06 08:53:06 -0400 |
|---|---|---|
| committer | Xe Iaso <me@xeiaso.net> | 2024-10-06 08:56:03 -0400 |
| commit | 57c4d9757ae09700e6bd65de6e55f5cd17e6e6e2 (patch) | |
| tree | 0b4b8365328c7e66ab1fb6d4b4d4bb94ac796f78 /cmd/_old/azurda/stablediffusion.go | |
| parent | fda09b55e316b7f162371cf52bc401fa742913e8 (diff) | |
| download | x-57c4d9757ae09700e6bd65de6e55f5cd17e6e6e2.tar.xz x-57c4d9757ae09700e6bd65de6e55f5cd17e6e6e2.zip | |
move some old code to the _old folder to save CI time
Signed-off-by: Xe Iaso <me@xeiaso.net>
Diffstat (limited to 'cmd/_old/azurda/stablediffusion.go')
| -rw-r--r-- | cmd/_old/azurda/stablediffusion.go | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/cmd/_old/azurda/stablediffusion.go b/cmd/_old/azurda/stablediffusion.go new file mode 100644 index 0000000..0cc4e41 --- /dev/null +++ b/cmd/_old/azurda/stablediffusion.go @@ -0,0 +1,161 @@ +package main + +import ( + "fmt" + "math/rand" + "strconv" + "strings" +) + +func hallucinatePrompt(hash string) (string, int) { + var sb strings.Builder + if hash[0] > '0' && hash[0] <= '5' { + fmt.Fprint(&sb, "1girl, ") + } else { + fmt.Fprint(&sb, "1guy, ") + } + + switch hash[1] { + case '0', '1', '2', '3': + fmt.Fprint(&sb, "blonde, ") + case '4', '5', '6', '7': + fmt.Fprint(&sb, "brown hair, ") + case '8', '9', 'a', 'b': + fmt.Fprint(&sb, "red hair, ") + case 'c', 'd', 'e', 'f': + fmt.Fprint(&sb, "black hair, ") + default: + } + + if hash[2] > '0' && hash[2] <= '5' { + fmt.Fprint(&sb, "coffee shop, ") + } else { + fmt.Fprint(&sb, "landscape, outdoors, ") + } + + if hash[3] > '0' && hash[3] <= '5' { + fmt.Fprint(&sb, "hoodie, ") + } else { + fmt.Fprint(&sb, "sweatsuit, ") + } + + switch hash[4] { + case '0', '1', '2', '3': + fmt.Fprint(&sb, "<lora:cdi:1>, ") + case '4', '5', '6', '7': + fmt.Fprint(&sb, "breath of the wild, ") + case '8', '9', 'a', 'b': + fmt.Fprint(&sb, "genshin impact, ") + case 'c', 'd', 'e', 'f': + fmt.Fprint(&sb, "arknights, ") + default: + } + + if hash[5] > '0' && hash[5] <= '5' { + fmt.Fprint(&sb, "watercolor, ") + } else { + fmt.Fprint(&sb, "matte painting, ") + } + + switch hash[6] { + case '0', '1', '2', '3': + fmt.Fprint(&sb, "highly detailed, ") + case '4', '5', '6', '7': + fmt.Fprint(&sb, "ornate, ") + case '8', '9', 'a', 'b': + fmt.Fprint(&sb, "thick lines, ") + case 'c', 'd', 'e', 'f': + fmt.Fprint(&sb, "3d render, ") + default: + } + + switch hash[7] { + case '0', '1', '2', '3': + fmt.Fprint(&sb, "short hair, ") + case '4', '5', '6', '7': + fmt.Fprint(&sb, "long hair, ") + case '8', '9', 'a', 'b': + fmt.Fprint(&sb, "ponytail, ") + case 'c', 'd', 'e', 'f': + fmt.Fprint(&sb, "pigtails, ") + default: + } + + switch hash[8] { + case '0', '1', '2', '3': + fmt.Fprint(&sb, "smile, ") + case '4', '5', '6', '7': + fmt.Fprint(&sb, "frown, ") + case '8', '9', 'a', 'b': + fmt.Fprint(&sb, "laughing, ") + case 'c', 'd', 'e', 'f': + fmt.Fprint(&sb, "angry, ") + default: + } + + switch hash[9] { + case '0', '1', '2', '3': + fmt.Fprint(&sb, "sweater, ") + case '4', '5', '6', '7': + fmt.Fprint(&sb, "tshirt, ") + case '8', '9', 'a', 'b': + fmt.Fprint(&sb, "suitjacket, ") + case 'c', 'd', 'e', 'f': + fmt.Fprint(&sb, "armor, ") + default: + } + + switch hash[10] { + case '0', '1', '2', '3': + fmt.Fprint(&sb, "blue eyes, ") + case '4', '5', '6', '7': + fmt.Fprint(&sb, "red eyes, ") + case '8', '9', 'a', 'b': + fmt.Fprint(&sb, "brown eyes, ") + case 'c', 'd', 'e', 'f': + fmt.Fprint(&sb, "hazel eyes, ") + default: + } + + if hash[11] == '0' { + fmt.Fprint(&sb, "heterochromia, ") + } + + switch hash[12] { + case '0', '1', '2', '3': + fmt.Fprint(&sb, "morning, ") + case '4', '5', '6', '7': + fmt.Fprint(&sb, "afternoon, ") + case '8', '9', 'a', 'b': + fmt.Fprint(&sb, "evening, ") + case 'c', 'd', 'e', 'f': + fmt.Fprint(&sb, "nighttime, ") + default: + } + + if hash[13] == '0' { + fmt.Fprint(&sb, "<lora:genshin:1>, genshin, ") + } + + switch hash[14] { + case '0', '1', '2', '3': + fmt.Fprint(&sb, "vtuber, ") + case '4', '5', '6', '7': + fmt.Fprint(&sb, "anime, ") + case '8', '9', 'a', 'b': + fmt.Fprint(&sb, "studio ghibli, ") + case 'c', 'd', 'e', 'f': + fmt.Fprint(&sb, "cloverworks, ") + default: + } + + seedPortion := hash[len(hash)-9 : len(hash)-1] + seed, err := strconv.ParseInt(seedPortion, 16, 32) + if err != nil { + seed = int64(rand.Int()) + } + + fmt.Fprint(&sb, "pants") + + return sb.String(), int(seed) +} |
