工具|异步提交图片任务
Fire off a cloud image job and walk away — without stalling your queue
- Task_ID
- Stage_Log
- Task_JSON
The problem with API image nodes is that they're slow, and while one runs, your whole ComfyUI queue sits there staring at a spinner. TikpanAsyncImageSubmitNode is the fix: it shoves the request into a background task pool, hands you a Task_ID in about a second, and lets the workflow carry on. You collect the result later with the pack's Result or Join nodes. It's fire-and-forget for people who batch a lot of generations and don't want a 90-second API call parked in the middle of their queue.
This is the front half of the async engine inside ComfyUI-Tikpan-Pro, the official plugin from Tikpan.com (攀升AI, a Chinese platform aimed at TikTok/e-commerce creators). It's an API-aggregator shop: you buy virtual tokens on Tikpan, get an sk- key, and one pack reaches GPT-Image, Grok, Doubao and friends. Everything these nodes do happens in the cloud - no GPU, no model download on your side.
How it works
Under the hood it's a local job queue, not a cloud one. The node hashes your payload into a task ID (tikpan_async_…), registers it in an in-process task table, and hands it to a ThreadPoolExecutor running in the background. Four workers by default, one HTTP call each - bump it with the TIKPAN_ASYNC_MAX_WORKERS env var if you're brave. Each task's state is also written to output/TikpanAsync/*.json, which is how your job IDs survive a restart.
The inputs that matter
- API_Key - your Tikpan key,
sk-prefixed, from your tikpan.com account. The placeholdersk-alone is rejected with "API key is empty." - Model -
grok-imagine-image,grok-imagine-image-pro,gpt-image-2, ordoubao-seedream-5-0-260128. The first is the default and the cheapest feeling of the four. - Prompt - what you're generating.
- Size -
1024x1024,1792x1024, or1024x1792. - Images - 1 to 4 per task. Want more? Submit more tasks and Join them.
- Response_Format -
url(default, a cloud link you'll download later) orb64_json(base64 straight back). Leave it onurl.
The Relay_Host defaults to https://tikpan.com; you can point it at a self-hosted relay if you run one. Timeout_Seconds (default 240) bounds a single worker's call.
Outputs
Three strings, and only one matters: Task_ID. That's what you paste into TikpanAsyncImageResultNode (single job) or TikpanAsyncImageJoinNode (up to eight jobs gathered into one IMAGE batch). Stage_Log and Task_JSON are diagnostics - handy once, then ignored.
Install
ComfyUI Manager, search Tikpan, Install, restart. Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/htrert/ComfyUI-Tikpan-Pro
Then restart ComfyUI. None of the async nodes need extra pip packages - it's requests, PIL, torch and numpy, all already in a stock ComfyUI install. (Different story for the pack's PSD nodes, which pull a couple of GB of segmentation models - not your problem here.)
Gotchas
Two worth knowing. First, Task_IDs are local, not server-side: they mean something to this ComfyUI instance, so a task you submitted is gone for good if you wipe the output folder. Second, there's no retry baked in - a failed worker marks the task error and moves on, and your Result node will happily report it. Also the honest caveat for any pack in this category: it's an API wrapper that ships your key and phones home by design, and Tikpan has essentially zero footprint on r/comfyui - so don't paste a production key into a shared workflow, and know that per-call costs add up fast on video models. For image batches at a cent or two a pop, that's a fine trade.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| API_Key | STRING | sk- | Tikpan 平台的 API 密钥,以 sk- 开头,从 https://tikpan.com 获取 |
| Prompt | STRING | A cinematic commercial product image, precise details, realistic lighting. | 提交给异步任务池的提示词 |
| Model | COMBO | grok-imagine-image | 选择要异步出图的模型 |
| Relay_Host | COMBO | https://tikpan.com | Tikpan 中转站地址,一般保持默认即可 |
| Size | COMBO | 1024x1024 | 出图尺寸 |
| Images | INT | 11–4 | 本次任务生成几张 |
| Response_Formatopt | COMBO | 云端链接|url | url=云端链接(推荐);b64_json=直接返回 Base64 |
| Timeout_Secondsopt | INT | 24030–1800 | 单任务超时秒数 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| Task_ID | STRING | — |
| Stage_Log | STRING | — |
| Task_JSON | STRING | — |