Files
image-generate/scripts/run_openai_gpt_image2_edit.sh

67 lines
1.5 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 \
OUTPUT_FILE \
IMAGE_BACKGROUND \
IMAGE_INPUT_FIDELITY \
IMAGE_OUTPUT_FORMAT \
IMAGE_OUTPUT_COMPRESSION \
IMAGE_MODERATION \
IMAGE_STREAM \
IMAGE_PARTIAL_IMAGES \
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
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="openai"
export IMAGE_MODEL="${IMAGE_MODEL:-gpt-image-2}"
export IMAGE_SIZE="${IMAGE_SIZE:-1024x1024}"
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}"
export IMAGE_STREAM="${IMAGE_STREAM:-true}"
export IMAGE_PARTIAL_IMAGES="${IMAGE_PARTIAL_IMAGES:-1}"
python3 gpt_image2_generate.py "$@"