diff --git a/README.md b/README.md
index 934dac19..e53c087b 100644
--- a/README.md
+++ b/README.md
@@ -92,7 +92,8 @@ To auto-generate text descriptions of photo:
1. Setup OpenAI
- Create [OpenAI](https://openai.com) account and fund it ([see thread](https://github.com/sambecker/exif-photo-blog/issues/110) if you're having issues)
- Setup usage limits to avoid unexpected charges (_recommended_)
- - Set `OPENAI_BASE_URL` in order to use alternate OpenAI-compatible providers (experimental)
+ - Set `OPENAI_MODEL` to choose a specific model (set to 'compatible' to use gpt-4o)
+ - Set `OPENAI_BASE_URL` to use alternate OpenAI-compatible providers (experimental)
2. Generate API key and store in environment variable `OPENAI_SECRET_KEY` (enable Responses API write access if customizing permissions)
3. Add [rate limiting](#rate-limiting) (_recommended_)
4. Configure auto-generated fields (optional)
diff --git a/src/admin/config/AdminAppConfigurationClient.tsx b/src/admin/config/AdminAppConfigurationClient.tsx
index cc7d1b98..62fe922f 100644
--- a/src/admin/config/AdminAppConfigurationClient.tsx
+++ b/src/admin/config/AdminAppConfigurationClient.tsx
@@ -81,6 +81,7 @@ export default function AdminAppConfigurationClient({
imageQuality,
isBlurEnabled,
// AI
+ hasOpenaiModel,
hasOpenaiBaseUrl,
isAiTextGenerationEnabled,
aiTextAutoGeneratedFields,
@@ -555,6 +556,17 @@ export default function AdminAppConfigurationClient({
)}):
{renderEnvVars(['AI_TEXT_AUTO_GENERATED_FIELDS'])}
+
+ Store model in environment variable to use
+ alternate OpenAI model
+ {' '}
+ {'(set to \'compatible\' to use gpt-4o):'}
+ {renderEnvVars(['OPENAI_MODEL'])}
+
>[0];
+
+const MODEL_DEFAULT: OpenAIModel = 'gpt-5.2';
+const MODEL_COMPATIBLE: OpenAIModel = 'gpt-4o';
+
+const MODEL: OpenAIModel = OPENAI_MODEL === 'compatible'
+ ? MODEL_COMPATIBLE
+ : (OPENAI_MODEL || MODEL_DEFAULT);
+
const checkRateLimitAndThrow = (isBatch?: boolean) =>
_checkRateLimitAndThrow({
identifier: 'openai-image-query',
...isBatch && { tokens: 1200, duration: '1d' },
});
-const MODEL: Parameters>[0] = 'gpt-5.2';
-
const openai = OPENAI_SECRET_KEY
? createOpenAI({
apiKey: OPENAI_SECRET_KEY,