# Eight folders, eighteen nodes, and no declared dependencies in AlekPet's ComfyUI pack

> AlekPet/ComfyUI_Custom_Nodes_AlekPet is a MIT licensed set of ComfyUI extensions covering pose and sketch ControlNet, four prompt translation paths, and ChatGLM image and video generation. Its node table and its published metadata disagree about two node names, and the file that would declare what to install declares nothing.

**AlekPet/ComfyUI_Custom_Nodes_AlekPet** — Custom nodes that extend the capabilities of Comfyui

- Repository: https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet
- Website: https://alekpet.github.io/
- Stars: 1,532 · Forks: 96
- Language: JavaScript
- License: MIT
- Published: 2026-09-16 · Updated: 2026-09-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/alekpet-comfyui-custom-nodes-alekpet

## The Google translate pair sits in the opposite categories from its siblings

Six of the eighteen nodes are translators, arranged in three families of two: a plain text node and a CLIP text encode node. The Deep and Argos families agree with each other on placement. DeepTranslatorTextNode returns a string and is filed under AlekPet Node/text, while DeepTranslatorCLIPTextEncodeNode returns conditioning and is filed under AlekPet Node/conditioning. ArgosTranslateTextNode and ArgosTranslateCLIPTextEncodeNode repeat that exact assignment. The Google family reverses it. GoogleTranslateTextNode also returns a string, and it is filed under AlekPet Node/conditioning. GoogleTranslateCLIPTextEncodeNode returns conditioning and is filed under AlekPet Node/text. So the two Google nodes are crossed relative to both of their own siblings in the same table, which means a workflow saved from the text node and a workflow saved from its Deep and Argos equivalents will not appear under the same menu.

## The published node list renames the two Google nodes

pyproject.toml carries a description field enumerating the nodes, and it is the file a registry reads when it lists a pack. Counted through, it names eighteen items, the same count as the table. The names do not line up. The table calls the pair GoogleTranslateTextNode and GoogleTranslateCLIPTextEncodeNode. The description field calls them TranslateTextNode and TranslateCLIPTextEncodeNode, with no Google prefix, and gives no indication that a third backend also exists behind those two generic names. Everything else in the two lists matches by name, including the ChatGLM4 translate pair, the two Instruct nodes, the image and video generate nodes, PreviewTextNode, HexToHueNode, ColorsCorrectNode, and IDENode. The same file also declares version 1.2.0, a license pointing at the LICENSE file, a single project URL pointing back at the repository, and a [tool.comfy] block with PublisherId alekpet, a DisplayName, and an avatar URL.

## pyproject.toml ends without a dependencies key for four external stacks

The [project] table holds four keys: name, description, version, and license. Then [project.urls] holds the repository, and [tool.comfy] holds the publisher identity. The file stops there. There is no dependencies key, no optional dependency group, and no requirements list anywhere in it. That matters because the node table names four separate things that have to exist before the pack works: a googletrans module for the Google pair, a Deep Translator module, an Argos Translator module, and the ChatGLM4 models behind the Instruct, image, and video nodes. The install instructions make the same gap explicit without acknowledging it. Step two of the download path reads "Run Comfyui and nodes will be installed automatically....", and the git path ends with "Run Comfyui....". Four trailing dots stand in for whatever installation actually happens, and no file in the pack states what is being installed.

## Version 1.2.0 with no release behind it to check against

The version number lives in one place, the version key in pyproject.toml, and it reads 1.2.0. There is nothing to compare it against. The repository has no GitHub releases at all, so there is no tag, no dated artifact, and no changelog to say whether 1.2.0 describes the tree as it stands. The last commit landed on 2026-09-28, so the number and the code can drift apart silently, and a reader has no way to detect it other than reading the file. The pack's own file carries no changelog of any kind, so 1.2.0 is a bare number with no history attached to it. What it does provide is a support page at alekpet.github.io/support and the same author's site at alekpet.github.io as the project homepage.

## Eight folders hold eighteen nodes, and six of them share one folder

The repository root holds eight node directories: PoseNode, PainterNode, GoogleTranslateNode, DeepTranslatorNode, ArgosTranslateNode, ChatGLMNode, ExtrasNode, and IDENode. Folder names are not node names. GoogleTranslateNode contains the two Google nodes, DeepTranslatorNode the two Deep nodes, and ArgosTranslateNode the two Argos nodes. ChatGLMNode is the outlier, holding six of the eighteen nodes across four categories at once: two translators, two Instruct nodes, ChatGLMImageGenerateNode, and ChatGLMVideoGenerateNode, spread over AlekPet Node/text, AlekPet Node/conditioning, AlekPet Node/Instruct, AlekPet Node/image, and AlekPet Node/video. ExtrasNode is the other mixed folder, holding three utilities that have nothing to do with each other: a text preview, an image colour correction, and a HEX to HUE conversion. PoseNode and PainterNode are the only folders that hold exactly what their name says.

## The documented folder layout omits two entries that exist at the root

The download path tells you to extract the archive and put the folder in custom_nodes, then draws what it expects to find afterwards:

```
custom_nodes
   |-- ComfyUI_Custom_Nodes_AlekPet
       |---- folders nodes
       |---- __init__.py
       |---- LICENSE
       |---- README.md
```

The tree names four things under the pack folder: the node folders, __init__.py, LICENSE, and README.md. The repository root carries four more: pyproject.toml, example_workflows/, web_alekpet_nodes/, and .github/, alongside .gitignore. So the published layout leaves out the file that holds the version, the directory that holds the author's example graphs, and the single directory whose name marks the pack's web side. The same step also ends mid sentence. Step one says to put the folder in custom_nodes without saying where custom_nodes is, and step two says the nodes will be installed automatically, then trails off into four dots. The instruction is short enough that a reader following it has to guess at least two things.

## The git path is cmd.exe only and no update step is written down

The second install path is six numbered steps, and every one of them is Windows specific. Install Git. Go to the folder ..\ComfyUI\custom_nodes, with a backslash path. Run cmd.exe. Two ways of getting there are given: click the path panel in the folder and type cmd, or press Windows+R, run cmd.exe, and type `cd /d your_path_to_custom_nodes`. Then one command:

```bash
git clone https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet.git
```

After that the step reads "Run Comfyui....". Two things are missing. There is no Linux or macOS equivalent, even though the pack's own node table has nothing platform specific in it, so anyone on either system has to translate the path and the shell themselves. And there is no update instruction at all. The git route is the only one of the two that could be refreshed, and the file never says how, so an installed copy stays on whatever commit it cloned until somebody remembers to pull it by hand.

## IDENode executes Python or Javascript inside the graph, and is filed under experiments

One node in the pack is not a wrapper around a model or a service. IDENode is described as the node that lets you run code written in Python or Javascript directly in the node, and it is the only entry filed under AlekPet Node/experiments rather than under image, text, conditioning, Instruct, video, or extras. Read as a mechanism, that is a general code execution surface sitting inside a diffusion graph, which is a different risk shape from the twenty other nodes, all of which call a named third party module or a ControlNet. The ExtrasNode entries are the opposite kind of thing and are worth reading for their contracts. HexToHueNode converts a HEX colour to HUE and documents two output ranges in one line, degrees and a normalised range of -0.5 to 0.5, so the consumer of the value has to know which one it asked for. PreviewTextNode displays its input text, and ColorsCorrectNode corrects image colours, with no parameters given for either.

## Conclusion

This pack is worth reading if you already run ComfyUI and want pose or sketch conditioning plus a translation step, since the ControlNet folders and the CLIP text encode variants are the useful part. Check four things first. Install the third party translation module your chosen node wraps by hand, because pyproject.toml names none. Expect to fix the Google translate node's menu placement yourself, since it is filed under the opposite category from its two sibling families. Read IDENode before you wire it into a saved workflow, because it executes Python or Javascript from inside the graph. And if you installed by git, note that no update step is written down, so your copy will not move until you move it.

## FAQ

### How do I install AlekPet's ComfyUI custom nodes?

Two paths are given. Download the repository from GitHub, extract the ComfyUI_Custom_Nodes_AlekPet folder, and put it in custom_nodes; or install Git, open cmd.exe in ..\ComfyUI\custom_nodes, and run git clone https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet.git. Both paths end with the instruction to run ComfyUI.

### Which translation nodes does the AlekPet pack include?

Three module based families plus one model based one. GoogleTranslateTextNode and GoogleTranslateCLIPTextEncodeNode use googletrans, the Deep and Argos pairs use the Deep Translator and Argos Translator modules, and ChatGLM4TranslateTextNode with ChatGLM4TranslateCLIPTextEncodeNode use artificial intelligence to translate prompts.

### Does pyproject.toml list what the AlekPet pack needs installed?

No. The [project] table carries name, description, version, and license, and the file ends after the [tool.comfy] block without a dependencies key. The googletrans, Deep Translator, Argos Translator, and ChatGLM4 modules the nodes wrap are not declared anywhere in it.

### What does IDENode do in ComfyUI_Custom_Nodes_AlekPet?

It lets you run code written in Python or Javascript directly inside the node. It is the only node in the pack filed under the AlekPet Node/experiments category.

### How many nodes are in the AlekPet pack and where do they live?

Eighteen nodes across eight folders at the repository root: PoseNode, PainterNode, GoogleTranslateNode, DeepTranslatorNode, ArgosTranslateNode, ChatGLMNode, ExtrasNode, and IDENode. ChatGLMNode alone holds six of them, covering translation, Instruct, image, and video categories.

## Sources

- [AlekPet/ComfyUI_Custom_Nodes_AlekPet on GitHub](https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet)
- [Issues](https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet/issues)
- [License: MIT](https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet/blob/master/LICENSE)
- [Project website](https://alekpet.github.io/)
- [README](https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet/blob/master/README.md)

---

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