Send To Tost AI
The node that hands your image to camenduru's GPU farm
- images
- STRING
What this actually is
SendToTostAI is one node in a two-piece pack: the node, plus a cloudflared tunnel install that pairs your local ComfyUI with tost.ai, camenduru's hosted-GPU service. The name undersells the catch. This node does exactly one job - it takes an image from your graph, uploads it to your tost.ai endpoint, and prints whatever the server replied. That's it. No result comes back into your workflow, no second node picks up the reply.
Here's the honest framing: this is not a general-purpose tool. It's the "hand the picture to the GPU farm" bridge for people who are already paying tost.ai for a hosted ComfyUI instance running the heavy stuff - FLUX, SDXL, LoRAs on rented hardware. If you don't have a tost.ai account and a server key from camenduru (the README explicitly says to contact him for one), this node does nothing but print a 404. If that's you, you can stop reading and save the token budget.
How it works
The whole thing is a requests.post in a trench coat. The source is one file, and it's refreshingly short:
- It saves the first image in the batch (
images[0]) as a PNG into ComfyUI's temp directory - every run writes afinal_tost_*.pngto disk. - It POSTs that file as a multipart upload to
https://tost.ai/api/s1/{api_key}. - It returns the raw HTTP status and body as a single string:
"200:..."on success, an error code otherwise.
The cloudflared system service from the README is the other half of the story - it's what links your machine to tost.ai's infrastructure in the first place. Install that, get your server key, and the remote workflow you're paying for can reach back to your instance.
The inputs that matter
Just two, and only one of them is yours to worry about:
- api_key (STRING) - the server key from tost.ai. The default
YOUR_API_KEY_HEREis a placeholder that goes nowhere, so the node will fail on first run if you leave it. This is the thing to set. - images (IMAGE) - any image tensor, usually straight out of a
VAE DecodeorLoad Image. Remember: only the first frame of a batch gets sent.
Its single output is a STRING - the status_code:response_text the server returned. It's an output node, so that string lands in your ComfyUI UI for you to eyeball. There's no image output, no automatic chaining. Success looks like a 200: prefix; anything else is the server telling you what went wrong.
Installing it
Standard custom-node fare. ComfyUI Manager: search ComfyUI-TostAI and install. Or the old-school way:
cd ComfyUI/custom_nodes
git clone https://github.com/camenduru/ComfyUI-TostAI
then restart ComfyUI. The good news: there's no requirements.txt, no model downloads, no heavy deps - it uses numpy, requests, and Pillow, all already bundled with ComfyUI. The fiddly part is the service setup, not the node. Per the README:
# Windows: install the cloudflared MSI, then as Administrator
cloudflared.exe service install YOUR_SERVER_KEY_HERE
# Linux
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.deb
sudo cloudflared service install YOUR_SERVER_KEY_HERE
# Mac
brew install cloudflared
sudo cloudflared service install YOUR_SERVER_KEY_HERE
To tear it down later: cloudflared service uninstall (add sudo on Linux/Mac).
Where people get burned
- The placeholder key. Leaving
YOUR_API_KEY_HEREin place doesn't produce a graceful error - it hits a nonsense URL and you get a confusing status string. Get the real key before you wire anything. - Batches. Feed it a batch of four and you've wasted 75% of your upload: only
images[0]is sent. Split your batch or send one at a time. - No loop-back. The reply is just text. If you expected the processed image to land back in your graph, you're going to be disappointed - that's not what this node does.
- Expecting it to work without a paid account. This is the big one. Tost is a paid service; the key is gated behind being a customer. Free-forever users hit a wall immediately.
It's a niche, single-purpose bridge for an audience that's already in camenduru's ecosystem. If you're on tost.ai, it's the missing upload step. If you're not, it's a two-input curiosity with an API key shaped like a paywall.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| api_key | STRING | YOUR_API_KEY_HERE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |