Seedream 5 Pro - Nxdify by HearmemanAI
Seedream 5 Pro in ComfyUI, on your own PiAPI key — no Comfy credits needed
- image_1
- image
If you've been jealous of Seedream 5 Pro results, the official way to get them into ComfyUI is the Partner Nodes - Comfy's metered storefront over ByteDance's closed models, where you buy prepaid credits and log into a Comfy account. This node is the bring-your-own-key alternative. It skips Comfy's storefront entirely and calls Seedream 5 Pro through PiAPI's task API using a key you paste into a widget. No model downloads, no VRAM, no Comfy subscription. You just need a PiAPI account, a key, and money on the meter.
Here's the thing to internalize first: Seedream is ByteDance's closed image line, so local is never an option at any GPU size. The only door is an API, and the only real choice is whose API - Comfy's Partner storefront or a third-party endpoint like this one. PiAPI is a reseller in the crowded sense the KB calls out: one key, per-call billing, and - notably - a seedream-5-pro-less-restriction task type that sits looser on content filtering than ByteDance's first-party endpoint would. That's a big part of why this niche exists at all.
How it works
The node is an HTTP client dressed as a generator. Each reference tensor is converted to JPEG and squeezed under 5MB (a quality-then-scale compression ladder - it knocks quality from 92 down to 52 before it starts downscaling). Then the clever/fiddly part: PiAPI fetches references by URL, so every image you feed in gets briefly uploaded to tmpfiles.org, a public file host with no key required. ByteDance rejects tmpfiles' viewer URL as "FormatUnsupported" because it serves HTML, so the node fetches the viewer page and scrapes the signed raw /dl/ link out of the markup. Uploads retry three times with backoff, because tmpfiles is flaky - the README even tells you to swap upload_ref_with_retry for your own R2/S3 bucket if durability matters to you.
Once references are hosted, it POSTs the task to api.piapi.ai/api/v1/task with your key in the X-API-Key header, then polls every three seconds until the task completes, fails, or hits a five-minute timeout. The first output image is downloaded and handed back as a normal ComfyUI IMAGE tensor. Watch the console under the [nxdify-hearmemanai] prefix and you can see each step - hosting, task ID, poll status, elapsed seconds.
The inputs that matter
Only a few of these will you touch regularly:
piapi_api_key- your PiAPI key. The node refuses to run without it, so grab one at piapi.ai (the README's link is a referral, fyi).inputcount- 1 to 10, default 1. Bump it and click Update inputs to makeimage_2throughimage_Nslots appear. Unconnected slots are silently skipped.image_1…image_N- your reference images. First one is free; each extra reference costs about $0.003 per call, so don't drag in ten frames "just in case."prompt- multiline text, the actual generation prompt.size(2Kdefault /1K) andaspect_ratio(1:1default, plus 16:9, 9:16, 4:5, 21:9, 3:2, 2:3, 4:3, 3:4).
It emits one output, image - wire it to a Save Image or preview and you're done. That's the whole graph.
Installing it
ComfyUI Manager: search for "Seedream 5 Pro - Nxdify" and install. Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/Hearmeman24/ComfyUI-Nxdify-Nodes
pip install -r ComfyUI-Nxdify-Nodes/requirements.txt
Then restart ComfyUI. Dependencies are light - aiohttp, Pillow, numpy - and there are no model files to fetch. The node appears under image/generation as "Seedream 5 Pro - Nxdify by HearmemanAI".
Where you'll get burned
The costs are the honest gotcha. This is pay-per-call, and it adds up faster than people expect - the "really small number of images per year for $20-30 a month" complaint that follows every cloud-in-ComfyUI announcement applies here too, just metered per image instead of per subscription. Your first reference is free, but every job still has API and hosting costs baked in.
Second: your data leaves the machine, twice over. Prompts and references go to PiAPI/ByteDance, and references pass through a public third-party host (tmpfiles) on the way. The node is open source and MIT-licensed, so you can read what it does - but if your inputs are sensitive, the R2/S3 swap in the README isn't optional, it's the security control. This is the one case in ComfyUI where a node phoning home with your images is its actual intended behavior, so keep that in mind before you wire in a fresh pack.
Finally, the usual API failure modes: bad key, exhausted credits, a task that times out after five minutes, or tmpfiles being down at the wrong moment (the retries usually absorb it). Check the console log - it tells you exactly which poll failed and why. This is a young, low-traffic pack with essentially no community war stories yet, so if something breaks in a novel way, you're reading the source or filing an issue.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| inputcount | INT | 11–10 | — |
| image_1 | IMAGE | — | |
| prompt | STRING | — | |
| piapi_api_key | STRING | — | |
| size | COMBO | 2K | 2 options: 2K, 1K |
| aspect_ratio | COMBO | 1:1 | 9 options: 1:1, 16:9, 9:16, 4:5, 21:9, 3:2, +3 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |