Happy Horse Retrieve Tasks (Ace Data Cloud)
The batch node you want after spending money recklessly
- results_json
Everyone who uses a paid video node for a week ends up in the same spot: twelve task IDs, half of them from jobs you queued while distracted, no idea which ones finished. Happy Horse Retrieve Tasks is the node for that afternoon. It takes a list of IDs you already own and hands back a status line for each. It never submits anything, so it never costs anything.
The one input
task_ids_json is a multiline string holding a JSON array of 1 to 20 task IDs - strings in quotes, comma-separated, no trailing comma. That's the entire interface.
["1a2b3c4d-0001", "1a2b3c4d-0002", "1a2b3c4d-0003"]
It parses that as strict JSON, so one-per-line without brackets won't work here the way it does in the reference-to-video node, and an unquoted numeric ID won't either. Empty arrays, arrays over twenty entries, and arrays containing blanks or non-strings are all rejected with "Use 1–20 nonempty task IDs". If you genuinely have more than twenty, just run it twice.
The one output
results_json is a single string: a JSON array of objects, one per task, each with task_id, status, video_url, and trace_id. That's a compact status table, and it's what the node's own UI text summarises with a count.
Here's the honest limitation: it's a string, so there's nowhere natural for it to go. Wire it into a PreviewAny node (which is exactly what the pack's own example workflow does) and read it, or into any text-display node you like. What you can't do is pull a video out of it. There's no batch Load Video and no per-item output socket - each completed clip still goes through Happy Horse Retrieve Task → Happy Horse Load Video, one ID at a time. This is a bookkeeping node, not a download manager.
Why the failure isolation matters
One of the details worth appreciating: if a single task has failed, the node records that row as failed with an empty URL and keeps going through the rest. It doesn't throw away the other nineteen results because one job blew up. For a batch status check that's the right call - you want the whole picture, including the wreckage.
What it won't do is tell you why a job failed. For that you want the trace ID in the row and the Ace Data Cloud console, where request history is browsable by task or trace ID.
Install
Standard for this pack - ComfyUI Manager → Custom Nodes → search Happy Horse → confirm publisher acedatacloud and package Happy Horse by Ace Data Cloud → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/AceDataCloud/HappyHorseComfyUI.git
cd HappyHorseComfyUI && python -m pip install -r requirements.txt
requests is the only dependency; no models, no GPU. Set ACEDATACLOUD_API_KEY or ACEDATACLOUD_API_TOKEN in the environment of the running ComfyUI process - the batch endpoint is authenticated just like every other call in the pack - and restart.
When you'd actually reach for it
After a seed or prompt sweep on a paid model, before you close the browser tab, is the main one. Fire off your variants, paste the IDs into this node, and get a single answer to "how many of these actually landed" without clicking through a web console twelve times. It's also a decent pre-flight check before you sit waiting on a 240-second retrieve: confirm the job reached succeeded first, then spend your two minutes downloading instead of polling.
It's a thin node. It won't make you better videos and it isn't the reason to install the pack. But if you're paying per second for clips, knowing which of your submissions you already own is worth more than it sounds.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| task_ids_json | STRING | [] | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| results_json | STRING | — |