# ComfyUI Prompt Assistant: LLM prompt translation, expansion and image captioning inside the graph

> ComfyUI Prompt Assistant wires cloud and local LLMs into ComfyUI so prompt translation, expansion and image captioning happen on the node itself. It is a GPL-3.0 plugin for people who already run ComfyUI and want prompt work to stop being a copy-paste exercise.

**yawiii/ComfyUI-Prompt-Assistant** — 提示词小助手可以一键调用智谱、硅基流动、gemini、本地ollama、百度等大语言模型服务，实现提示词翻译、润色扩写、图片反推。支持提示词预设实现一键插入、历史提示词查找等功能。是一个全能型提示词插件。The Prompt Assistant enables one-click access to LLMs/VLMs for prompt translation, expansion, and image captioning. It also supports one-click preset insertion and historical prompt search.

- Repository: https://github.com/yawiii/ComfyUI-Prompt-Assistant
- Website: https://space.bilibili.com/520680644
- Stars: 2,391 · Forks: 133
- Language: JavaScript
- License: GPL-3.0
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/yawiii-comfyui-prompt-assistant

## What ComfyUI Prompt Assistant actually solves

ComfyUI gives you a text box and a queue button. Everything around that text box is manual: translating a Chinese idea into English tags, expanding a thin prompt into something a diffusion model can work with, looking at a reference image and writing down what is in it, remembering the LoRA trigger word you used last week. The plugin's README describes an all-in-one prompt utility that covers exactly this gap, and the node category is named Prompt Assistant.

The audience is narrow and specific. You need ComfyUI installed. Release 1.2.2 removed compatibility code and the README states that versions below ComfyUI 0.3.27 are no longer supported, so older installs are out. Within that group the plugin targets people who want LLM assistance without leaving the graph: translation, refinement, expansion, image and video captioning, tag presets, and history with undo and redo. It is not a prompt manager for other tools and it is not a standalone web app.

## Architecture: Python backend, JavaScript front end, your API key stays server side

The repository layout splits cleanly. server.py, services/, config_manager.py and node/ hold the Python side; js/ holds the front-end widget code; locales/ carries the interface translations; config/ holds defaults. requirements.txt lists httpx, imageio and imageio-ffmpeg, and pyproject.toml declares a single dependency, comfyui-frontend-package>=1.39.16, which is the Node 2.0 front end the 2.0.x line targets.

Requests do not go from the browser to the provider. The 1.0.3 release notes state that the API request service was rebuilt so the API key is not exposed in the front end, and the 2.0.0 notes describe a configuration window where you register custom services and add several models as fallbacks, with expansion, translation and captioning able to select their service independently. User configuration migrated to \user\default\prompt-assistant so reinstalling the plugin does not wipe your settings. That path is worth knowing before you file a bug about lost presets.

The Ollama routing rule is the most concrete piece of behaviour in the changelog: if base_url has no /v1 suffix the plugin uses the native Ollama API, and if it has /v1 it uses the OpenAI-compatible API. That single rule explains most connection problems, and 2.0.6 also fixed a streaming filter that returned empty content for some models and crashed.

## Installing ComfyUI Prompt Assistant and running a first translation

The README does not print an install command, so the only steps that can be traced to the repository are the dependency list and the configuration path. requirements.txt is the authoritative list of what must be present.

```text
httpx
imageio
imageio-ffmpeg
```

imageio-ffmpeg is what the video captioning node needs, so a missing ffmpeg binary shows up there rather than in translation. pyproject.toml declares the front-end package separately.

```toml
[project]
name = "prompt-assistant"
version = "2.0.6"
dependencies = [
    "comfyui-frontend-package>=1.39.16"
]
```

After restart, open the Prompt Assistant settings panel and add a provider. The README names Zhipu, SiliconFlow, Gemini, Baidu, 302.AI and local Ollama as supported services, and states that any API compatible with the OpenAI SDK works. The base_url rule from the changelog applies to Ollama specifically: the 2.0.6 notes say a base_url without /v1 uses the native API and one with /v1 uses the OpenAI-compatible API.

Then add the translation node from the Prompt Assistant category (the README lists it as Prompt Assistant -> prompt translation), connect a text source, and queue. The 2.0.2 notes mention a mixed-language translation rule parameter that sets whether output defaults to Chinese or English, so if the result comes back in the wrong language, that setting is the first place to look. The README also states translation results are cached to avoid repeated calls drifting the original text.

## Where the plugin gets in your way

The version floor is the first real constraint. Anything below ComfyUI 0.3.27 is unsupported by design, and the 2.0.x line is built against the Node 2.0 front end, which means a large share of the changelog is spent on mounting the assistant UI into nodes and subgraphs. Releases 2.0.2, 2.0.3 and 2.0.6 all touch subgraph creation or attachment, and 2.0.5 fixed a node width lock under Node 2.0. If you run an older front end, you are on the wrong branch of this project.

