Giter VIP home page Giter VIP logo

steerable-motion's Introduction

Steerable Motion, a ComfyUI custom node for steering videos with batches of images

Steerable Motion is a ComfyUI node for batch creative interpolation. Our goal is to feature the best methods for steering motion with images as video models evolve.

Main example

Installation

  1. If you haven't already, install ComfyUI and Comfy Manager - you can find instructions on their pages.
  2. Search "Steerable Motion" in Comfy Manager and download the node.
  3. Download this workflow and drop it into ComfyUI.
  4. When the workflow opens, download the dependent nodes by pressing "Install Missing Custom Nodes" in Comfy Manager. Search and download the required models from Comfy Manager also - make sure that the models you download have the same name as the ones in the workflow - or you're confident that they're the same.

Usage

The main settings are:

  • Key frame position: how many frames to generate between each main key frame you provide.
  • Length of influence: what range of frames to apply ControlNet (CN) and IP-Adapter (IPA) to.
  • Strength of influence: how strong the control of IPA and CN should be.
  • Relative IPA strength & influence: whether to make IPA's influence stronger or weaker than CN's.

These are set linearly - the same for each frame - or dynamically - varying them for each frame - you can find detailed instructions on how to tweak these settings inside the workflow above.

Tweaking the settings can greatly influence the motion - you can see two examples of the same images with slightly different settings below to get an idea of this - the settings are visualised in the graph:

Tweaking settings example

This also works well for moving between dramatically different images - like in the example below:

Different images example

Philosophy for getting the most from this

This isn’t a tool like text to video that will perform well out of the box - it’s more like a paint brush, an artistic tool that you need to figure out how to get the best from.

Through trial and error, you'll need to build an understanding of how the motion and settings work, what its limitations are, which inputs images work best with it, etc.

If you can figure out how to wield it, this approach can provide enough control for you to make beautiful things that match your imagination precisely.

Coming Soon

  • Implement more powerful video models and approaches to increase lengh, coherence, etc.
  • Implement video ControlNets (upcoming from both Stability and Animatediff authors) for greater adherence to input images and better motion.
  • Increase frame count to unlimited - currently limited to 12 due to RAM constraints with current approach.
  • Fix issues with colour drain, etc.
  • Implement LCM, Turbo, etc. to increase speed.

Want to give feedback, or join a community who are pushing open source models to their artistic and technical limits?

You're very welcome to drop into our Discord here.

Credits

This code draws heavily from Kosinkadink's ComfyUI-Advanced-ControlNet and Cubiq's IPAdapter_plus, while the workflows uses Kosinkadink's Animatediff Evolved, Fizzledorf's Fizznodes, Fannovel16's Frame Interpolation and more. Thanks to all and of course the Animatediff team, Controlnet, others, and of course our supportive community!

steerable-motion's People

Contributors

peteromallet avatar kosinkadink avatar tungnguyensipher avatar dorotaluna avatar alexbofa avatar kijai avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.