summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--krebs/5pkgs/simple/stable-interrogate/default.nix30
1 files changed, 30 insertions, 0 deletions
diff --git a/krebs/5pkgs/simple/stable-interrogate/default.nix b/krebs/5pkgs/simple/stable-interrogate/default.nix
new file mode 100644
index 00000000..7cc7509e
--- /dev/null
+++ b/krebs/5pkgs/simple/stable-interrogate/default.nix
@@ -0,0 +1,30 @@
+{ pkgs, lib, ... }:
+
+pkgs.writers.writeBashBin "stable-interrogate" ''
+ set -xefu
+ set -o pipefail
+
+ export PATH=${lib.makeBinPath [
+ pkgs.coreutils
+ pkgs.curl
+ pkgs.jq
+ ]}
+
+ STABLE_URL=''${STABLE_URL:-http://stable-confusion.r}
+
+ (if test -e "$1"; then
+ cat "$1"
+ elif [[ "$1" =~ ^https?: ]]; then
+ curl -fSs "$1"
+ else
+ echo 'input not recognized' >&2
+ exit 1
+ fi) | base64 |
+ jq -Rsrc '{
+ image: .,
+ model: "deepdanbooru", # clip is broken right now :(
+ }' |
+ curl -Ssf "$STABLE_URL/sdapi/v1/interrogate" \
+ -X POST -H 'Content-Type: application/json' -d @- |
+ jq -r '.caption'
+''