Files
image-generate/scripts/run_openai_gpt_image2_multi.sh

72 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"
declare -A PRESERVED_ENV=()
for name in \
OPENAI_API_KEY \
OPENAI_BASE_URL \
IMAGE_REQUEST_STYLE \
IMAGE_SIZE \
IMAGE_RESOLUTION \
IMAGE_PROMPT \
IMAGE_MODEL \
IMAGE_QUALITY \
IMAGE_N \
IMAGE_OUTPUT_STEM \
IMAGE_RESPONSE_DIR \
IMAGE_BACKGROUND \
IMAGE_INPUT_FIDELITY \
IMAGE_OUTPUT_FORMAT \
REFERENCE_IMAGES \
REFERENCE_IMAGE_LIST \
REFERENCE_IMAGE \
REFERENCE_IMAGE_FILE \
REFERENCE_IMAGE_URL \
REFERENCE_IMAGE_DATA_URL \
MASK_IMAGE \
MASK_IMAGE_FILE \
MASK_IMAGE_URL \
MASK_IMAGE_DATA_URL \
IMAGE_REQUEST_TIMEOUT \
IMAGE_MAX_POLL_WAIT \
IMAGE_INITIAL_POLL_DELAY \
IMAGE_POLL_INTERVAL
do
if [[ -v "$name" ]]; then
PRESERVED_ENV["$name"]="${!name}"
fi
done
for i in $(seq 1 16); do
name="REFERENCE_IMAGE_${i}"
if [[ -v "$name" ]]; then
PRESERVED_ENV["$name"]="${!name}"
fi
done
if [[ -f .env ]]; then
set -a
source .env
set +a
fi
for name in "${!PRESERVED_ENV[@]}"; do
export "$name=${PRESERVED_ENV[$name]}"
done
unset http_proxy https_proxy all_proxy HTTP_PROXY HTTPS_PROXY ALL_PROXY
export IMAGE_REQUEST_STYLE="${IMAGE_REQUEST_STYLE:-openai}"
export IMAGE_MODEL="${IMAGE_MODEL:-gpt-image-2}"
export IMAGE_SIZE="${IMAGE_SIZE:-1024x1024}"
export IMAGE_RESPONSE_DIR="${IMAGE_RESPONSE_DIR:-outputs/image-multi-runs}"
export IMAGE_REQUEST_TIMEOUT="${IMAGE_REQUEST_TIMEOUT:-900}"
export IMAGE_MAX_POLL_WAIT="${IMAGE_MAX_POLL_WAIT:-1800}"
export IMAGE_INITIAL_POLL_DELAY="${IMAGE_INITIAL_POLL_DELAY:-10}"
export IMAGE_POLL_INTERVAL="${IMAGE_POLL_INTERVAL:-5}"
python3 gpt_image2_generate_multi.py "$@"