๐ฑ Seedance 2.0 Batch Result Browser
Pick the best of your batch without re-paying for it
- batch_json
- video_url
- video_ref
- first_frame
- request_id
- status
- batch_item_json
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 fromSeedance 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 stablerequest_idthat the browser list sets for you; if populated it overridesselected_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.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| batch_json | SEEDANCE2_BATCH_JSON | Connect from Seedance 2.0 Batch JSON Viewer. Direct generator batch_json links are intentionally blocked. | |
| selected_index | INT | 11โ10 | โ |
| selected_request_id | STRING | Stable request_id selected by the batch list. |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | โ |
| video_ref | SEEDANCE2_VIDEO_REF | โ |
| first_frame | IMAGE | โ |
| request_id | STRING | โ |
| status | STRING | โ |
| batch_item_json | STRING | โ |