Second, the plugin is a thin client over someone else's model. Latency, output quality, rate limits and cost belong to the provider you configure, and the README's own troubleshooting history reflects that: 2.0.2 fixed gemini-3-pro requests and an Ollama 404, 2.0.3 fixed HTTP 502 caused by a proxy, 2.0.5 fixed network errors from a forced direct-connection mechanism. Those are integration bugs, not model bugs, and they recur as providers change.

Third, video captioning is labelled beta in the 2.0.0 notes. The 2.0.6 fix describes models such as Qwen3.5-Plus being misjudged as unable to handle multiple images, with the plugin now inferring an image limit from the model name and truncating automatically. Name-based inference is a heuristic; a model with an unusual name can still be capped at the wrong number.

## How it differs from ComfyUI-Custom-Scripts and prompt-control nodes

The related searches around this project point at ComfyUI-Custom-Scripts, ComfyUI-Prompt Manager, prompt control, prompt scheduling and the BREAK syntax. Those tools solve different problems. Custom-Scripts is a general quality-of-life pack: autocomplete, image feed, workflow utilities, no model calls. Prompt scheduling and BREAK are about how a single prompt changes across sampling steps, which is a graph-timing concern. Prompt control nodes are about structuring and weighting text.

ComfyUI Prompt Assistant is the only one in that group whose core job is to send your prompt to a language model and bring text back. The tag panel and history are supporting features around that. So the honest comparison is not feature parity; it is whether you want an external model in the loop at all. If you only need autocomplete and a better text widget, a scripts pack is lighter and has no API dependency. If you need an LLM to translate or caption, the plugin is the direct fit.

## Maintenance, upgrade cost and the GPL-3.0 question

The last push was on 2026-04-25, which is the same date as release 2.0.6. The release cadence before that was roughly monthly through early 2026: 2.0.4 on 2026-02-25, 2.0.5 on 2026-04-10, 2.0.6 on 2026-04-25. The repository is not archived. Since the last push is more than six months before today, treat this as a project whose most recent activity is dated rather than as one under continuous development, and read the changelog before assuming a fix landed after April 2026.

Upgrading is cheap in the normal case: the version lives in pyproject.toml, dependencies are pinned only by minimum in that file, and user configuration sits in \user\default\prompt-assistant, which the 2.0.0 notes say was moved there precisely so reinstalls preserve data. The expensive upgrade is the one that crosses the Node 2.0 boundary, because that is where the UI mounting changed.

The licence is GPL-3.0, declared in pyproject.toml as GNU General Public License v3 and shipped as LICENSE. That is a copyleft licence. If you fork the plugin or bundle it into something you distribute, the obligations that come with GPL-3.0 apply to that distribution. This is a description of the licence text, not legal advice; if you plan to redistribute it commercially, have someone qualified read the terms.

## Conclusion

Adopt it if you already run ComfyUI 0.3.27 or newer and want translation, expansion, captioning, tag presets and prompt history attached to the text boxes you already use. Skip it if you need a hosted, browser-only prompt tool, or if you want to keep every prompt out of a third-party API: the plugin sends your text to whichever provider you configure. Before committing, verify your ComfyUI version, decide which provider backend you will point it at, and confirm you are comfortable with GPL-3.0 terms for anything you redistribute alongside it.

## FAQ

### What is an AI prompt?

In this project the prompt is the text you type into a ComfyUI text box, and the plugin treats it as something a language model can translate, refine or expand. The README frames the plugin around prompt translation, expansion and image captioning rather than around how a model interprets the text.

### What is the use of a prompt?

The plugin's answer is practical: a prompt is the input it sends to a cloud or local model so that text comes back translated, polished, expanded, or generated from an image. The README lists translation, refinement, expansion and image or video captioning as the main uses, alongside tag presets and history.

### How do I write an AI prompt?

The plugin does not document a prompt-writing method; it documents rules and presets instead. The 2.0.0 notes describe a rule configuration window with categories and several built-in rules, and the README mentions preset rule sets such as expansion and Kontext instruction optimisation, so the intended workflow is to pick a preset rather than write from scratch.

### What is a prompt in coding?

Here the prompt is data the plugin passes to an LLM provider through its Python backend, not code you write. The 1.0.3 notes state the API request service was rebuilt so the API key is not exposed in the front end, which places prompt handling on the server side of the plugin.

## Sources

- [License: GPL-3.0](https://github.com/yawiii/ComfyUI-Prompt-Assistant/blob/main/LICENSE)
- [Project website](https://space.bilibili.com/520680644)
- [README](https://github.com/yawiii/ComfyUI-Prompt-Assistant/blob/main/README.md)
- [Releases](https://github.com/yawiii/ComfyUI-Prompt-Assistant/releases)
- [yawiii/ComfyUI-Prompt-Assistant on GitHub](https://github.com/yawiii/ComfyUI-Prompt-Assistant)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/yawiii-comfyui-prompt-assistant
