Nodes/Tikpan Official Nodes/工具|合并异步图片任务
ComfyUI Node

工具|合并异步图片任务

Merge up to 8 async image jobs into one batch — and wait only as long as you must

By htrert·Created 5 months ago·Updated 2 months ago· 1
工具|合并异步图片任务
    • Images
    • Stage_Log
    • Tasks_JSON
    • Image_Paths
    Task_ID_1
    Wait_Alltrue
    Max_Wait_Seconds900
    Poll_Interval_Seconds3
    Task_ID_2
    Task_ID_3
    Task_ID_4
    Task_ID_5
    Task_ID_6
    Task_ID_7
    Task_ID_8

    This is the node that makes the async pool feel like a batch renderer. Instead of babysitting one job at a time, TikpanAsyncImageJoinNode takes up to eight Task_IDs from TikpanAsyncImageSubmitNode, waits for them to finish, and merges every successful image into a single IMAGE batch. One run, eight (or four, or two) cloud generations, one tidy tensor on the output - exactly what you want when you're generating a contact sheet, an A/B set, or a grid of product shots.

    It's part of the async engine in ComfyUI-Tikpan-Pro, the official plugin for the Tikpan.com API aggregator. The whole engine is fire-and-forget: submit jobs in the background, then gather them here. The cloud does the work on your prepaid tokens; this node just coordinates.

    How it works

    You feed it task IDs as strings, it watches all of them, and it returns once they reach a terminal state. The Wait_All toggle decides the semantics: True (default) waits for every task to finish - success or error - before returning, so you get the complete picture. False returns as soon as any one task succeeds, which is a genuinely useful "give me the fastest good one" mode for racing a prompt against several models. Polling happens every Poll_Interval_Seconds (3 by default), bounded by Max_Wait_Seconds (900 by default). Tasks that errored are skipped - only successful ones contribute images - so a single failure won't kill the batch; it just leaves a gap.

    The inputs that matter

    • Task_ID_1 - the only required one. Wire it from the Submit node's Task_ID output.
    • Task_ID_2 … Task_ID_8 - optional; leave empty ones alone, the node ignores blank strings.
    • Wait_All - True = wait for everything, False = first success wins.
    • Max_Wait_Seconds / Poll_Interval_Seconds - same semantics as the Result node.

    Outputs

    • Images - one IMAGE batch combining every successful job, in the order you listed the IDs. If nothing succeeded you get a black image plus a log that tells you why.
    • Image_Paths - the on-disk paths of everything that came back, one per line.
    • Tasks_JSON / Stage_Log - the full task records and a per-task status summary (success/error/running counts). This is where you check which of the eight actually made it.

    Install

    Same pack, same one-time setup:

    cd ComfyUI/custom_nodes
    git clone https://github.com/htrert/ComfyUI-Tikpan-Pro
    

    or ComfyUI Manager → search Tikpan → Install, then restart. Nothing extra to pip-install for the async nodes.

    Gotchas

    The biggest practical one: with Wait_All on and one slow model in the mix, you wait for the slowest of the eight, not the average. If you're racing for speed, flip Wait_All off. Also remember the task pool is local - those tikpan_async_… IDs only exist on this machine (backed up as JSON in output/TikpanAsync), and each job costs you metered cloud credits. Since this pack has little community discussion behind it, treat it as a tool to test on small batches before you commit a big parallel run - and never share a workflow with your real key in it.

    Category👑 Tikpan 官方独家节点/06 任务与并发 Tools/异步任务池 Async Engine

    Inputs (11)

    NameTypeDefaultDescription
    Task_ID_1STRING必填的第 1 个任务 ID
    Wait_AllBOOLEANtrueTrue=等所有任务结束;False=任一成功即返回
    Max_Wait_SecondsINT9000–7200全部任务的最长等待秒数
    Poll_Interval_SecondsINT31–60轮询任务状态的间隔秒数
    Task_ID_2optSTRING可选第 2 个任务 ID
    Task_ID_3optSTRING可选第 3 个任务 ID
    Task_ID_4optSTRING可选第 4 个任务 ID
    Task_ID_5optSTRING可选第 5 个任务 ID
    Task_ID_6optSTRING可选第 6 个任务 ID
    Task_ID_7optSTRING可选第 7 个任务 ID
    Task_ID_8optSTRING可选第 8 个任务 ID

    Outputs (4)

    NameTypeDescription
    ImagesIMAGE
    Stage_LogSTRING
    Tasks_JSONSTRING
    Image_PathsSTRING