Skip to content

Conversation

@RUFFY-369
Copy link
Collaborator

@RUFFY-369 RUFFY-369 commented Jan 8, 2025

What does this PR do?

This PR adds support for the LTX-Video model in the ImageToVideoPipeline. It introduces a mechanism to dynamically load either the LTXImageToVideoPipeline or StableVideoDiffusionPipeline, based on the provided modelID. This change enhances the flexibility of the ImageToVideoPipeline, allowing it to handle both LTX-Video and StableVideoDiffusion models and with addition of LTXImageToVideoPipeline, the video generation can now be prompt text guided.

After building the Docker image, the setup has been tested by running it locally on a Uvicorn server.

cc @rickstaa

@RUFFY-369 RUFFY-369 requested a review from rickstaa January 8, 2025 11:26
@RUFFY-369 RUFFY-369 marked this pull request as draft January 8, 2025 11:26
@RUFFY-369 RUFFY-369 marked this pull request as ready for review January 8, 2025 13:03
seed = kwargs.pop("seed", None)
safety_check = kwargs.pop("safety_check", True)

if self.pipeline_name == "LTXImageToVideoPipeline":
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we do something more generic that looks at the pipeline class args and del the kwargs keys if not present in the pipeline? If a heavy lift we can do in separate PR.

Copy link
Member

@rickstaa rickstaa Jan 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point would love to make all pipelines more generic. We can do this in seperate PR if to heavy.

Copy link
Collaborator Author

@RUFFY-369 RUFFY-369 Jan 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ad-astra-video That's a nice mention. Lets remove this stone age hard coded block and get something more generic.
Pushed the changes in the latest commit in this PR itself. 👍 Now it can work even when we make the whole pipeline generic based on task like i2i generic pipeline.

Copy link
Collaborator

@ad-astra-video ad-astra-video left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR looks good, have couple comments below and left suggestions/questions in the files:

  • LTXVideo requires diffusers 0.32.0 right? Suggest we update to diffusers 0.32.1 with this PR.
  • If fix the multipart.go suggested change I can build and test tomorrow

@RUFFY-369
Copy link
Collaborator Author

RUFFY-369 commented Jan 10, 2025

PR looks good, have couple comments below and left suggestions/questions in the files:

  • LTXVideo requires diffusers 0.32.0 right? Suggest we update to diffusers 0.32.1 with this PR.
  • If fix the multipart.go suggested change I can build and test tomorrow
  • Yeah LTX-Video is released in 0.32.0 version. I updated the diffusers version in the latest commits as in the end we need to upgrade diffusers.
  • I commited your suggestion already. 👍

Update: addressed all the suggested changes in the recent commits

@ad-astra-video
Copy link
Collaborator

@RUFFY-369 I rebased this and removed the parts moved to livepeer/go-livepeer

#481

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants