Comet 文本
A multimodal LLM node that feeds the rest of the pack
- media
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_8
- image_9
- image_10
- video_1
- video_2
- video_3
- audio_1
- audio_2
- audio_3
- response
Every good API pack needs a brain, and "Comet 文本" is this one's. It's a chat-LLM node that calls Gemini, GPT, and a couple of open models through the reseller channels, and it's genuinely multimodal - feed it images, video, or audio along with your text, and it'll read them too. In a CometAPI workflow it's usually the thing upstream: the node that writes the batch of prompts, captions a reference image, or cleans up a rough idea before it hits a Comet 图像 node.
Where this one stands out from the generic LLM-in-ComfyUI crowd: it's wired to the same channels and keys as the rest of the pack, and it outputs a plain response string that plugs straight into the batch text machinery. That tight integration is the real reason to use it over a standalone API node.
Inputs
The core set is a standard chat shape:
channel- grsai, apimart, runninghub, or modelverse (no openrouter here, unlike the image nodes).model- 24 choices, defaultgemini-3-flash, including gpt-5.x and Gemini 3.x variants. Check what your channel actually carries.system_prompt_mode- 默认 vs 高级. The system prompt only takes effect in 高级 (advanced) mode; in default mode the node ignores it. Easy to trip over.system_prompt- multiline, only used in advanced mode.prompt- multiline, the actual question or instruction.
The multimodal side is where it gets interesting. You get a media input plus image_1…image_10 (IMAGE), video_1…video_3 (VIDEO), and audio_1…audio_3 (AUDIO). Here's the one hard constraint: video and audio inputs only work with Gemini-format models. Feed video to a non-Gemini model and the node returns a clear "当前 LLM 的视频/音频输入只支持 Gemini 接口格式模型" error instead of silently dropping it. Images work across the board; video/audio is a Gemini-only feature.
How it works
execute() resolves your channel/model, collects all the media into the right message parts (PIL images, video file paths, audio files), builds the messages array in the model's API format, and calls out. The response output is the plain text answer - no chat scaffolding, no markdown wrapper to strip, which is the thing that makes it pleasant to feed into the batch text card. The node also remembers the result internally for the pack's freeze/run-cache modes.
Install and what to watch
Standard pack install (ComfyUI Manager "ComfyUI-CometAPI", or git clone https://github.com/jieg9341-lab/ComfyUI-CometAPI into custom_nodes), restart, key in the 设置中心. requests and aiohttp only.
Things that bite:
- The API key lives in plain JSON in the plugin's data folder. Fine for a personal box; don't build shared-infrastructure workflows around this without thinking about key exposure.
- Your prompt, images, and audio all leave the machine to the reseller. For an LLM that's how it always works, but don't feed it proprietary client material and assume privacy.
- The model you pick has to exist on the channel you picked. The dropdown is channel-aware, but if you switched channels mid-workflow a stale model name can fail at call time. Re-pick the model after changing channel.
- Cost is per call and tokens add up when you're shipping images and video into the prompt. Fine for prompt engineering; expensive if you run it in a loop over a large dataset.
Inputs (23)
| Name | Type | Default | Description |
|---|---|---|---|
| channel | COMBO | grsai | 4 options: grsai, apimart, runninghub, modelverse |
| model | COMBO | gemini-3-flash | 24 options: gemini-3-flash, gemini-3.5-flash, gemini-3.1-pro, gemini-3-pro, gemini-3.1-flash-lite, gpt-5.5, +18 |
| system_prompt_mode | COMBO | 默认 | 2 options: 默认, 高级 |
| system_prompt | STRING | — | |
| prompt | STRING | — | |
| mediaopt | * | — | |
| image_1opt | IMAGE | — | |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — | |
| image_5opt | IMAGE | — | |
| image_6opt | IMAGE | — | |
| image_7opt | IMAGE | — | |
| image_8opt | IMAGE | — | |
| image_9opt | IMAGE | — | |
| image_10opt | IMAGE | — | |
| video_1opt | VIDEO | — | |
| video_2opt | VIDEO | — | |
| video_3opt | VIDEO | — | |
| audio_1opt | AUDIO | — | |
| audio_2opt | AUDIO | — | |
| audio_3opt | AUDIO | — | |
| _comet_run_modeopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| response | STRING | — |