Files
html/top-ia/sdxl_generate.sh
2026-04-16 23:42:50 +02:00

20 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
PROMPT="$*"
[ -z "$PROMPT" ] && { echo '{"error":"need prompt"}'; exit 1; }
# URL-encode prompt
ENC=$(python3 -c "import urllib.parse,sys; print(urllib.parse.quote(sys.argv[1]))" "$PROMPT")
OUT=/tmp/img_$$.jpg
URL="https://image.pollinations.ai/prompt/${ENC}?width=768&height=768&nologo=true&model=flux"
HTTP=$(curl -sS -o "$OUT" -w "%{http_code}" --max-time 45 "$URL" 2>&1)
SZ=$(stat -c%s "$OUT" 2>/dev/null || echo 0)
if [ "$HTTP" = "200" ] && [ "$SZ" -gt 1000 ]; then
sudo mkdir -p /var/www/html/generated 2>/dev/null
FINAL=/var/www/html/generated/gen-$(date +%Y%m%d-%H%M%S)-$$.jpg
sudo mv "$OUT" "$FINAL"
sudo chmod 644 "$FINAL"
echo "{\"ok\":true,\"image\":\"/generated/$(basename $FINAL)\",\"url\":\"https://weval-consulting.com/generated/$(basename $FINAL)\",\"size\":$SZ,\"engine\":\"pollinations-flux\",\"prompt\":$(python3 -c "import json,sys;print(json.dumps(sys.argv[1]))" "$PROMPT")}"
else
rm -f "$OUT"
echo "{\"ok\":false,\"http\":\"$HTTP\",\"size\":$SZ,\"error\":\"pollinations failed\"}"
fi