stable-generate: use new api

This commit is contained in:
lassulus 2022-12-13 14:44:22 +01:00
parent 3884243448
commit 1a32b111d1

View File

@ -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
''