Nodes/Seedance 2.0 BytePlus/๐ŸŒฑ Seedance 2.0 Batch Result Browser
ComfyUI Node

๐ŸŒฑ Seedance 2.0 Batch Result Browser

Pick the best of your batch without re-paying for it

By nnnnkatsuยทCreated 3 months agoยทUpdated about a month agoยท 1
๐ŸŒฑ Seedance 2.0 Batch Result Browser
  • batch_json
  • video_url
  • video_ref
  • first_frame
  • request_id
  • status
  • batch_item_json
โ—„selected_index1โ–บ
โ—„selected_request_idโ–บ

You set batch_count to 5 on a generation node, waited through five renders, and now you have one batch of videos and want the best one. Seedance 2.0 Batch Result Browser is how you page through that batch, see each item's status and seed, click the winner, and get its video URL out - without re-running any generation. In a pay-per-render world, that "without re-running" is the entire point: it's the node that stops you from paying twice for the same clip.

The inputs

  • batch_json - typed input. Crucially, it must come from Seedance 2.0 Batch JSON Viewer, not straight from a generator. The pack blocks direct generator links on purpose, so the frozen snapshot stays stable while you browse. The workflow is always:
Generator batch_json โ†’ Batch JSON Viewer batch_json โ†’ Batch Result Browser batch_json
  • selected_index - which item in the list (1โ€“10) is currently selected.
  • selected_request_id - a stable request_id that the browser list sets for you; if populated it overrides selected_index. This is what keeps a selection intact across re-runs.

Outputs

Six of them, but the ones you'll actually use: video_url (the winning clip's URL, feed it to Save Video), video_ref (structured SEEDANCE2_VIDEO_REF - wire it into Omni Reference to reuse the clip as a reference), first_frame, request_id, status, and batch_item_json (the full JSON of the selected item, if you want the gory details).

How it works

On each run the node parses the frozen batch_json, renders a list (index, request ID, status, seed), and selects an item - by selected_request_id if set, otherwise by index (falling back to the first item with a video URL). Run it once to load the list, click a row, run it again and the selection persists because the browser writes the stable selected_request_id back out. A video-less item shows video_url: (none; selected batch item failed, timed out, or has no output) - the honest "this render didn't make it" case.

The honest caveat

It's a browser, not a player - inline preview is a downloaded first frame, not a scrub timeline. For actually watching the full clips, save a couple of video_urls to disk with Save Video and compare in your media player; the browser is for picking, not reviewing. And remember the 24-hour rule: batch data from BytePlus ages out, so browse and save while the batch is fresh.

Install: ComfyUI Manager โ†’ Install via Git URL โ†’ https://github.com/nnnnkatsu/seedance2-comfyui-byteplus, restart. No API calls of its own, so browsing a batch costs you nothing but time - the renders you're browsing are the ones you already paid for.

Category๐ŸŒฑ Seedance 2.0

Inputs (3)

NameTypeDefaultDescription
batch_jsonSEEDANCE2_BATCH_JSONConnect from Seedance 2.0 Batch JSON Viewer. Direct generator batch_json links are intentionally blocked.
selected_indexINT11โ€“10โ€”
selected_request_idSTRINGStable request_id selected by the batch list.

Outputs (6)

NameTypeDescription
video_urlSTRINGโ€”
video_refSEEDANCE2_VIDEO_REFโ€”
first_frameIMAGEโ€”
request_idSTRINGโ€”
statusSTRINGโ€”
batch_item_jsonSTRINGโ€”