Google promoted gemini-3-pro-image-preview and gemini-3.1-flash-image-preview
(Nano Banana Pro and Nano Banana 2) to GA in early 2026, dropping the
-preview suffix from their model IDs.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Bwg5aRmgChpwrVnpNgoQm
litellm/provider errors (e.g. Gemini's BadRequestError for safety-
filtered generations) were surfacing as raw JSON-in-a-stack-trace,
unreadable to non-engineers using these nodes. Catch BadRequestError
around every litellm call in both nodes, parse the provider's nested
JSON payload, and re-raise as a plain sentence explaining that the
provider itself rejected the request for a content-policy reason (not
a bug) plus concrete guidance to rephrase the prompt.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Bwg5aRmgChpwrVnpNgoQm
- New APIImageGenerate node (external_api/image): text-to-image and
image-to-image via Gemini's Imagen (text-only) and Nano Banana /
Nano Banana Pro / 2 (text and multi-reference image-to-image) models.
- Omni Flash video now accepts a batch of reference images (not just
one), sent in order as separate references in the same call.
- Fix Veo/Omni resolution and duration handling: correct 720/1080/4K
resolution options per model tier, drop the non-existent
veo-3.1-fast-generate-001 id, note Google's 8s lock on 1080/4K.
- Fix RunwayML model list: gen4_image/gen4_image_turbo are image
models, not video, so drop them from the video node's provider list
(tracked as follow-up work to add them to the image node).
- Update README and tests accordingly.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Bwg5aRmgChpwrVnpNgoQm
- Merge Omni Flash into the existing "gemini" provider: one dropdown
entry, model list now includes both Veo and Omni Flash ids, each
revealing its own correct settings (resolution/duration/etc).
- Omni Flash runs through litellm's request/response Interactions API
(litellm.interactions.acreate) instead of the polling
avideo_generation/avideo_status/avideo_content trio Veo and the other
providers use, since it has no status-polling endpoint. Text-to-video
only for now; image/video-conditioned input and conversational
editing aren't implemented yet.
- Fix progress reporting for the Omni path: it now ticks up by
elapsed/timeout while waiting on the single request instead of
sitting at 0% and jumping straight to done.
- Fix live Veo model listing to filter out models Google's API no
longer serves for generation (checks supported_actions for
predictLongRunning) rather than trusting name-matching alone — root
cause of a live 404 on veo-3.1-fast-generate-001, which is also
dropped from the static fallback list.
- Bump litellm 1.92.0 -> 1.100.0.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVFBqa77Zo9t4ps8wt7YB2