You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* add animatediff + vid2vide + controlnet
* post tests fixes
* PR discussion fixes
* update docs
* change input video to links on HF + update an example
* make quality fix
* fix ip adapter test
* fix ip adapter test input
* update ip adapter test
Copy file name to clipboardExpand all lines: docs/source/en/api/pipelines/animatediff.md
+98Lines changed: 98 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,7 @@ The abstract of the paper is the following:
29
29
|[AnimateDiffSparseControlNetPipeline](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/animatediff/pipeline_animatediff_sparsectrl.py)|*Controlled Video-to-Video Generation with AnimateDiff using SparseCtrl*|
30
30
|[AnimateDiffSDXLPipeline](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/animatediff/pipeline_animatediff_sdxl.py)|*Video-to-Video Generation with AnimateDiff*|
31
31
|[AnimateDiffVideoToVideoPipeline](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/animatediff/pipeline_animatediff_video2video.py)|*Video-to-Video Generation with AnimateDiff*|
32
+
|[AnimateDiffVideoToVideoControlNetPipeline](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/animatediff/pipeline_animatediff_video2video_controlnet.py)|*Video-to-Video Generation with AnimateDiff using ControlNet*|
32
33
33
34
## Available checkpoints
34
35
@@ -518,6 +519,97 @@ Here are some sample outputs:
518
519
</tr>
519
520
</table>
520
521
522
+
523
+
524
+
### AnimateDiffVideoToVideoControlNetPipeline
525
+
526
+
AnimateDiff can be used together with ControlNets to enhance video-to-video generation by allowing for precise control over the output. ControlNet was introduced in [Adding Conditional Control to Text-to-Image Diffusion Models](https://huggingface.co/papers/2302.05543) by Lvmin Zhang, Anyi Rao, and Maneesh Agrawala, and allows you to condition Stable Diffusion with an additional control image to ensure that the spatial information is preserved throughout the video.
527
+
528
+
This pipeline allows you to condition your generation both on the original video and on a sequence of control images.
529
+
530
+
```python
531
+
import torch
532
+
fromPILimport Image
533
+
from tqdm.auto import tqdm
534
+
535
+
from controlnet_aux.processor import OpenposeDetector
536
+
from diffusers import AnimateDiffVideoToVideoControlNetPipeline
537
+
from diffusers.utils import export_to_gif, load_video
538
+
from diffusers import AutoencoderKL, ControlNetModel, MotionAdapter, LCMScheduler
<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/animatediff_vid2vid_controlnet.gif" alt="astronaut in space, dancing" />
607
+
</td>
608
+
</tr>
609
+
</table>
610
+
611
+
**The lights and composition were transferred from the Source Video.**
612
+
521
613
## Using Motion LoRAs
522
614
523
615
Motion LoRAs are a collection of LoRAs that work with the `guoyww/animatediff-motion-adapter-v1-5-2` checkpoint. These LoRAs are responsible for adding specific types of motion to the animations.
0 commit comments