Nodes/Banana Gemini Image Generator/心宝❤失败链接汇总
ComfyUI Node

心宝❤失败链接汇总

BananaV2 said 'success' but no image arrived — this node goes and gets it

By 98624017·Created 9 months ago·Updated 4 months ago· 2
心宝❤失败链接汇总
    • 汇总文本
    • 下载图片
    • 下载结果
    下载尝试false
    下载超时60
    failed_urls_1
    failed_urls_2
    failed_urls_3
    failed_urls_4
    failed_urls_5
    failed_urls_6
    failed_urls_7
    failed_urls_8
    failed_urls_9
    failed_urls_10
    failed_urls_11
    failed_urls_12
    failed_urls_13
    failed_urls_14
    failed_urls_15
    failed_urls_16
    failed_urls_17
    failed_urls_18
    failed_urls_19
    failed_urls_20

    The Gemini image API has a maddening failure mode: sometimes a batch request reports success, you get billed, and the image download still fails. The pack's own README calls it out - "request succeeded but no image returned" - and up until recently there was nothing to do but re-run the batch and hope.

    This node is the fix. It's new (added in early 2026) and its job is tiny: collect the failed_urls outputs from a bunch of BananaV2 nodes, then optionally retry downloading them.

    How it works

    Every BananaV2 node spits out a failed_urls string when a generated image's download fails. If you're running a batch of, say, six V2 nodes, you'd have six loose failed_urls wires going nowhere. This node gives you a place to park them: failed_urls_1 through failed_urls_20 - twenty inputs, each an optional STRING. Wire as many or as few as you have. Each input's tooltip spells it out: connect it to a BananaV2's failed_urls output.

    Then it gives you three outputs:

    • 汇总文本 (aggregated text) - the collected list of failed URLs as one string.
    • 下载图片 (downloaded images) - an IMAGE list. When the aggregator successfully re-downloads a URL, the image lands here.
    • 下载结果 (download result) - a string telling you what actually happened for each URL.

    The two controls:

    • 下载尝试 (download retry), default off. Off, the node just aggregates the URLs into the text output for you to deal with. On, it actually re-attempts to download them, concurrently.
    • 下载超时 (download timeout), 5–600 seconds, default 60. How long each download read can hang before giving up. The default matches the BananaV2 node's own timeout, which is the right starting point.

    It's an output node, so it's meant to sit at the end of the graph as a sink for the failure information - not to feed a sampler.

    When you'd actually use it

    Two scenarios. The boring one: you want a single human-readable list of what failed so you can re-run just those. The useful one: downloads fail transiently all the time (flaky reseller channel, a slow image host, a dropped connection), and a retry a few seconds later often just works. Turn on 下载尝试, and the images that failed at generation time get quietly rescued into the 下载图片 output, ready to wire to a save node.

    It's honest plumbing - the KB's node-plumbing doc calls this the "one source, many consumers" pattern - and it exists because the failure mode it handles is real and recurring with this API. Wire it up before you need it; the first time a batch drops three of eight images and the aggregator recovers them, you'll be glad it's there.

    Installing

    It ships in the same pack as the Banana nodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/98624017/comfyui-banana-li-linux
    

    Restart ComfyUI and it appears with the rest of the 心宝 nodes. No extra dependencies beyond the pack's standard set (requests, Pillow, etc.) - this node is pure HTTP and image handling.

    One gotcha: it only helps if V2's failed_urls actually fires, which requires the V2 nodes to be the ones generating. The older V1 node has no failed_urls output at all - if you're on V1, the fix is to switch those nodes to V2. And keep the timeout sane: setting it to 600 seconds means a dead URL can stall the end of your graph for ten minutes while it waits.

    Category❤️‍🔥心宝专用

    Inputs (22)

    NameTypeDefaultDescription
    下载尝试BOOLEANfalse开启后会对下载失败的链接进行再度并发下载尝试
    下载超时INT605–600下载读取超时时间(秒),默认 60s 与 BananaV2 节点一致
    failed_urls_1optSTRING连接 BananaV2 的 failed_urls 输出 #1
    failed_urls_2optSTRING连接 BananaV2 的 failed_urls 输出 #2
    failed_urls_3optSTRING连接 BananaV2 的 failed_urls 输出 #3
    failed_urls_4optSTRING连接 BananaV2 的 failed_urls 输出 #4
    failed_urls_5optSTRING连接 BananaV2 的 failed_urls 输出 #5
    failed_urls_6optSTRING连接 BananaV2 的 failed_urls 输出 #6
    failed_urls_7optSTRING连接 BananaV2 的 failed_urls 输出 #7
    failed_urls_8optSTRING连接 BananaV2 的 failed_urls 输出 #8
    failed_urls_9optSTRING连接 BananaV2 的 failed_urls 输出 #9
    failed_urls_10optSTRING连接 BananaV2 的 failed_urls 输出 #10
    failed_urls_11optSTRING连接 BananaV2 的 failed_urls 输出 #11
    failed_urls_12optSTRING连接 BananaV2 的 failed_urls 输出 #12
    failed_urls_13optSTRING连接 BananaV2 的 failed_urls 输出 #13
    failed_urls_14optSTRING连接 BananaV2 的 failed_urls 输出 #14
    failed_urls_15optSTRING连接 BananaV2 的 failed_urls 输出 #15
    failed_urls_16optSTRING连接 BananaV2 的 failed_urls 输出 #16
    failed_urls_17optSTRING连接 BananaV2 的 failed_urls 输出 #17
    failed_urls_18optSTRING连接 BananaV2 的 failed_urls 输出 #18
    failed_urls_19optSTRING连接 BananaV2 的 failed_urls 输出 #19
    failed_urls_20optSTRING连接 BananaV2 的 failed_urls 输出 #20

    Outputs (3)

    NameTypeDescription
    汇总文本STRING
    下载图片IMAGE
    下载结果STRING