SECRET - annna - Annna the nice friendly bot. HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/ DIR Log DIR Files DIR Refs DIR Tags DIR README --- DIR commit acfa0c2bb53482408032150ed6744624d8c431d8 DIR parent c1e44c02e8b97671d804717360a290c92ce2d5cb HTML Author: Annna Robert-Houdin <annna@bitreich.org> Date: Tue, 22 Jul 2025 20:06:21 +0200 SECRET Diffstat: M stable-diffusion | 64 ++++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 5 deletions(-) --- DIR diff --git a/stable-diffusion b/stable-diffusion @@ -8,12 +8,69 @@ then "$(basename "${0}")" >&2 exit 1 fi + +outputf="${1}" +shift 1 +prompt="$@" + sdnegative='nipples, busty, nude, lowres, (worst quality, low quality, normal quality:2), cropped, infant, blur, haze, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, extra limbs, disfigured, deformed, body out of frame, bad anatomy, watermark, signature, cut off, low contrast, underexposed, overexposed, bad art, beginner, amateur, distorted face, blurry, draft, grainy, nsfw' +sdthreads=16 + sdwidth=512 +case "${prompt}" in +*width=*) + sdwidth="$(printf "${prompt}\n" \ + | sed 's, ,\n,g' \ + | grep "^width=" \ + | sed 's,.*=,,')" + prompt="$(printf "${prompt}\n" \ + | sed 's, ,\n,g' \ + | grep -v "^width=" \ + | paste -sd ' ')" + ;; +esac + sdheight=512 -sdsteps=20 -sdthreads=16 +case "${prompt}" in +*height=*) + sdheight="$(printf "${prompt}\n" \ + | sed 's, ,\n,g' \ + | grep "^height=" \ + | sed 's,.*=,,')" + prompt="$(printf "${prompt}\n" \ + | sed 's, ,\n,g' \ + | grep -v "^height=" \ + | paste -sd ' ')" + ;; +esac + +sdsteps=512 +case "${prompt}" in +*steps=*) + sdsteps="$(printf "${prompt}\n" \ + | sed 's, ,\n,g' \ + | grep "^steps=" \ + | sed 's,.*=,,')" + prompt="$(printf "${prompt}\n" \ + | sed 's, ,\n,g' \ + | grep -v "^steps=" \ + | paste -sd ' ')" + ;; +esac + sdscale=8 +case "${prompt}" in +*scale=*) + sdscale="$(printf "${prompt}\n" \ + | sed 's, ,\n,g' \ + | grep "^scale=" \ + | sed 's,.*=,,')" + prompt="$(printf "${prompt}\n" \ + | sed 's, ,\n,g' \ + | grep -v "^scale=" \ + | paste -sd ' ')" + ;; +esac function local_sd() { outputf="${1}" @@ -64,9 +121,6 @@ function remote_sd() { ollama-gpu rm "/tmp/${ofilename}" } -outputf="${1}" -shift 1 -prompt="$@" remote_sd "${outputf}" "${prompt}" [ ! -s "${outputf}" ] && local_sd "${outputf}" "${prompt}" [ ! -s "${outputf}" -a -f "${outputf}" ] && rm -f "${outputf}"