🍌 Banana|生视频
The Banana video node that hands you the mp4 twice — local path plus remote URL
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_8
- image_9
- image_10
- info
- video
- mp4url
"🍌 Banana|生视频" is the flagship video node in the Hrio-Commerce pack, and its whole advantage over the lean single-video variant is the outputs: three of them, one for every way you might want to consume the clip. info gives you status, video is the local file path (the node downloads the rendered clip to ComfyUI's temp folder so you can preview it right on the node), and mp4url is the remote URL straight from the backend. If you need the file on disk and a hosted link for a listing, this node hands you both.
It's an API node, so the usual framing applies - there's no local model, no sampler, no VRAM. The video_model dropdown shows Omni, which the tooltip openly admits is a display name for veo3.1, Google's closed video model. This pack is a reseller layer over closed frontier models, the exact ecosystem external-api-nodes.md maps out: Veo has no open weights, so an API wrapper is the only way it gets into a ComfyUI graph, and you pay per call with your prompt and reference images leaving the machine.
How it works
Text and pictures in, file path out, with a vendor in the middle. The node takes your prompt and up to ten optional reference images (image_1…image_10), pre-processes them to your target canvas, uploads them to the backend's OSS/COS storage, and sends the whole thing through an OpenAI-compatible /v1/chat/completions endpoint to the video model. The response is polled until a video URL appears, then downloaded locally - which is why the node previews the result without you doing anything. video_resolution (1080p default; 720p and 4k available) and aspect_ratio (16:9 or 9:16) travel in the JSON payload.
The inputs you'll touch
prompt- the creative core. The default is clean Chinese e-commerce phrasing (subject clear, stable camera, clean lighting); keep that structure and the backend behaves.video_model- locked to Omni (sends veo3.1).api_key- required; blank reads the pack'sconfig.ini.video_resolution/aspect_ratio- the two knobs that change the render.
The three outputs: info (STRING - status/result detail), video (STRING - local file path, directly previewable), and mp4url (STRING - the remote URL).
Install
cd ComfyUI/custom_nodes
git clone https://github.com/moki-flank/Hrio-Commerce
or search Hrio-Commerce in ComfyUI Manager and restart. Dependencies are light (requests, numpy, pillow; torch ships with ComfyUI) and there's nothing to download - the model is on someone else's server. Setup is just the vendor's API key, in the node or in the [banana] section of the pack's auto-created config.ini.
Common issues
- No key = no clip. The failure mode is an error message in
infoand emptyvideo/mp4url. Console log is your friend. - Patience and budget. A Veo-class render takes minutes - the config's
veo_poll_timeout_secdefault is 1800 seconds, a full half hour - and video is where a metered API gets expensive fastest. Batch your jobs; don't iterate one clip at a time. - Display names are cosmetics. "Omni" sends veo3.1; the same goes for the image nodes' "Banano" labels. Read the manifest if you need the real model map.
- It's proprietary and it phones home. Closed-source, credential-holding, network-calling by design - the category the KB has flagged most strongly since the LLMVISION malware incident. Inspect the code before you hand it your key, and accept that your footage goes to the vendor's server.
Want just the local file path and nothing else? The pack's "普通生视频(单输出)" node returns exactly one string.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | 一段高质感电商产品展示视频,主体清晰,镜头稳定,光影干净,真实自然。 | 视频提示词。 |
| video_model | COMBO | Omni | 视频模型。界面显示 Omni,实际发送 veo3.1。 |
| api_key | STRING | 填入 API Key;留空时尝试读取 config.ini 的 api_key。 | |
| video_resolution | COMBO | 1080p | 视频分辨率,会随提示词 JSON 一起发送给后端。 |
| aspect_ratio | COMBO | 16:9 (横屏宽幅) | 视频画面比例:横屏 16:9 或竖屏 9:16,会随提示词 JSON 一起发送给后端。 |
| automation_payloadopt | STRING | 自动化 JSON。前端默认隐藏,只在点击节点上的自动化折叠按钮后显示;后台仍会序列化并参与运行。 | |
| image_1opt | IMAGE | 视频参考图 1;会先按目标画幅处理并上传到 OSS/COS,再通过 OpenAI 兼容 /v1/chat/completions 发送给视频模型。 | |
| image_2opt | IMAGE | 视频参考图 2;会先按目标画幅处理并上传到 OSS/COS,再通过 OpenAI 兼容 /v1/chat/completions 发送给视频模型。 | |
| image_3opt | IMAGE | 视频参考图 3;会先按目标画幅处理并上传到 OSS/COS,再通过 OpenAI 兼容 /v1/chat/completions 发送给视频模型。 | |
| image_4opt | IMAGE | 视频参考图 4;会先按目标画幅处理并上传到 OSS/COS,再通过 OpenAI 兼容 /v1/chat/completions 发送给视频模型。 | |
| image_5opt | IMAGE | 视频参考图 5;会先按目标画幅处理并上传到 OSS/COS,再通过 OpenAI 兼容 /v1/chat/completions 发送给视频模型。 | |
| image_6opt | IMAGE | 视频参考图 6;会先按目标画幅处理并上传到 OSS/COS,再通过 OpenAI 兼容 /v1/chat/completions 发送给视频模型。 | |
| image_7opt | IMAGE | 视频参考图 7;会先按目标画幅处理并上传到 OSS/COS,再通过 OpenAI 兼容 /v1/chat/completions 发送给视频模型。 | |
| image_8opt | IMAGE | 视频参考图 8;会先按目标画幅处理并上传到 OSS/COS,再通过 OpenAI 兼容 /v1/chat/completions 发送给视频模型。 | |
| image_9opt | IMAGE | 视频参考图 9;会先按目标画幅处理并上传到 OSS/COS,再通过 OpenAI 兼容 /v1/chat/completions 发送给视频模型。 | |
| image_10opt | IMAGE | 视频参考图 10;会先按目标画幅处理并上传到 OSS/COS,再通过 OpenAI 兼容 /v1/chat/completions 发送给视频模型。 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| info | STRING | — |
| video | STRING | — |
| mp4url | STRING | — |