ComfyUI nodes

anex.sh video inside a ComfyUI workflow.

What it is

A set of ComfyUI nodes that make video with sound on anex.sh, billed to your anex.sh credits. Nothing runs on your GPU: each node sends a request to anex.sh, waits for the clip and hands it on as a ComfyUI VIDEO, audio included.

The nodes are open source (MIT) at github.com/Mitoncz/comfyui-anex and published in the Comfy Registry as comfyui-anex.

Install

Search for "anex.sh video" in ComfyUI-Manager, or run:

comfy node install comfyui-anex

To install by hand, clone the repository into ComfyUI/custom_nodes/ and restart ComfyUI:

git clone https://github.com/Mitoncz/comfyui-anex ComfyUI/custom_nodes/comfyui-anex

The nodes need nothing beyond ComfyUI's own packages. They appear under "anex.sh/video" in the node library, and three ready workflows open from the Templates panel under "comfyui-anex".

Your API key

Create a key on the Keys page of the console and start ComfyUI with it in the environment:

export ANEX_API_KEY=<your key>
python main.py

Leave the api_key field under each node's advanced inputs empty. Its label reads "api_key (empty: ANEX_API_KEY is set)" when ComfyUI has the key, and "api_key (ANEX_API_KEY not set)" when it does not.

ComfyUI Desktop started from the Dock or the Start menu does not see a variable exported in a terminal. On macOS run launchctl setenv ANEX_API_KEY <your key>, on Windows setx ANEX_API_KEY <your key>, then quit and reopen ComfyUI Desktop.

You can also paste the key into a node's api_key field. A key typed there is saved inside the workflow and in the metadata of the files ComfyUI writes, so anyone you share either with can use it. The environment variable keeps it out of both.

The nodes

nodemodelmakes
anex.sh Text to VideoMiniMax H3 (50 steps) or FastH3-8-Step-V2 (8 steps)a clip from a prompt
anex.sh First/Last Frame to VideoMiniMax H3a clip that starts on one image, ends on another, or both
anex.sh Reference to Video / Edit VideoMiniMax H3 Ref2VA (4-step)a new clip with people, products or places from up to 9 images, or up to 3 videos edited as the prompt describes
anex.sh Upscale Video to 2KSeedVR2a finished 768P clip at 2K
anex.sh Get Taskthe clip of a task made earlier, at no charge

Clips are 768P (768 pixels on the short side) or 2K, 24 frames per second, 4 to 15 seconds. Every node also outputs the anex.sh task_id: connect it to Upscale Video to 2K to upscale that clip without sending it back.

Prices

The nodes cost what the same request costs through the API: see video pricing. A node's status line shows the clip's list price before it starts. Failed, refused and cancelled-while-queued requests cost nothing.

Cancelling and closing ComfyUI

Cancel the run in ComfyUI and the node cancels its anex.sh task. A task that is still queued is dropped at no charge. One that has started rendering finishes and is billed, because the render cannot be stopped part way.

If ComfyUI closes mid-run, the clip keeps rendering on anex.sh. Put the task id (shown under the node and in its error message) into an anex.sh Get Task node: it waits for the task if it has not finished and loads its clip, at no charge. Clips are kept 30 days.

Images and videos you supply

Images and videos you connect to a node are uploaded to anex.sh storage, never to a third party, and kept for 24 hours.

  • Images: 256 to 5,760 pixels a side, width / height from 0.4 to 2.5.
  • Reference videos: 2 to 15 seconds each, 15 seconds in total, 50 MB each. A video that is not H.264 MP4 is re-encoded before upload.

Every request is checked against the model licence's use rules before anything is generated. A refused request fails the node with the reason and costs nothing.

EU data residency

Organizations that keep their data in the EEA (European Economic Area) set region to eu on each node: the clip is then made and stored in the EU. See data residency.