presenton/servers/nextjs/components
Christopher Quenneville f2703ec003 feat: add Open WebUI as image generation provider
Add native support for Open WebUI's image generation API as a new
image provider option. Open WebUI exposes an OpenAI-like
/v1/images/generations endpoint but with key differences that
require special handling:

- Response is a bare JSON array instead of {"data": [...]}
- Image URLs are relative paths (e.g. /api/v1/files/.../content)
- File downloads require the same Bearer auth token

The implementation uses raw HTTP calls via aiohttp rather than the
OpenAI SDK to handle these differences. No model parameter is sent
since Open WebUI manages the image model in its own admin settings.

Backend changes:
- New OPEN_WEBUI enum value in ImageProvider
- generate_image_open_webui() method in ImageGenerationService
- Environment getters/setters for OPEN_WEBUI_IMAGE_URL and
  OPEN_WEBUI_IMAGE_API_KEY
- UserConfig model and config loading/saving pipeline updated

Frontend changes:
- New "Open WebUI" option in image provider dropdown
- Settings UI with URL and optional API key fields
- Validation, field mappings, and config persistence

Docker:
- OPEN_WEBUI_IMAGE_URL and OPEN_WEBUI_IMAGE_API_KEY added to all
  docker-compose service definitions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 12:27:45 -05:00
..
OnBoarding feat: enhance Ollama URL handling in TextProvider and PresentonMode components, adding custom URL options and improving user experience 2026-03-04 12:34:46 +05:45
ui fix: present mode theme issue 2026-03-29 17:27:31 +05:45
Announcement.tsx user_config in setting & fonts removed 2025-05-12 17:16:58 +05:45
AnthropicConfig.tsx feat: Upload page redesigns 2026-02-21 14:44:34 +05:45
BackBtn.tsx style(nextjs): make navbar backbtn look better 2025-07-23 20:44:43 +05:45
CodexConfig.tsx feat: update Codex model versions and enhance content length limits 2026-03-27 18:30:03 +05:45
CustomConfig.tsx feat: adds options to select between tool calls/json schema and enable disable thinking for custom models 2025-08-04 14:50:55 +05:45
GoogleConfig.tsx feat: Upload page redesigns 2026-02-21 14:44:34 +05:45
Header.tsx update: 'Create Template' button in header 2025-08-09 20:47:16 +05:45
Home.tsx feat: update font usage across components to include Syne and Unbounded, enhancing typography consistency 2026-03-04 11:44:10 +05:45
ImageSelectionConfig.tsx feat: add Open WebUI as image generation provider 2026-04-05 12:27:45 -05:00
LLMSelection.tsx feat: add theme management endpoints, integrate color palette generation and UI implementation 2026-03-02 23:15:15 +05:45
MarkDownRender.tsx feat: integrate Markdown rendering for presentation title and close menu on export actions 2026-03-03 11:42:42 +05:45
OllamaConfig.tsx style: remove ollama icons 2025-08-09 03:47:52 +05:45
OpenAIConfig.tsx Refactor: Clean up imports and remove merge conflict markers in presentation generator components 2026-03-02 20:21:23 +05:45
ToolTip.tsx feat: Upload page redesigns 2026-02-21 14:44:34 +05:45
Wrapper.tsx feat: Design improvements 2026-03-07 23:24:26 +05:45