Nodes/Seedance 2.0 BytePlus/๐ŸŒฑ Seedance 2.0 Retrieve Task Result
ComfyUI Node

๐ŸŒฑ Seedance 2.0 Retrieve Task Result

Fetching that render you made yesterday (if it's still alive)

By nnnnkatsuยทCreated 3 months agoยทUpdated about a month agoยท 1
๐ŸŒฑ Seedance 2.0 Retrieve Task Result
    • video_url
    • first_frame
    • request_id
    • status
    • task_json
    โ—„task_idโ–บ
    โ—„api_keyโ–บ
    โ—„recent_task(manual task_id)โ–บ
    โ—„wait_for_completionfalseโ–บ
    โ—„download_first_frametrueโ–บ

    Every generation node in this pack hands you a request_id along with your video - a cgt-... task ID. Seedance 2.0 Retrieve Task Result is what you use that ID for: it goes back to BytePlus and pulls the task's current status and output. Ran a render, closed ComfyUI, and now want the result back without re-paying for it? This node is the way.

    The catch is the same 24-hour rule that governs everything in this pack: BytePlus keeps task status and output URLs for roughly a day. Retrieve a task while it's young and you'll get the video URL, the first frame, and the full JSON status. Retrieve one that's aged out and you'll get an expired/failed status and no URL. So treat this as a same-day recovery tool, not an archive.

    The inputs that matter

    • task_id - the cgt-... ID you saved from a previous run. Tooltip: "Historical BytePlus video generation task ID, for example cgt-...". This is the primary path.
    • recent_task - a dropdown of task IDs this pack has created on your machine, auto-populated. Leave task_id blank and pick from here instead. Saves you copy-pasting IDs around.
    • wait_for_completion - default false: one status check, done. Flip it true and the node polls until the task succeeds, fails, expires, or times out - useful if you're retrieving a task that's still rendering.
    • download_first_frame - default true: downloads the video and decodes its first frame for a preview image.

    You'll also need api_key if you don't have it in the environment or config file.

    Outputs

    • video_url - the STRING that feeds Save Video / Preview Video URL. Empty if the task hasn't succeeded or expired.
    • first_frame - IMAGE preview.
    • request_id - echoes the ID back for convenience.
    • status - the raw task state.
    • task_json - the full JSON response, pretty-printed, if you ever need to see what BytePlus actually said.

    How it works

    The node calls BytePlus's task-retrieve endpoint (GET /api/v3/contents/generations/tasks/{id}) with your API key. With wait_for_completion off it's a single poll; on, it loops. The same node pack's history is used for the recent_task dropdown, which is why that list only shows tasks created on this machine.

    The pattern to use it well

    The natural workflow: generate โ†’ note the request_id โ†’ come back later โ†’ Retrieve Task Result โ†’ Save Video. It's also the cheapest way to batch-check a few renders you kicked off before walking away. Just keep the mental timer on that 24-hour window - and when the URL is in hand, save it immediately. Install: ComfyUI Manager โ†’ Install via Git URL โ†’ https://github.com/nnnnkatsu/seedance2-comfyui-byteplus, restart.

    Category๐ŸŒฑ Seedance 2.0

    Inputs (5)

    NameTypeDefaultDescription
    task_idSTRINGHistorical BytePlus video generation task ID, for example cgt-...
    api_keyoptSTRINGโ€”
    recent_taskoptCOMBO(manual task_id)Recent task IDs created by this node pack on this machine. Leave task_id blank to use this selection.
    wait_for_completionoptBOOLEANfalsePoll until the task succeeds, fails, expires, or times out.
    download_first_frameoptBOOLEANtrueDownload the generated video URL and decode its first frame for preview.

    Outputs (5)

    NameTypeDescription
    video_urlSTRINGโ€”
    first_frameIMAGEโ€”
    request_idSTRINGโ€”
    statusSTRINGโ€”
    task_jsonSTRINGโ€”