[Partner Nodes] added 4K resolution for Veo models; added Veo 3 Lite model#13330
[Partner Nodes] added 4K resolution for Veo models; added Veo 3 Lite model#13330Kosinkadink merged 5 commits intomasterfrom
Conversation
aba8129 to
3df99f2
Compare
… model Signed-off-by: bigcat88 <bigcat88@icloud.com>
3df99f2 to
c4c0f14
Compare
📝 WalkthroughWalkthroughThe PR modifies the Veo video generation nodes to support the veo-3.1-lite model variant and adds resolution selection (720p/1080p/4k). The MODELS_MAP dictionary was updated with new endpoint mappings. Veo3VideoGenerationNode was refactored to inherit directly from IO.ComfyNode with independent schema and execution logic. Price calculations were revised to factor in model variant, resolution, and audio settings. Runtime validation prevents veo-3.1-lite from operating at 4k resolution. Similar updates were applied to Veo3FirstLastFrameNode. Polling intervals increased from 5.0 to 9.0 seconds across both nodes. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@comfy_api_nodes/nodes_veo2.py`:
- Around line 274-280: The "resolution" IO.Combo.Input allows selecting "4k" but
the runtime checks only reject lite models; update the model validation that
currently handles veo-3.1-lite and veo-3.0* (the logic around lines 396-419) so
that any veo-3.0 family model is treated like the lite models and 4K is
disallowed; specifically, add veo-3.0* to the conditional that prevents/clears
4k, and when a user-selected resolution is unsupported ensure you either
raise/return a validation error or explicitly set resolution to a supported
default instead of silently dropping the field, referencing the "resolution"
input and the model-check branches that currently only mention veo-3.1-lite.
- Around line 444-454: The code dereferences poll_response.response (assigned to
response) without checking it exists, causing raw AttributeError when poll
completes with no response; update the block around poll_response/response to
first check that poll_response.response is truthy (and if not, handle like other
Veo2 defensive branches by raising a controlled API-node failure that includes
poll_response.error or a clear "no response" message), then proceed to read
response.raiMediaFilteredCount/raiMediaFilteredReasons and response.videos only
after that guard so you avoid AttributeError.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 9abec78d-6019-43d4-bdbc-fad2e9672a38
📒 Files selected for processing (1)
comfy_api_nodes/nodes_veo2.py
API Node PR Checklist
Scope
Pricing & Billing
If Need pricing update:
QA
Comms