presenton/servers/fastapi
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
..
alembic feat: add legacy database migration support and new database schema 2026-03-26 15:33:49 +05:45
api refactor: streamline image path resolution in FastAPI endpoints and PPTX presentation creator using new utility function 2026-03-08 21:08:27 +05:45
assets fix(fastapi): replaces fastembed_vectorstore with chroma for ARM compatibility 2025-07-28 12:56:41 +05:45
constants feat: update Codex model versions and enhance content length limits 2026-03-27 18:30:03 +05:45
enums feat: add Open WebUI as image generation provider 2026-04-05 12:27:45 -05:00
models feat: add Open WebUI as image generation provider 2026-04-05 12:27:45 -05:00
services feat: add Open WebUI as image generation provider 2026-04-05 12:27:45 -05:00
static feat: Svg Icons & Icon Editor for svg 2025-09-11 16:02:03 +05:45
tests fix: rename 'prompt' to 'content' in presentation generation API and update tests accordingly 2026-01-04 17:33:05 +05:45
utils feat: add Open WebUI as image generation provider 2026-04-05 12:27:45 -05:00
.python-version feat(fastapi): adds a score based chunker to chunk documents for outlines 2025-08-03 16:33:55 +05:45
alembic.ini feat: implement database migration on startup and update dependencies for FastAPI 2026-03-08 20:05:44 +05:45
mcp_server.py fix: changes host to localhost for everything except nginx 2025-11-27 23:11:34 +05:45
migrations.py feat: add legacy database migration support and new database schema 2026-03-26 15:33:49 +05:45
openai_spec.json fix: rename 'prompt' to 'content' in presentation generation API and update tests accordingly 2026-01-04 17:33:05 +05:45
placeholder feat: implement database migration on startup and update dependencies for FastAPI 2026-03-08 20:05:44 +05:45
pyproject.toml feat: implement database migration on startup and update dependencies for FastAPI 2026-03-08 20:05:44 +05:45
server.py fix: changes host to localhost for everything except nginx 2025-11-27 23:11:34 +05:45
uv.lock feat: implement database migration on startup and update dependencies for FastAPI 2026-03-08 20:05:44 +05:45