Default PaintPlus OpenAI provider to gpt-image-2, fix GPU quick-start

dall-e-2/dall-e-3 retired May 12 2026 and gpt-image-1 deprecates Oct 23
2026, so move every OpenAI default (config.py, both provider classes,
both compose files, .env.example, the in-app provider-settings dropdown,
README) to gpt-image-2 for both generation and edits. Also fix response
parsing in ai_provider.py's OpenAIProvider, which never sent a model
param and assumed a url response — gpt-image-1/2 only return b64_json.

Separately, .env.example shipped AI_PROVIDER=replicate by default, but
replicate has no driver in remote_provider.py, so following the
documented "cp .env.example .env" setup silently broke every AI call
and defeated the GPU quick-start (an explicit non-empty .env value
overrides docker-compose.gpu.yml's own local_gpu fallback). Default to
local_gpu instead, mark replicate/stability as not-yet-implemented, and
recommend Lykon/dreamshaper-8-inpainting as a hands/face-tuned
HF_MODEL_INPAINT override for 4-6GB cards (Quadro P2200, GTX 1060/1660).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nb2vJ8W7bHKx1JXVvpCraH
This commit is contained in:
Claude
2026-06-26 15:17:18 +00:00
parent 36a126bee7
commit 43c66ea860
8 changed files with 55 additions and 46 deletions
@@ -115,8 +115,8 @@ class Tools_ai_provider_settings_class {
{
name: 'openai_model',
title: 'OpenAI model:',
value: ls_get('openai_model', 'dall-e-3'),
values: ['dall-e-3', 'dall-e-2'],
value: ls_get('openai_model', 'gpt-image-2'),
values: ['gpt-image-2', 'gpt-image-1'],
type: 'select',
},
// ── InvokeAI ──────────────────────────────────────────────
@@ -171,7 +171,7 @@ class Tools_ai_provider_settings_class {
ls_set('provider_img2img', params.provider_img2img || '');
ls_set('provider_outpaint', params.provider_outpaint || '');
ls_set('openai_key', params.openai_key || '');
ls_set('openai_model', params.openai_model || 'dall-e-3');
ls_set('openai_model', params.openai_model || 'gpt-image-2');
ls_set('invokeai_url', params.invokeai_url || '');
ls_set('invokeai_model', params.invokeai_model || 'flux-dev');
ls_set('comfyui_url', params.comfyui_url || '');
@@ -187,7 +187,7 @@ class Tools_ai_provider_settings_class {
ai_provider_img2img: params.provider_img2img || '',
ai_provider_outpaint: params.provider_outpaint || '',
openai_api_key: params.openai_key || '',
openai_model: params.openai_model || 'dall-e-3',
openai_model: params.openai_model || 'gpt-image-2',
invokeai_url: params.invokeai_url || '',
invokeai_default_model: params.invokeai_model || 'flux-dev',
comfyui_url: params.comfyui_url || '',