Beeble Upload Image Test
The URI is the point
- image
- beeble_uri
- debug_json
This node does the first step of every Beeble SwitchX image job: it takes an IMAGE from your graph, uploads the pixels to Beeble's cloud, and hands you back a beeble_uri string. In the full production flow this step is invisible - the Beeble SwitchX Image node uploads, generates, polls, and downloads automatically. The test node exists so you can isolate just this one step and see what Beeble actually gets.
Why you'd reach for it: you're debugging why a generation "doesn't look like the source," or you want to reuse one uploaded asset across several jobs without re-uploading. Both are legit. Most of the time though, you use it because the upload step is failing and you want to know which part.
How it works
Three things happen under the hood, all visible in the debug_json output:
- The first frame of your
IMAGEtensor is saved to a temp.pngfile. Note the "first frame" part - the pack's MVP behavior is to silently use onlyimage[0]from a batch. A 4-image batch uploads one image. - The node calls
POST /v1/uploadswith that filename and gets back a presigned upload URL plus a Beeble URI. - The bytes are
PUTto the presigned URL with the right content type, retried twice on transient network errors.
Inputs and outputs
- image (IMAGE) - required. What gets uploaded.
- filename_prefix (STRING, default
beeble_upload) - only cosmetic; it names the temp file, not the asset. Leave it alone unless you're juggling several. - beeble_uri (STRING) - the important one. This is what you feed into the Start Image Generation Test node's
source_urifield. - debug_json (STRING) - the local file path, upload id, and the URI, as JSON.
Installing and key setup
cd ComfyUI/custom_nodes
git clone https://github.com/albert999-pixel/comfyui-beeble-switchx.git
Or search Beeble in ComfyUI Manager. Restart, then set BEEBLE_API_KEY via a .env file in the node folder, an environment variable, or ComfyUI Desktop's environment-variables panel. No extra Python dependencies and no model files - the compute all happens on Beeble's side, which is why every call costs you a little money and sends your image off-machine. Keep that in mind; it's the tradeoff of the whole pack.
Common issues
BeebleAuthError/ 401 - the key isn't set or isn't valid. Check the Account Info Test node first.- Upload fails with a network error - it retried twice; look at
debug_json's file path and your connection. Beeble's upload is a presigned PUT, so a proxy or firewall that rewrites URLs can break it. - Wrong image came through - remember only the first batch frame is uploaded. Add a Select Image node if you need a specific frame.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| filename_prefix | STRING | beeble_upload | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| beeble_uri | STRING | — |
| debug_json | STRING | — |