Nodes/ComfyUI-nkxx/2. Veo 查询状态 (Wujiai)
ComfyUI Node

2. Veo 查询状态 (Wujiai)

A status board for your Wujiai Veo jobs — one string, zero config

By nkxx188·Created 11 months ago·Updated 6 months ago· 14
2. Veo 查询状态 (Wujiai)
    • report
    api_key

    After you submit a Veo job with VeoSubmitTask on the Wujiai channel, something has to tell you whether Google actually rendered it. That's this node: "2. Veo 查询状态 (Wujiai)". It takes one optional input - api_key - and returns a single report STRING that reads like a terminal dashboard for every Veo task you've submitted through this pack's Wujiai channel.

    How the polling works

    The mechanism is the quiet part you should understand. This node doesn't ask the API "what's new" - it reads the pack's local task database first, then polls the API for the tasks that are still in flight. Each pending task gets a GET to Wujiai's /v1/video/query endpoint; if the status came back as a success and a video URL is attached, the URL gets stored so the download node can find it; failures get marked. Then it prints the whole history, newest first, one line per task: [status] (model) : first 20 chars of prompt.... Statuses are translated into readable Chinese - 排队中 (queued), 生成中 (rendering), 已完成 (done) - so you're not decoding API enums.

    That local database is the reason the async workflow works at all. Tasks live in a JSON file under ComfyUI-nkxx/data/ with a thread lock, so they survive ComfyUI restarts. Submit, close the app, come back tomorrow, and this node will still find the job and tell you where it landed. Nothing in the pack queries a task you submitted on the Grsai channel - this node is Wujiai-only, with its own database and its own API key chain (node field → WUJIAI_KEY env var → __init__.py).

    Using it

    There's genuinely nothing to tune. The pattern is: run VeoSubmitTask → run this → when the report shows a finished task, run VeoGetNextVideo to pull the file down. If you're scripting it, note this node returns time.time_ns() from IS_CHANGED, so it re-runs fresh each execution rather than being cached - that's what lets you poll it repeatedly in the same session.

    Install and gotchas

    Install is the standard pack story: clone https://github.com/jieg9341-lab/ComfyUI-nkxx into ComfyUI/custom_nodes/, restart, and let first-load auto-install requests, pandas, openpyxl, yt-dlp, opencv-python, aiohttp. No model downloads, no GPU - this is pure API polling. The one thing that trips people up is channel confusion: if your task was submitted through the Grsai channel's VeoMultiRefSubmitTask_Async, this Wujiai node won't see it. Use the matching VeoQueryTasks_Async instead. And if a job sits in 排队中 for a long while, that's the upstream service being slow or overloaded, not this node misbehaving - check the report's status text before assuming you've broken something.

    CategoryNkxx/Wujiai/视频

    Inputs (1)

    NameTypeDefaultDescription
    api_keyoptSTRING

    Outputs (1)

    NameTypeDescription
    reportSTRING