[Partner Nodes] feat: Beeble SwitchX nodes#14137
Conversation
Signed-off-by: bigcat88 <bigcat88@icloud.com>
📝 WalkthroughWalkthroughThis PR adds a new Beeble SwitchX API integration module with two ComfyUI nodes for media editing. The video node accepts video frames and processes them through the Beeble API; the image node handles single images. Both nodes support optional alpha masking (select, custom, fill modes), automatic resolution downsampling to enforce Beeble's 2.77MP pixel budget, optional reference image input, and prompt-based edits. The implementation submits requests to the API, polls for completion status (now classifying "in_queue" as a queued state), downloads the rendered output, and optionally retrieves alpha matte results. A BeebleExtension class registers both nodes for ComfyUI. 🚥 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: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@comfy_api_nodes/util/client.py`:
- Line 89: The shared default QUEUED_STATUSES in comfy_api_nodes/util/client.py
now includes "in_queue", causing poll_op_raw to treat that as a non-consuming
queued state and effectively bypass max_poll_attempts for any node that uses the
default; update comfy_api_nodes/nodes_beeble.py to call poll_op (the wrapper
that ultimately uses poll_op_raw) with an explicit queued_statuses list that
excludes "in_queue" (e.g., copy the original queued list without "in_queue") so
Beeble polling behavior is unchanged, or alternatively pass a queued_statuses
that enforces consumption/timeouts; reference poll_op, poll_op_raw, and
QUEUED_STATUSES when making the change.
🪄 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: 9e7e7415-7af8-4fec-9172-cbd7bb3d31cd
⛔ Files ignored due to path filters (1)
comfy_api_nodes/apis/beeble.pyis excluded by!comfy_api_nodes/apis/**
📒 Files selected for processing (2)
comfy_api_nodes/nodes_beeble.pycomfy_api_nodes/util/client.py
This PR adds two nodes, one for Image processing and one for Video.
Official documentation: https://docs.beeble.ai/beeble/switchx
API Node PR Checklist
Scope
Pricing & Billing
If Need pricing update:
QA
Comms