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
+38
View File
@@ -0,0 +1,38 @@
# Per-image prices as read from provider pages on 2026-10-28 (USD)
OpenAI, output only, text prompt tokens extra
model quality 1024x1024 1024x1536 1536x1024
gpt-image-2 low $0.006 $0.005 $0.005
gpt-image-2 medium $0.053 $0.041 $0.041
gpt-image-2 high $0.211 $0.165 $0.165
gpt-image-1.5 low $0.009 $0.013 $0.013
gpt-image-1.5 medium $0.034 $0.05 $0.05
gpt-image-1.5 high $0.133 $0.2 $0.2
gpt-image-1-mini low $0.005 $0.006 $0.006
gpt-image-1-mini medium $0.011 $0.015 $0.015
gpt-image-1-mini high $0.036 $0.052 $0.052
Google Gemini image models, standard tier
gemini-3.1-flash-lite-image 1K $0.0336
gemini-3.1-flash-image 0.5K $0.045
gemini-3.1-flash-image 1K $0.067
gemini-3.1-flash-image 2K $0.101
gemini-3.1-flash-image 4K $0.151
gemini-3-pro-image 1K-2K $0.134
gemini-3-pro-image 4K $0.24
gemini-2.5-flash-image 1K $0.039
Stability AI, 1 credit = $0.01
Stable Image Ultra 8.0 credits = $0.080
Stable Diffusion 3.5 Large 6.5 credits = $0.065
Stable Diffusion 3.5 Large Turbo 4.0 credits = $0.040
Stable Diffusion 3.5 Medium 3.5 credits = $0.035
Stable Image Core 3.0 credits = $0.030
Stable Diffusion 3.5 Flash 2.5 credits = $0.025
1,000 images a day for 30 days = 30,000 images
gpt-image-2 medium 1024x1024 $1,590
gpt-image-1-mini medium 1024x1024 $330
gemini-3.1-flash-image 1K $2,010
Stable Image Core $900
Retrying every refusal once doubles the bill for those requests; the moderation call is separate.