/ComfyUI_NAIDGenerator

NovelAI Diffusion generator for ComfyUI

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

ComfyUI_NAIDGenerator

A ComfyUI extension for generating image via NovelAI API.

Installation

  • git clone https://github.com/bedovyy/ComfyUI_NAIDGenerator into the custom_nodes directory.
  • or 'Install via Git URL' from Comfyui Manager

Setting up NAI account

Before using the nodes, you should set NAI_ACCESS_TOKEN on ComfyUI/.env file.

NAI_ACCESS_TOKEN=<ACCESS_TOKEN>

You can get persistent API token by User Settings > Account > Get Persistent API Token on NovelAI webpage.

Otherwise, you can get access token which is valid for 30 days using novelai-api.

Usage

The nodes are located at NovelAI category.

image

Txt2img

Simply connect GenerateNAID node and SaveImage node.

generate

Note that all generated images via GeneratedNAID node are saved as output/NAI_autosave_12345_.png for keeping original metadata.

Img2img

Connect Img2ImgOptionNAID node to GenerateNAID node and put original image.

image

Note that width and height of the source image will be resized to generation size.

Inpainting

Connect InpaintingOptionNAID node to GenerateNAID node and put original image and mask image.

image

Note that both source image and mask will be resized fit to generation size.

(You don't need MaskImageToNAID node to convert mask image to NAID mask image.)

Vibe Transfer

Connect VibeTransferOptionNAID node to GenerateNAID node and put reference image.

Comfy_workflow

You can also relay Img2ImgOption on it.

image

Note that width and height of the source images will be resized to generation size. This will change aspect ratio of source images.

Multiple Vibe Transfer

Just connect multiple VibeTransferOptionNAID nodes to GenerateNAID node.

preview_vibe_2

ModelOption

The default model of GenerateNAID node is nai-diffusion-3(NAI Diffusion Anime V3).

If you want to change model, put ModelOptionNAID node to GenerateNAID node.

ModelOption

NetworkOption

You can set timeout or retry option from NetworkOption node. Moreover, you can ignore error by ignore_errors. In that case, the result will be 1x1 size grayscale image. Without this node, the request never retry and wait response forever, and stop the queue when error occurs

preview_network

Note that if you set timeout too short, you may not get image but spend Anlas.

PromptToNAID

ComfyUI use () or (word:weight) for emphasis, but NovelAI use {} and []. This node convert ComfyUI's prompt to NovelAI's.

Optionally, you can choose weight per brace. If you set weight_per_brace to 0.10, (word:1.1) will convert to {word} instead of {{word}}.

image