summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2022-12-13 14:44:22 +0100
committerlassulus <lassulus@lassul.us>2022-12-13 14:44:22 +0100
commit1a32b111d110e3c3d14f592fb19cc38bad39efb5 (patch)
treee91ffcdff5b4ffd2c9ee154dc2827ebfe4d1314f /krebs/5pkgs
parent3884243448869bdf09f6434b385e532c7c26ae88 (diff)
stable-generate: use new api
Diffstat (limited to 'krebs/5pkgs')
-rw-r--r--krebs/5pkgs/simple/stable-generate/default.nix64
1 files changed, 16 insertions, 48 deletions
diff --git a/krebs/5pkgs/simple/stable-generate/default.nix b/krebs/5pkgs/simple/stable-generate/default.nix
index fac261613..dc9c826f9 100644
--- a/krebs/5pkgs/simple/stable-generate/default.nix
+++ b/krebs/5pkgs/simple/stable-generate/default.nix
@@ -1,64 +1,32 @@
{ pkgs, lib, ... }:
-pkgs.writers.writeDashBin "stable-generate" ''
+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 query "$*" '{fn_index: 51, data: [
- $query,
- "",
- "None",
- "None",
- 20, # sampling steps
- "Euler a", # sampling method
- false, # restore faces
- false,
- 1,
- 1,
- 7,
- -1,
- -1,
- 0,
- 0,
- 0,
- false,
- 512, #probably resolution
- 512, #probably resolution
- false,
- 0.7,
- 0,
- 0,
- "None",
- "",
- false,
- false,
- false,
- "",
- "Seed",
- "",
- "Nothing",
- "",
- true,
- false,
- false,
- null,
- "",
- ""], session_hash: "hello_this_is_dog"}')
+ PAYLOAD=$(jq -cn --arg prompt "$*" '{
+ prompt: $prompt
+ }')
- data=$(curl -Ssf "$STABLE_URL/run/predict/" \
+ filename=$(mktemp)
+ curl -Ssf "$STABLE_URL/sdapi/v1/txt2img" \
-X POST \
--Header 'Content-Type: application/json' \
- --data "$PAYLOAD"
- )
- export data
+ --data "$PAYLOAD" |
+ jq -r '.images[0]' |
+ base64 --decode > "$filename"
- filename=$(jq -rn 'env.data | fromjson.data[0][0].name')
-
- echo "$STABLE_URL/file=$filename"
+ if test -t 1; then
+ echo "$filename"
+ else
+ cat "$filename"
+ rm "$filename"
+ fi
''