Nodes/ComfyUI ZhipuAI Platform/ZhipuAI VideoReportGenerate
ComfyUI Node

ZhipuAI VideoReportGenerate

How to Fire Off a Zhipu CogVideoX Job From ComfyUI Without Touching Your GPU

By MetaGLM·Created 2 years ago·Updated 2 years ago· 5
ZhipuAI VideoReportGenerate
  • images
  • prompt_report_path
  • video_report_path
promptWhat is Art?
prompt_num_threads1
video_num_threads1

Almost every CogVideoX workflow you'll find for ComfyUI is local: you pull the weights, clear the VRAM, wait through the Diffusion steps. This node is the exact opposite of that. VideoReportGenerate is a remote control for Zhipu's hosted platform - the same Z.ai that open-sourced CogVideoX back when it was the only credible open alternative to Kling and Runway. MetaGLM is Zhipu's own GitHub org, so this is a first-party bridge to their cloud API, not some third-party wrapper. No GPU work happens here; the job runs on their servers and you pay per call (or per your platform quota).

Why would you reach for it? Batch throughput and zero local hardware cost. The node is built around a batch pipeline - one prompt, or one prompt per image, submitted as a dataset. The honest trade-off is the async part: this is a submit node, not a get video node. You get task IDs back immediately and the actual video arrives minutes later, which is why the pack ships a separate pull node and leans hard on a resume cache.

How it works

Under the hood this node drives the zhipuai-platform-video Python package (also by Zhipu), and there are three stages:

  1. Your prompt, plus any optional images, get written to an Excel dataset under ComfyUI/output/zhipu/input/ (images land as image_N.png).
  2. Each prompt is expanded by GLM-4-Air, Zhipu's cheap text LLM. Heads-up: the system prompt is hardcoded to ask for a detailed scene description in Chinese, so your video_prompt column will come back in Chinese even if your input is English.
  3. Each expanded prompt (with image, if you fed one) is submitted to cogvideox on the platform, and the API returns a video_task_id per row.

Everything lands as two CSVs in ComfyUI/output/zhipu/output/: prompt_report.csv and video_report.csv (prompts, image paths, and task IDs). The video_report_path is the one that matters - it's what you hand to the pull step.

The cache deserves a mention because it's the pack's best feature. Every API call is keyed by an md5 hash of its inputs and stored in a cache_data/ folder in your ComfyUI root, so re-running a workflow skips completed stages instead of re-billing you. That's the "idempotent" behavior the README brags about, and it's what makes the generate-then-wait-then-pull loop usable.

The inputs that actually matter

Only a few, so this is a short list:

  • prompt - a multiline string. The only thing you'll touch on every run. (The default, "What is Art?", is a shrug, not advice.)
  • images - optional IMAGE input for image-to-video. Feed a LoadImage → resize → IMAGE into it and each image gets its own job.
  • prompt_num_threads / video_num_threads - 1 to 10. These are concurrent API slots, and each slot is rate-limited to roughly one call per 60 seconds. Cranking these to 10 will not give you 10× speed on a free tier; it mostly matters for paid batch quotas.

Outputs are two absolute-path STRINGs: prompt_report_path and video_report_path. Wire the second into VideoReportPull.

Installing it

Easiest route is ComfyUI Manager - search for ComfyUI ZhipuAI Platform and hit install. Or, manually:

cd ComfyUI/custom_nodes
git clone https://github.com/MetaGLM/ComfyUI-ZhipuAI-Platform

Then restart ComfyUI. The install pulls the zhipuai-platform-video dependency (plus its tree: zhipuai, langchain-glm, datashaper, openpyxl) automatically - no model files to download, because there's nothing local to download. Two environment requirements you can't skip:

export ZHIPUAI_API_KEY="your_platform_key"

There's no API-key field on any node in this pack; the SDK reads ZHIPUAI_API_KEY from the environment that launches ComfyUI. The other trap is Python: the dependency pins >=3.10,<3.12, so if your ComfyUI venv runs Python 3.12+ the install will refuse to resolve. You'll want a 3.10 or 3.11 environment.

Where people get burned

  • Empty prompt raises a hard Prompt cannot be empty ValueError on the node. Fill it before queueing.
  • Auth errors (401-style failures from the SDK) mean the key is missing or mistyped - check how ComfyUI was launched, not the node.
  • It bills you immediately. The node returns in seconds with task IDs while the video churns server-side. That's by design; don't assume something broke.
  • The cache is in your ComfyUI root as cache_data/. If you ever need to force a fresh submission - same prompt, new run, real re-bill - delete the matching folder there.

Treat the README's example workflow (example/zhipuai_cogvideo_workflow.json) as the reference wiring: LoadImage → resize → Generate → Pull → a text viewer.

Categoryzhipuai/video

Inputs (4)

NameTypeDefaultDescription
promptSTRINGWhat is Art?
prompt_num_threadsINT11–10
video_num_threadsINT11–10
imagesoptIMAGE

Outputs (2)

NameTypeDescription
prompt_report_pathSTRING
video_report_pathSTRING