Skip to content

dunkeroni/Invoke_AIHordeNodes

Repository files navigation

Invoke_AIHordeNodes

Nodes to interface Invoke workflows with the AI Horde
image

NOTE: This repository has been updated to work with the latest version of Invoke (4.0.0rc5). It is not backwards compatible with 3.7 or earlier versions.

Usage:

git clone this repository into your invokeAI/nodes/ folder.
Create a copy of the userconfig.TEMPLATE.cfg file and name it userconfig.cfg and provide your API Key in it. If you do not do this step, then it will be done for you when you launch Invoke and the apikey will be set to anonymous.
Changes to the configuration require Invoke to be restarted.

The available models list is loaded when Invoke is launched. Loading past workflows may include an input list that conflicts with this one if the horde adds new models. If that happens, you will get an error during invocation. To fix this, delete the horde request node and add it back into the workflow.
At some point this interaction may be changed with a model option that accepts a collection of strings. There will be a node that can fuzzy search for model names in the active model list in addition to a node that offers a dropdown list that will forever and always have this bug.

Workflows:

The Horde request nodes are designed to allow optional settings extensions. If settings are not provided, then the server will use its own defaults. For that reason, it is best to always include General and Advanced settings, however they can be omitted for simple requests. image

The fastest way to find the settings node is to click and drag one of the inputs to an empty location in the editor. This will bring up a list of all the nodes that can be attached there.
image
If you use General Settings input, remember to attach a random integer node to the seed, otherwise all of your requests will use seed="0"
If you do not use the General Settings input, then a random integer will be chosen.

The Input Image field has multiple options for connected nodes. Image to Image, Inpainting, Outpainting (which uses inpainting for now), and ControlNet.
image

When requesting multiple images, you will need to use the Iterate node to split up and save the results individually.
Currently, this interaction is janky, requires sending the output through an Image Collection Primitive first, and frequently saves multiple duplicated results. I am still working out why that is.
image

About

Nodes to interface Invoke workflows with the AI Horde

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages