/infinite-zoom-automatic1111-webui

infinite zoom effect extension for AUTOMATIC1111's webui - stable diffusion

Primary LanguagePythonMIT LicenseMIT

Infinite Zoom extension for Stable Diffusion WebUI.

build status

This is an extension for the AUTOMATIC1111's (and Vladmandic´s) webui that allows users to create infinite zoom effect videos using stable diffusion outpainting method.

How to install?

Click to expand
  1. Open Stable Diffusion WebUI.

  2. Go to the Extensions tab > Install from URL.

  3. Enter https://github.com/v8hid/infinite-zoom-automatic1111-webui.git for the URL and leave the second field empty and wait for it to be installed.

Screenshot
  1. Go to the Installed tab and press Apply, wait for installation, and restart.
Screenshot
  1. Wait for the Stable Diffusion WebUI to restart and now you can try the Infinite Zoom extension.

How to use?

Click to expand
  1. Click on the Infinite Zoom tab Screenshot 2023-04-12 at 10 14 50 PM

  2. Modify the parameters as you wish and click Generate video, the video will appear as soon as it generates

To learn more about the parameters, please refer to our WIKI.

Effective Friendly Tips for Optimal Outcomes

Click to expand
  • You're only as good as your model, so level up with an Inpainting model for killer results.

  • Heads up: Setting Mask Blur parameter above 0 will give you results that look like they've been hit by the ugly stick.

  • Just between us - don't forget to uncheck Apply color correction to img2img results to match original colors in the Stable Diffusion tab of the WebUI settings. You don't want your results looking like a bad Instagram filter.

Examples

Click to expand
infinite_zoom_1681356213.mp4
infinite_zoom_1681313291.mp4
2341234.mp4
infinite_zoom_1681315670.mp4

How it works?

Click to expand

To start, let's break down the workflow of the extension into three main steps:

  • Step 1: Choose an image to start with The program either generates an initial image using the first prompt you provide or you can upload your own image in the custom initial image field. This initial image will be the basis for the outpainting process.

  • Step 2: Generate outpaint steps Once you have your initial image, the program will start generating outpaint steps. The number of outpaint steps is determined by the Total Outpaint Steps input. In each outpaint step, the program makes the initial image smaller in the center of the canvas and generates a new image in the empty space that is created. This process is repeated for each outpaint step until the desired number is reached.

  • Step 3: Create a gradual zoom effect After all outpaint steps have been generated, the program creates an interpolation between each outpaint step to create a gradual zoom effect. The number of frames created between each outpaint step is determined by the Zoom Speed parameter and the Frames per second parameter.

Number of frames for each outpaint step = Zoom Speed $\times$ Frames per second

Length of each outpaint step in second = Number of frames $\div$ Frames per second

Google Colab version

It works on free colab plan

Open In Colab GitHub Repo

Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository.
  2. Make your changes and commit them.
  3. Make sure to submit the pull request to the develop repository.