#!/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 # Direct generation tests should ignore any edit inputs coming from .env. for name in \ REFERENCE_IMAGE \ REFERENCE_IMAGE_FILE \ REFERENCE_IMAGE_URL \ REFERENCE_IMAGE_DATA_URL \ MASK_IMAGE \ MASK_IMAGE_FILE \ MASK_IMAGE_URL \ MASK_IMAGE_DATA_URL do export "$name=" done unset http_proxy https_proxy all_proxy HTTP_PROXY HTTPS_PROXY ALL_PROXY export IMAGE_REQUEST_STYLE="${IMAGE_REQUEST_STYLE:-apicodex}" export IMAGE_SIZE="${IMAGE_SIZE:-3840x2160}" 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}" export IMAGE_PROMPT="${IMAGE_PROMPT:-A realistic Figma design board screenshot for a digital transformation system, with a left layers panel, center canvas of nested frames and components, and right properties panel. Enterprise product design, Chinese labels, visible grid, alignment guides, annotations, components, variants, spacing notes, dashboard cards, workflow timeline, and system modules. Clean blue-gray palette, crisp typography, premium product design presentation, highly organized layered structure, realistic Figma workspace aesthetic.}" python3 gpt_image2_generate.py "$@"