Skip to content

Rakile/deforumation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

`Deforumation 0.7.6 No more updates will be done to this repo. Se new repo for DeforumationQT Version 0.1.5 https://github.com/Rakile/DeforumationQT

img

===============================================

Installation instructions for Deforumation 0.7.6 are below, and there's also a 'how-to' file in the zip: loc deforumation\Version_0.7.6\ReadMe_Installation_and_running_Deforumation.txt

Stuck or puzzled? Reach out to us!

New Feature Alert: Voice Commands in Deforumation!

Deforumation now listens to your voice! Here's how you can command it:

Push to record. Then, use these magic words to control Deforumation: : Speaks your sentence into the second prompt window. add + : Adds your spoken words to the current sentence. cancel: Utter this to halt the prompt output entirely. Pan left, pan right, pan up, pan down: Pans around using preset values. Zoom in, zoom out: Zooms in or out. Say, "Zoom in 20" to zoom in by 0.20. Rotate left, rotate right, rotate up, rotate down: Controls rotation with preset values. Tilt left, Tilt right: Adjusts the tilt. Reset panning/zoom/rotation/tilt: Resets the respective values to default. Embrace the power of your voice with Deforumation!" Ralika / LAInol

Here's to making Deforumation even more delightful (and less 'old school')!"

DISCLAIMER!!!

!!!THERE WILL BE NO DEFORUM SUPPORT IF YOU USE THIS EXTENSION!!!


Deforumation: Unofficial Extension for Deforum

IMPORTANT: No official Deforum support will be provided if you use this extension.

Table of Contents

  1. Introduction
  2. Prerequisites
  3. Key Features
  4. Installation Guide
  5. Installation Tutorial
  6. Compatibility
  7. Usage and Tips
  8. Disclaimer
  9. Discord Channel
  10. Ongoing Work
  11. in-depth information
  12. patreon

Support our work via Patreon or buymeacoffee

Deforumation is a free tool for everyone to use. We appreciate all and any donations/support to keep Deforumation up to date and adding new features together with the community.

Latest version / features

Latest version (2023-06-18)

Introduction

Deforumation is an unofficial extension for Deforum that provides a Graphical User Interface (GUI) to remotely control Deforum 3D motions, zoom and angle , strength value (toggle to use deforum strenght schedule), CFG Scale, sampler steps, seed, cadense scale, noise values, parameters for use up to five controlnets, and prompts in real-time. It also offers pausing, rewinding, forwarding, and resuming by setting current image to fix any undesired outcomes during the rendering process.

Recently added features are checkboxes for enable / disable fuctions from Deforumation. Checkboxes are added to Prompt, Strenght value, CFG scale, Cadense scale, Noise values, camera panning and camera rotation. This makes it possible to apply sceduling to any of those values from Deforum or from Parseq. Also added customizable curves for use with armed motions controls. Parameters for up to five controlnets. Cadence Re-Scheduler, this is a module to recalculate the Cadence Schedule due to "tween" pictures not reacting to schedueled values.

Key Features

  • Live View (separate window) of the rendered pictures.
  • Separate prompting input boxes with prioritising possibility
  • Controlling movements while rendering, now with armed movements and presetted curves
  • Live manipulation of key values that effects the animation
  • Live manipulation of controlnets
  • Pause, rewind, and redo functions
  • Ability to import parseq json files to use as guide
  • Two different communication protocols, websockets and named pipes. This is due to problem with freezing renders.

Prerequisites

  1. Local instance of SD (AUTOMATIC1111/stable-diffusion-webui)
  2. Installed Deforum Extension for AUTOMATIC1111 (deforum-art/deforum-for-automatic1111-webui)

Installation Guide

  1. Clone or download the git repository git clone https://github.com/Rakile/deforumation (https://github.com/Rakile/deforumation) and unpack the zip file. Keep deforumation folder outside your "stable-diffusion-webui" path.
  2. Replace files (render.py, animation.py, deforum_mediator.py) in the Automatic1111 path ".\extensions\deforum-for-automatic1111-webui\scripts\deforum_helpers" with the downloaded files from Deforumation. To use the "named pipes" protocol the "mediator".py file must be copied from the "deforum_mediator_named_pipes" folder to your "\\stable-diffusion-webui-02\extensions\deforum-for-automatic1111-webui\scripts\deforum_helpers"
  3. Install dependencies by running python -m pip install -r requirements.txt or using the "run_me_first_install_requirements.bat" file.
  4. !!IMPORTANT!! Check that you have installed websocket version 10.4.(the correct version is included in the reqirements.txt) Do this by running the command: python -m websockets --version in a CMD (command line window) window. People have noticed that python websocket library, with a version higher or equal to 11.0, makes Deforum and Deforumation freeze. See (https://github.com/Rakile/deforumation/blob/main/Dirty_Fix_To_Fix_Freeze_Problem/deforumation_quick_fix.txt) for more information.
  5. To start Deforumation using websocket protocol Run the Mediator (mediator.py) H:\named\deforumation>python mediator.py and the Deforumation GUI (deforumation.py) H:\named\deforumation>python deforumation.py in CMD inside deforumation path. Or use the "Deforumation_start_websockets.bat" file.
  6. To start Deforumation using named pipes protocol Run the Mediator (mediator.py) H:\named\deforumation>python mediator.py pipes and the Deforumation GUI (deforumation.py) H:\named\deforumation>python deforumation.py pipes in CMD inside deforumation path. Or use the "Deforumation_start_named_pipes.bat" file.
  7. To use the "named pipes" protocol the correct "mediator".py file must be copied from the "deforum_mediator_named_pipes" folder to your "\\stable-diffusion-webui-02\extensions\deforum-for-automatic1111-webui\scripts\deforum_helpers"
  8. Set to 3D in keyframes TAB In the Deforum extention in the Keyframes TAB, you have to choose "3D", else it will not work.

Installation Tutorial

Installation Tutorial (Tutorial is for websocket protocol, follow the above installation guide to use named pipes protocol)

Compatibility

Deforumation may not be compatible with all versions of Deforum. For now Deforum does not have the communication module in there core files. For now we try to update Deforumation as Deforum is updated.

Usage and Tips

Deforumation is a valuable tool for understanding how different parameters affect the image generation process. However, it is essential to remember that using Deforumation may result in some issues, as it is not an officially supported extension.

  • In the Deforum extention in the Keyframes TAB, you have to choose "3D", else it will not work. Before pushing "Generate" in the deforum extention, prime the communication by inserting a Positive and a Negative prompt in the Deforumation GUI.
  • Be sure that your Deforum extension does work berfore installing Deforumation.
  • Make sure the Mediator is running to ensure proper communication between Deforum and Deforumation.
  • Experiment with different settings to find the most effective values for your specific project.
  • Change "live preview" settings in automatic1111 to draft for faster rendering.
  • Check the "LIVE RENDER" box in deforumation to se generated frames.

Disclaimer

By using Deforumation, you understand and acknowledge that it is an unofficial, third-party extension for Deforum. There will be no official support provided for Deforum when using this extension. Use it at your own risk.

Discord Channel

[Welcome To Deforumation] (https://discord.gg/rbKFVh9v87)

Latest version

Latest Version Info

2023-05-15 Lots of added stuff

  • Gentle Zero can now go from any motion to any other motion in panning and rotation values
  • ControlNet in Deforum, can now be controlled by Deforumation
  • Live Render can now replay a range of images (no stitching), to get a fast view of how the animation is going to look
Latest Version Info

2023-05-03 (later in the evening)

  • Introducing another "Gentle Zero" for rotation. It works separate from "Gentle Zero" for panning.

img

Latest Version Info

2023-05-03

  • Separate prompting input boxes with prioritising possibility

  • All prompts can now be minimized, making the window smaller, and maybe some people will find this easier to work with.

img

In-depth information

How it works ## How it works Watch this video to get a feeling of how to use Deforumation... or read on below. [![Watch the video](github_images/Deforumation_Tutorial.png)](https://www.youtube.com/watch?v=v1h2jo3f5U4)

Recommended setting

In settings, Live previews recommends this setting. This gives you better visual feedback.

img

In the Deforum extention in the Keyframes TAB, you have to choose "3D", else it will not work. Before pushing "Generate" in the deforum extention, prime the communication by inserting a Positive and a Negative prompt in the Deforumation GUI.

To apply any text changes, you then have to push the "SAVE PROMPTS" button. You may also set any strength value or other values in beforehand. Also, moving any sliders or pushing any buttons will automatically save all other values (prompts included). The file that is being saved is located inside the deforumation folder (deforumation_settings.txt), and will keep you settings during a restarts.

Now that this is done, push the "Generate" button in the Deforum extention. You may now play around with all the values (Panning, Rotating, Tilting, Zoom, Strength Value, CFG value, Sample steps, and of course Prompts, positive and negative) as deforum keeps generating images and applying the new values.

!!!BE AWARE!!! Deforumation now adds the values to any scheduled motion. That means that if you have scheduled ANY motions inside of Deforum, like "Translation X" or "Rotation 3D Y", or whatever, they will be added to your manual values done through Deforumation. Be aware that "Translation Z" is by default set to "0:(1.75)"... If you don't want this influence, and only want Deforumation to controll all values, you need to set this to 0:(0). We added this feature, because we think you still want to add a musical flow through the Deforum scheduling.

img

Interface

Interface

img

As we talked about before, all motion scheduled values in Deforum are added to the manual motions done through Deforumation... with one exception, and that is the "Strength Value". This value has a specific check box ("USE DEFORUMATION"), which can be turned on and off during rendering to switch between full Deforum controll or Deforumation strength controll. This means, that if you are using Deforum to schedule a beat/pulse throughout your video, you can choose to go manual (overriding the the Deforum strength schedule, and vice versa).

There are alot of controls, but here comes the basics:

Panning

img

The buttons will move the camera. So if you push the left arrow, the camera will go left, and the "object" will pan right... etc

Think of yourself being the eyes (the camera view) and the image that you see... so if you push the left button, then it's like YOU are sidestepping left... etc

The "0.2" box decides how much of the value will be applied when you push a button.

Rotation

img

Think of yourself being the eyes (the camera view) and the image that you see... so if you push the left button, then you'r head will turn left... etc

Arming On and Off

The panning buttons have 2 modes, "ARMED" or "NOT ARMED", which can be switched between by pushing the small button above the "0.2 box":

ARMED: img

NOT ARMED: img

In ARMED mode, the values that you choose through the pann buttons, will be a guide for the "NOT ARMED" values. So the ARMED and the NOT ARMED mode can have totally separate values. When you then push the big ZERO-icon in the middle:

img

Your current NOT ARMED values will go towards your ARMED values. And they will do it in the number of frames that you have specified in the "0-Steps" input box.

Tilt

The "0.2" box decides how much of the value will be applied when you push a button.

img

Tilt is tilt... It will rotate the image clock or counter clock-wise.

The "1.0" box decides how much of the value will be applied when you push a button.

Pause and Rewind

img

Deforumation allows you to rewind to a given frame, and gives you the ability to start generating from that given frame. This is good for when something in your creativity "goes bananas". Maybe that clown shouldn't have appeard all of a sudden ;P

This part is useful to rewind and forward througout a rendering. When you have started a rendering, you can look at the current image by pressing the "Show current image" or you can also click anywhere else that is bnot a button on the GUI, to update the image.

A suggestion before using any of these option is to push the "PUSH TO PAUSE RENDERING BUTTON". The rendering will pause and you can more easily explore the functionalities.

The "left-arrow"-button shows you the image previous to the current, and the "right-arrow"-button" shows you the next image to the current.

Typing a frame number in the input box and pushing RETURN will directly transport you to that fram (if it exists).

The "double-left-arrow" will jump to your closest saved prompt towards the beginning relative to your current frame, and the "double-right-arrow" will jump to your closest saved prompt towards the end relative to your current frame.

img

When you know you did a misstake, start by pressing the "PUSH TO PAUS RENDERING"-button. Then click "Show current image"-button. This will give you the current image, and the current actual frame number. Use the arrows to rewind or forward... or you could just type in a frame number and press enter to jump to that frame... When you found the frame where you want to resume rendering from, press the "Set current image"-button, and then, to resume rendering, push the "PUSH TO RESUME RENDERING"-button. EASY!!!

Prompts

Pushing the "SAVE PROMPTS" button will save your current prompts (positives and negative), as files inside the "prompts" folde in your deforumation folder. Depending on your current generation (timestring), seperate files will be saved for that particular "project". That means that your prompts can be recalled during a generation of a specific project. E.g. Push "SAVE PROMPT" on fram 0, then on fram 50 change your prompts, and push again "SAVE PROMPTS", and they will update as you rewind/forward throughout you generated frames... You'll get a hang of it ;) (Else ask in the discord).

Replay

img

During a generation session, you can directly watched any range of images, by inserting the range you want to play, and then pressing the Play button.

img

To change the seed, just type a new seed in the seed-input box, and push return. It will then be loyal to whatever you have choosen in the Deforum GUI, iterative, etc.

ControlNet

img

Deforumation can control Deforum's 1:st ControlNet (CN Model1) values. They are only active if the ControlNet in Deforum is Enabled.

Example

Example

Here is an example of LIVE prompt changing for facial expression during rendering.

Positive Prompt: Beatifull (smiling:0.1), bear girl, focus on face

Here we just increase the "(smiling:0.1)" value upwards.

A tool for learning

A tool for learning

Deforumation is a perfect tool to learn how different parameters, like Steps, Strength Value and CFG scale, because, in a combination they affect the image generation over time. The best way (I have found, to get as a stable outcome as possible with all other settings you have in Deforum), is to know your values.

One way to achieve this is to have No motion at all, and make every render not go into "Bananas"... Because the most effective values differ alot between samplers, checkpoints, SD VAE's and all other specific settings that you are currently having. Get a feel of what values, keep a balance with your current choices. Note them down, and play around ;P

Tips and tricks

Tips and tricks

  • Make good use of the PAUS and REWIND functionality. If something is not being generated correctly, you can always redo.

  • Experiment with all the values, in order to understand what happens... That is the best way of learning.

Examples of using Deforumation

Examples of using Deforumation (Give a shout if you want to be here)

By Lainol, Live prompting, facial expression:

Watch the video

Example 2

By Lainol, Live prompting.

Ai-xite.

Watch the video

Thoughts

Last thoughts

There might be an ongoing discussions on how to implement this into Deforum, so that updates will be more smoth and accordance with Deforum... As of now it remains a Hack... Never the less, we encourage users to test Deforumation, and understand how vital this concept is for creating anything with precision (not looking like an LSD trip). Please post videos, tutorials or, whatever, whith how you use Deforum, through Deforumation to your advantage. Join the r/deforumation channel (https://www.reddit.com/r/deforumation/).

About

A GUI to remotely steer the Deforum motions in real time

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages