Skip to content

New User Quick‐Start Guide

Benjamin Paine edited this page Dec 31, 2023 · 7 revisions

Introduction

Thank you for your interest in ENFUGUE!

What is ENFUGUE?

ENFUGUE is a web application for creating and refining AI-generated images and videos using a wide variety of open-source models, libraries, and tools. It provides a simple goal-oriented interface, where advanced, multi-step image generation processes are all planned out for you when you simply select what features you wish to include.

ENFUGUE brings you all the best techniques from the open-source community for unprecedented control over your generations. With ENFUGUE, you don't need to settle for "okay" with your generations - there are hundreds of ways to make your image perfect, without needing to be an expert at some other program to do so.

About this Guide

This guide will teach you to use the ENFUGUE web interface to generate images and video, with the intended audience being both self-hosted and cloud-hosted users. As such, it will not cover installation or configuration. This guide also assumes a general familiarity with the world of text-to-image or image-to-image generative AI. See the links below for guides that cover these topics.

The ENFUGUE Web Interface

The ENFUGUE web interface as of v0.3.2, in "Dynamic" mode (default.)

  1. Status Bar: This shows the status of the ENFUGUE backend and the GPU it is running on.
  2. Menu Bar: This is your main menu for accessing anything that isn't directly input into image generation, like your style presets, previous results, interface options, etc.
  3. Stop Button: Whenever the ENFUGUE engine is active, this stop button will appear in the UI which will allow you to interrupt any active invocation.
  4. Model Picker: This field allows you to select from installed models (checkpoints) and configured styles.
  5. Viewport: This section displays the input canvas and output samples. You can use the default dynamic mode which lets you select which you're viewing with a toggle, or you can use a layout that splits the viewport vertically or horizontally into input and output.
  6. Global Options: These options are all of the toggles, dials, and inputs for generating images and video from text. The only options not in this section are the model, including checkpoint and adaptations (section 4) and any options about using images as input (section 7.)
  7. Layer Options: When using images and/or video as input, this section will contain options for the active layer, allowing you to assign roles and fit the image in time and space.
  8. Logs: AI image generation can occasionally be finicky, and it can be useful to read through what was happening to figure out when things go wrong. This glance view shows the most recent logs, click the button in the corner to view more.
  9. Layers: This interface allows you to select from the active layers on the canvas to change their options (in section 7,) lock them or hide them. Drag and drop to re-order.
  10. Generate: Click this button to send your current inputs to the back-end and generate your image or video. Click the repeating icon to re-generate every time you change an input (recommended to be used with fast computers and accelerated models.)
  11. Result Chooser/Timeline: When generating images, this section will allow you to choose from samples when you want to generate multiple at once. When you're working with animation, this shifts to a timeline showing each frame of the animation, allowing you to scrub through them.

Your First Image: Text-to-Image (T2I)

Generating your first image is simple! On the left-hand side in the global options menu, locate the prompt input (the second-last field in the sidebar.) Enter the prompt digital vector art, a cat wearing a hat, solid colors and then click the ENFUGUE button in the bottom left-hand corner.


The interface after generating your first image. Your image will look different!

You've now generated your first image! That may have taken a short time or a long time, depending on whether or not you have the default model downloaded and in an easily loadable format. Now, click ENFUGUE again to generate another image, and observe it takes significantly less time. ENFUGUE will load and keep resources in GPU memory as long as you're using them, allowing you to iterate on ideas quickly. When you are no longer using ENFUGUE - i.e. you exit the UI or the tab loses focus for a period - the resources will be freed, allowing your computer to do other things.

Don't worry if you don't like the image, we're going to be working on that later. For now, let's get the hang of the controls.

  1. Put your mouse over the image and press the middle mouse button, control/command, and the left mouse button, or the spacebar on your keyboard to move the image around the viewport (pan.)
  2. Scroll up using touch gestures or the scroll wheel to zoom in and out.
  3. At any time, click RESET in the bottom left to reset your position, or RESET in the bottom right to reset your zoom and position.

While you had your mouse over the image, you may have noticed the Result Menu. This menu is available in the upper-right-hand corner of any result image or video, as well as a duplicate version of this in the menu bar.


The result menus on the image and in the menu bar.

For now, we'll demonstrate how to work with images as input using the image you just generated. Click Edit Image in either menu to send the image back to the (input) canvas.

Working with Media as Input: Image-to-Image (I2I)

You now have a view that includes one image input layer. There are a few other things to take note of:

  1. The image is in a container. In this case, the image, the container, and the canvas are all the same size, but that can change! Adjust the container like other windows-like interfaces, grabbing the edges or corners to resize the container, and the top bar to move it.
  2. There are buttons in the upper-right-hand corner of the image for adjustments to the element on the canvas. There is a duplicate of this menu in the menu bar.
  3. The Layer Options menu now contains options for this image layer, including how it fits within its container, and what roles to assign to the image for input.

A view of the new inputs made available when an image is added.

This image was added to the canvas automatically when we pressed the Edit Image button, but there are many other ways to add images to the canvas. You can simply paste an image or video from your clipboard anywhere onto the application, drag-and-drop them from another browser window or your desktop, or click the Image/Video button from the top of the Layers menu.

One important thing to pay attention to when working with images is their Role. In traditional image editing software, there are not many different modes of input an image can be assigned to - it has channels for red, green, blue, and sometimes an alpha - and while you can assign blending modes, an image is always visible. In AI image generation, that is not always the case. You may wish to extract the positions, depth, or edges of an image and use that to imagine something else (ControlNet,) or you may wish the image to have its descriptors extracted and used as text input instead (IP adapter,) or you may wish some or all of the image to visible and changed or unchanged.

For now, the easiest role to understand is as a base image to "show" the AI and ask it to imagine another image similar to it. This is commonly referred to as Image-to-Image. Let's take the image we just made and use it to make a new one. In the Layer Options menu, set Visibility Mode to Denoised (Image to Image). In the Global Options menu, the Denoising Strength option appears - set this value to 0.8 to represent an approximate 80% change of the image (this is a useful simplification of the actual process.)


Options to select for a balanced image-to-image.

The original image.

The re-imagined image.

This is just one of the many ways to use an image as input, read on to intermediate and advanced guides for more information. For now, there is one more major feature to cover - what if we like most of an image, but only want to change part of it or add to it? That's where the next section comes in.

Editing and Extending: Inpainting and Outpainting

To start inpainting, get your canvas back to where it was when we were doing image-to-image - you can edit your newly generated image, or go back to the image you had before, or use any other image you want. Change the visibility mode on the Layer Options menu to Visible, then enable Inpainting on the Global Options menu. A dark layer is now laid over the input canvas, use your mouse to paint lighter areas that you want to change.


The same Denoising Strength input we showed earlier applies here and controls how much the painted area will change. Let's change it to 1.0 to tell ENFUGUE to completely change the selection, and change the prompt to say a cat wearing a (blue hat)+. Parenthesizing words or phrases with a + or - symbol like (word)+ adjusts their strength in the final image. Go ahead and click ENFUGUE again.


ENFUGUE may have taken some time to download resources if they weren't already downloaded.

To extend the idea of inpainting, we can add on to images in a process called outpainting. Outpainting in ENFUGUE is as simple as having an image that is visible and leaving empty space on the canvas. For example, let's take a cat generated from the above that could be extended and change our canvas size to have some empty space below it.


A basic outpainting setup in ENFUGUE.

Without needing to change any other settings, we can go ahead and click ENFUGUE.



Animation

Following along so far? If so, you're already able to make animations! ENFUGUE strives to make transitioning between image and video generation completely seamless. All of the tools you've used so far will work exactly as they did for images when applied to animation.

Expand the Animation menu in the sidebar, then check Enable Animation. Scroll to the prompt section and enter waves crashing against a rocky sea line and then hit go!


Again, ENFUGUE may take some time to download resources. Click Get as GIF in the result menu (top right-hand corner of the image or menu bar) to get the animation in an easily shareable format.


Retrieving Results, Restoring Sessions

Now that you've made a few images, you'll have some results and history you can look through. Under the File category in the menu bar, find the History and Results tabs.

  • Results keeps a history of all generations, and will allow you to retrieve them for viewing or editing. This is stored on the server.
  • History keeps a record of your sessions, including all options you've selected in the user interface, input media, etc. This is stored in your browser.

More Information

Further guides are being written! For now, check out these YouTube videos to learn more.