Nodes/comfyui_callback/视频回调节点
ComfyUI Node

视频回调节点

The callback node for video jobs

By upseem·Created 11 months ago·Updated 5 months ago· 1
视频回调节点
  • video
    task_uuid
    callback_url
    save_videotrue
    output_pathcallback
    filename_prefixComfyUI
    formatauto
    codecauto

    What it is

    Video generation takes minutes, not seconds. If you're running Wan, LTX, or Hunyuan Video workflows - especially headless on a server - you do not want to poll the browser waiting for a clip to finish. VideoCallbackNode is the "tell me when it's done" node for that exact situation: a terminal output node that takes the finished video, saves it, and POSTs a small JSON payload to a URL of your choosing. Same idea as its sibling ImageCallbackNode in this pack, one step up the compute ladder. No cloud API, no key - it just phones home when the render lands.

    Same honesty as the image node deserves: this pack is brand new, one commit, essentially no community footprint. For an automation niche it works; it is not a mainstream save node. Adjust expectations accordingly.

    How it works

    The node takes a single video input of ComfyUI's newer VIDEO type - the container format modern video generators emit - and, if save_video is on, saves it through the container's save_to() into ComfyUI/output/callback/. Files get named {task_uuid}_{timestamp}.mp4, or {filename_prefix}_{timestamp}.mp4 if you leave the UUID blank. Then it assembles the same payload shape its image sibling uses: a videos list of relative paths, a comfyui_videos list of /api/view?filename=...&subfolder=callback&type=output URLs, and the task_uuid - POSTed to callback_url with a 10-second timeout.

    The format and codec dropdowns are backed by ComfyUI's comfy_api.util.video_types when that's available (which is how auto decides between MP4 containers and H.264), and they collapse to a plain auto/mp4 and auto/h264 on older builds. And because it's an output node, ComfyUI never caches it away - it runs every time, which is the point: every completed job should produce its callback.

    The inputs that matter

    • video - required, VIDEO type. Only connects to nodes that emit VIDEO, i.e. the current generation of video-gen workflows. A workflow that outputs per-frame images needs ImageCallbackNode, not this one.
    • callback_url - where the POST lands. The only input that decides whether anything happens.
    • task_uuid / filename_prefix - the UUID tags the payload so you can match callbacks to jobs; the prefix only names files.
    • save_video - turn off if you want the notification without keeping the clip, though then the payload's file lists will just be empty.
    • format (auto/mp4) and codec (auto/h264) - leave both on auto until you have a reason not to.

    Install

    Same pack as ImageCallbackNode - one install gets you both nodes. ComfyUI Manager: search "comfyui_callback". Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/upseem/comfyui_callback.git
    

    Restart ComfyUI. The real runtime dependencies are requests, Pillow, and numpy, all of which a stock ComfyUI already has - no model files to download, nothing heavy. The fastapi/uvicorn/pydantic stack only matters if you want the bundled receiver server (port 6688, endpoints at /videos_callback, /status, /logs) instead of pointing the callback at your own webhook.

    Common issues

    Same reachability trap as the image node: localhost in callback_url resolves to whatever machine ComfyUI runs on, so on a remote or headless box you need the machine's LAN IP, not a localhost URL. Callbacks are best-effort - a dead receiver gets logged to the ComfyUI console, never raised, so a failed notification won't fail the render (good) but can slip past you silently (bad; glance at the console now and then). And since this is a one-commit pack with no real install base, give the source a read before you wire it into anything that matters - it's a few dozen lines, well within a coffee break.

    Categorycallback

    Inputs (8)

    NameTypeDefaultDescription
    videoVIDEO
    task_uuidoptSTRING
    callback_urloptSTRING
    save_videooptBOOLEANtrue
    output_pathoptSTRINGcallback
    filename_prefixoptSTRINGComfyUI
    formatoptCOMBOauto2 options: auto, mp4
    codecoptCOMBOauto2 options: auto, h264

    Outputs (0)

    No outputs