Comet 视频
Veo, Sora, Grok, Kling and friends inside your graph
- media
- media_1
- media_2
- media_3
- media_4
- media_5
- media_6
- media_7
- media_8
- media_9
- media_10
- media_11
- media_12
- media_13
- media_14
- media_15
- media_16
- media_17
- video
This is the node that turns ComfyUI into a front-end for the whole closed-source video frontier. "Comet 视频" calls Veo, Sora, Grok Video, Kling, Hailuo, Seedance, Wan, Vidu, and friends through the pack's reseller channels - the same models you literally cannot download, because they have no open weights. If your workflow needs a cloud-generated clip sitting next to your local processing, this is the door.
Fair warning before the details: video is where API packs get expensive. A single 10-second clip at 1080p against a pro model costs real money per call, and unlike images you can't quietly re-run it a few times "to see." The community's honest take on the category is that it's the right tool for models you can't run locally and a bad default for ones you can - this node is squarely in the first bucket.
How it works
The execute() path collects your prompt and any media inputs, packages them for the selected channel, uploads references, calls the model, downloads the finished video, and returns a video output (a VIDEO-typed asset, which standard video nodes and the pack's own 视频卡片 can consume).
The inputs that matter:
channel- apimart, runninghub, or modelverse (three resellers; there's no first-party option here).model_family- grok, veo, vidu, hailuo, kling, happyhorse, sora, seedance, wan, google. This is your first filter, and it drives whichmodelentries show up in the next dropdown (27 of them).model- the actual model, defaultgrok-video-3.prompt- multiline.aspect_ratio- 10 choices, default 16:9, includingadaptive.duration- 0 through 30 seconds, default 10.resolution- the big one for cost: 480p up to 4K, default 1080P, with model-specific tokens likestd/pro/native1080p.mode- this is the modal switch: 文生 (text-to-video), 图生 (image-to-video), 首尾帧 (first/last frame), 多参 (multi-reference), 视频编辑 (video edit), 运动控制 (motion control), and a few more. Which modes actually apply depends on the model family - a mode that means nothing to Kling still gets passed through, so pick from what your model supports.size- 1280x720 or 720x1280, used by the private Sora-style models.
For references you get a media input plus media_1 through media_17, each with a companion media_type_N string you can set explicitly (image/video/audio) - though the node will also infer the type from what's connected (a tensor is an image, a waveform dict is audio, otherwise video). That unified media entry point is the pack's "virtual wire" trick again: drag references in without a rat's nest of individual connections.
Install and the two things to check
Install via ComfyUI Manager (search "ComfyUI-CometAPI") or git clone https://github.com/jieg9341-lab/ComfyUI-CometAPI into custom_nodes, restart, then configure a key for the channel in the 设置中心. Dependencies are only requests and aiohttp - no model downloads, ever.
Two things bite people more than anything else:
- Not every channel carries every model. The 27-model dropdown is channel-aware, but only if you've picked the channel that actually lists a model will the call succeed. If you get a "model not supported on this channel" style failure, switch channel rather than fighting it.
modemust match the model family. Setting 视频编辑 on a text-to-video-only model doesn't improvise an edit - it either errors or behaves like the base mode. Read the mode list against the family you chose.
Inputs (45)
| Name | Type | Default | Description |
|---|---|---|---|
| channel | COMBO | apimart | 3 options: apimart, runninghub, modelverse |
| model_family | COMBO | grok | 10 options: grok, veo, vidu, hailuo, kling, happyhorse, +4 |
| model | COMBO | grok-video-3 | 27 options: doubao-seedance-2.0, doubao-seedance-2.0-fast, grok-imagine-1.0-video-apimart, sora-2, sora-2-pro, veo3.1-fast, +21 |
| prompt | STRING | — | |
| aspect_ratio | COMBO | 16:9 | 10 options: 2:3, 3:2, 1:1, 9:16, 16:9, auto, +4 |
| duration | COMBO | 10 | 31 options: 0, 1, 2, 3, 4, 5, +25 |
| resolution | COMBO | 1080P | 16 options: 480P, 720P, 4K, 540p, 720p, 1080p, +10 |
| mode | COMBO | 首尾帧 | 12 options: 首尾帧, 多参, 文生, 参考, 图生, 多图, +6 |
| size | COMBO | 1280x720 | 2 options: 1280x720, 720x1280 |
| mediaopt | * | — | |
| media_1opt | * | — | |
| media_type_1opt | STRING | — | |
| media_2opt | * | — | |
| media_type_2opt | STRING | — | |
| media_3opt | * | — | |
| media_type_3opt | STRING | — | |
| media_4opt | * | — | |
| media_type_4opt | STRING | — | |
| media_5opt | * | — | |
| media_type_5opt | STRING | — | |
| media_6opt | * | — | |
| media_type_6opt | STRING | — | |
| media_7opt | * | — | |
| media_type_7opt | STRING | — | |
| media_8opt | * | — | |
| media_type_8opt | STRING | — | |
| media_9opt | * | — | |
| media_type_9opt | STRING | — | |
| media_10opt | * | — | |
| media_type_10opt | STRING | — | |
| media_11opt | * | — | |
| media_type_11opt | STRING | — | |
| media_12opt | * | — | |
| media_type_12opt | STRING | — | |
| media_13opt | * | — | |
| media_type_13opt | STRING | — | |
| media_14opt | * | — | |
| media_type_14opt | STRING | — | |
| media_15opt | * | — | |
| media_type_15opt | STRING | — | |
| media_16opt | * | — | |
| media_type_16opt | STRING | — | |
| media_17opt | * | — | |
| media_type_17opt | STRING | — | |
| _comet_run_modeopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |