Add image-gen module: Spring AI ImageModel options on the wire, a moderation gate, and safe storage of generated images in MinIO (sniffed content type, byte and pixel caps, server-chosen keys, capped URL fetcher); per-provider cost table dated 2026-10-28. ImageModel and ModerationModel are hand-written fakes; MinIO is real via Testcontainers; no image provider called.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b7rnC7jppGGdHGESvy
This commit is contained in:
2026-10-28 18:36:40 +00:00
co-authored by Claude Sonnet 5.5
parent 108fc44542
commit aa8b1604ed
48 changed files with 2112 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
# What is refused before any image is paid for
flagged by moderation -> prompt-flagged: violence
blank prompt -> empty-prompt: prompt is blank
prompt over 4000 chars -> prompt-too-long: 4001 > 4000
control character -> control-characters: prompt contains control characters
size not in list -> bad-size: 9999x9999 not in [1024x1024, 1024x1536, 1536x1024]
quality not in list -> bad-quality: ultra not in [high, low, medium]
moderation endpoint down -> moderation-unavailable: IllegalStateException
ImageModel calls : 0
objects stored : 0