# OpenAI image API configuration. # Do not commit real API keys. # OPENAI_API_KEY is optional if you use the in-app provider configuration or Codex login. # Environment values are read-only in the app and default to the highest provider priority. # The top-right "配置" dialog can store one local OpenAI-compatible API config in SQLite; # saved local keys are masked on readback and never returned in full. # Do not expose this local app publicly when local provider secrets are configured. # Leave OPENAI_BASE_URL empty to use the official OpenAI API. OPENAI_API_KEY= OPENAI_BASE_URL= OPENAI_IMAGE_MODEL=gpt-image-2 OPENAI_IMAGE_TIMEOUT_MS=1200000 # Codex login uses a mainline Responses model to call the image-generation tool. # OPENAI_IMAGE_MODEL remains the image model passed to that tool. CODEX_RESPONSES_MODEL=gpt-5.5 # Optional tldraw license for deployments that require one. Leave blank for # tldraw's supported development mode on localhost/HTTP. Vite embeds this public # value into the web bundle at build time, so rebuild after changing it. VITE_TLDRAW_LICENSE_KEY= # Server/runtime. # Codex OAuth token data, local provider keys, cloud storage secrets, and app state are stored # in the SQLite database under DATA_DIR. Treat DATA_DIR as sensitive after saving # any in-app credentials. PORT=8787 HOST=127.0.0.1 DATA_DIR=./data # Project snapshots are still saved in SQLite on every autosave. These settings # only bound the rotated recovery backups under DATA_DIR/project-snapshot-backups. PROJECT_SNAPSHOT_BACKUP_MAX_COUNT=20 PROJECT_SNAPSHOT_BACKUP_MAX_BYTES=268435456 PROJECT_SNAPSHOT_BACKUP_MIN_COUNT=3 PROJECT_SNAPSHOT_BACKUP_MIN_INTERVAL_MS=300000 # Prompt Pool JSON is bundled in ./prompt-pool-data. # Images use GitHub raw URLs from that JSON; no local image assets are required. # Optional: set PROMPT_POOL_DIR to another directory containing prompts-all.json. # SQLite storage. # Leave blank to use WAL locally; Docker Compose defaults to DELETE + EXCLUSIVE for bind-mounted data. SQLITE_JOURNAL_MODE= SQLITE_LOCKING_MODE= # Optional cloud asset storage. # The app stores generated images locally by default. Configure this from the in-app # cloud storage settings dialog when you want generated images to be uploaded to # Tencent Cloud COS or Cloudflare R2 / S3-compatible storage. # These defaults only prefill the settings dialog; provider secrets are entered # in the UI and stored locally in SQLite after a successful test upload. # Secrets saved from the UI are stored in the local SQLite database and are never # returned in full by the settings API. COS_DEFAULT_BUCKET=source-1253253332 COS_DEFAULT_REGION=ap-nanjing COS_DEFAULT_KEY_PREFIX=gpt-image-canvas/assets S3_DEFAULT_BUCKET= S3_DEFAULT_REGION=auto S3_DEFAULT_KEY_PREFIX=gpt-image-canvas/assets R2_DEFAULT_ACCOUNT_ID= S3_DEFAULT_ENDPOINT=