Nodes/ComfyUI-AI-CustomURL/Retrieve Video Status (AI CustomURL)
ComfyUI Node

Retrieve Video Status (AI CustomURL)

Pick up a video job you walked away from

By bowtiedbluefin·Created 10 months ago·Updated 10 months ago· 3
Retrieve Video Status (AI CustomURL)
    • video_url
    • status
    • response_json
    base_urlhttps://api.openai.com/v1
    api_key
    video_id

    Hosted video generation doesn't finish while you watch. You submit a job, get an ID, and the thing renders for minutes in a queue somewhere else. The Generate Video node in this pack already polls for you - but only within its max_wait_time, and only if you leave auto_poll on. When it times out, or when you deliberately turned polling off, you're left holding a video_id and a status of timeout (status: …). This node is the resume button: give it that ID and it checks the job again, whenever you're ready.

    How it works

    Three inputs, all familiar from the rest of the pack: base_url, api_key, and the video_id from a previous generation. It issues GET /videos/{id} against your provider and translates the response into a readable verdict.

    The status mapping is the useful part. A completed response gets scanned for a video URL across several common field names (url, output_url, download_url); if none are found and you're on OpenAI, it constructs the content URL ({base_url}/videos/{id}/content) for you, because OpenAI doesn't return a direct link. processing and queued mean it's still cooking. failed means it's dead - the error detail rides along in response_json.

    The outputs

    • video_url - the finished download URL, or empty if still processing/failed.
    • status - completed, processing, queued, failed, error, or unknown.
    • response_json - the raw API response, which is where you look when the other two don't make sense.

    From there it slots back into the same pipeline as the generation node: send video_url to Save Video from URL (with the api_key if it's an OpenAI content URL), and you're done.

    Installing it

    Part of the ComfyUI-AI-CustomURL pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bowtiedbluefin/ComfyUI-AI-CustomURL
    cd ComfyUI-AI-CustomURL
    pip install -r requirements.txt
    

    Or ComfyUI Manager → search "AI CustomURL", restart. No model downloads, no special dependencies beyond the pack's requests.

    The workflow shape it enables

    The intended use is a two-part dance: run Generate Video with auto_poll off (or let it time out), note the video_id, and come back later with this node. That's genuinely useful - a 20-minute render job doesn't need your ComfyUI session alive the whole time. It's also a workaround for a real limitation: no provider endpoint this pack talks to is instant, and waiting is the single most common point of failure in hosted video workflows.

    Honest caveats

    The main one: video_id must be a real ID from your provider, and nothing here validates it beyond trying the request - a mistyped or stale ID just returns an error in status and a stack trace in response_json. Also note the completion check is a single poll, not a loop: if it returns processing, you run the node again. That's by design (you're the loop now), just don't expect it to wait for you. Small, single-author pack, thin community presence - but for the specific chore of resuming async video work, this is the node that makes the generation node's timeout tolerable.

    Categoryai_customurl

    Inputs (3)

    NameTypeDefaultDescription
    base_urlSTRINGhttps://api.openai.com/v1
    api_keySTRING
    video_idSTRING

    Outputs (3)

    NameTypeDescription
    video_urlSTRING
    statusSTRING
    response_jsonSTRING