diff options
Diffstat (limited to 'krebs/5pkgs/simple/stable-generate/default.nix')
-rw-r--r-- | krebs/5pkgs/simple/stable-generate/default.nix | 32 |
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 +'' |