summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs/simple/stable-generate/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'krebs/5pkgs/simple/stable-generate/default.nix')
-rw-r--r--krebs/5pkgs/simple/stable-generate/default.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/krebs/5pkgs/simple/stable-generate/default.nix b/krebs/5pkgs/simple/stable-generate/default.nix
new file mode 100644
index 00000000..31cf6c23
--- /dev/null
+++ b/krebs/5pkgs/simple/stable-generate/default.nix
@@ -0,0 +1,32 @@
+{ pkgs, lib, ... }:
+
+pkgs.writers.writeBashBin "stable-generate" ''
+ set -efu
+
+ export PATH=${lib.makeBinPath [
+ pkgs.coreutils
+ pkgs.curl
+ pkgs.jq
+ ]}
+
+ STABLE_URL=''${STABLE_URL:-http://stable-confusion.r}
+
+ PAYLOAD=$(jq -cn --arg prompt "$*" '{
+ prompt: $prompt
+ }')
+
+ filename=$(mktemp)
+ curl -Ssf "$STABLE_URL/sdapi/v1/txt2img" \
+ -X POST \
+ --header 'Content-Type: application/json' \
+ --data "$PAYLOAD" |
+ jq -r '.images[0]' |
+ base64 --decode > "$filename"
+
+ if test -t 1; then
+ echo "$filename"
+ else
+ cat "$filename"
+ rm "$filename"
+ fi
+''