Skip to content

Conversation

chaojie
Copy link

@chaojie chaojie commented Apr 21, 2025

python3 generate_video_df.py --model_id ${model_id} --resolution 540P --ar_step 0 --base_num_frames 97 --num_frames 177 --overlap_history 17 --addnoise_condition 20 --offload --prompt 'A woman in a leather jacket and sunglasses riding a vintage motorcycle through a desert highway at sunset, her hair blowing wildly in the wind as the motorcycle kicks up dust, with the golden sun casting long shadows across the barren landscape.' 'A woman flies into space'

A.woman.in.a.leather.jacket.and.sunglasses.riding.a.vintage.motorcycle.through.a.desert.highway.at.s_4144992679_2025-04-21_19-40-22.mp4

python3 generate_video_df.py   --model_id ${model_id}   --resolution 540P   --ar_step 0   --base_num_frames 97   --num_frames 177   --overlap_history 17    --addnoise_condition 20   --offload --prompt 'A woman in a leather jacket and sunglasses riding a vintage motorcycle through a desert highway at sunset, her hair blowing wildly in the wind as the motorcycle kicks up dust, with the golden sun casting long shadows across the barren landscape.' 'A woman flies into space'
@chaojie
Copy link
Author

chaojie commented Apr 21, 2025

--prompt p1 p2 p2 p3 can double the generation length of p2

@chaojie
Copy link
Author

chaojie commented Apr 22, 2025

@yjp999 Added the --video parameter, which can be used to extend existing videos

@chaojie
Copy link
Author

chaojie commented Apr 22, 2025

fix image size compatibility when Diffusion Forcing

chaojie

This comment was marked as duplicate.

@chaojie chaojie closed this Apr 22, 2025
@chaojie chaojie reopened this Apr 22, 2025
@pftq
Copy link

pftq commented Apr 23, 2025

This is very interesting. I hope they accept your PR.

@pftq
Copy link

pftq commented Apr 23, 2025

What would make this especially complete is if the generations output the "video so far" in between chunks. Then if something crashes or we don't like a direction it took, we can abort the generation and use the --video parameter to continue from where we liked it. Right now, aborting means you don't get to see what the video in progress was.

@chaojie
Copy link
Author

chaojie commented Apr 23, 2025

@pftq Thank you, the output video for each iteration has been added.
image

@pftq
Copy link

pftq commented Apr 23, 2025

Awesome work - that was quick and will be useful for sure.

Have you checked this on a multi-gpu setup? I was testing this a bit today and had trouble there but not sure yet if it's from this or some other changes I'm also working on.

Also I noticed you accidentally hardcoded the -17, so that I'm guessing should be args.overlap_history. Lastly, I think it works to use the source video dimension instead of cropping - so far I haven't seen any quality issues with using other aspect ratios like 1:1 or 4:3, so I feel if the user wanted to the default 540p dimensions, they could just apply that crop themselves before inputting the video.

@chaojie
Copy link
Author

chaojie commented Apr 23, 2025

@pftq no, No multiple GPUs. btw, fixed a bug prev commit

@pftq
Copy link

pftq commented Apr 23, 2025

Alright. I'm using a multi-gpu setup so I'll try to debug a bit further and let you know. Noted on the bug fix. This line is still hardcoded -17 btw, should be -1*args.overlap_history:

video = video[-17:]

@pftq
Copy link

pftq commented Apr 24, 2025

I tested on multi-gpu and it is working great. How does it handle the case when the number of prompts is not the same as the number of extensions? Does it default to the last prompt?

@pftq
Copy link

pftq commented Apr 28, 2025

Do you mind if I merge these changes into my own fork too? These changes are extremely useful and I have a version I currently use that cleanly integrates these changes with my own (faster multi-gpu loading, batch mode etc).
https://drive.google.com/drive/folders/1koL40EAg8J9hsdEMKEMuKRY1mOyVNyg4?usp=sharing
(if you wish to review)

I can do a PR so you're credited for the work and so there's no conflict later if it your code is merged into the main repo. I do hope they merge your changes eventually - it basically puts SkyReels V2 on same level as Wan VACE and MAGI-1 feature-wise.

@chaojie
Copy link
Author

chaojie commented Apr 28, 2025

@pftq it's okay. I don't mind.

@pftq
Copy link

pftq commented Apr 28, 2025

Thank you very much, it is done. Feel free to check out the combined fork some time. I think the combination makes for a greatly improved user experience: https://github.com/pftq/SkyReels-V2_Improvements/

@justincui03
Copy link

justincui03 commented May 3, 2025

really interesting, I strongly recommend this PR to be integrated into the official repo

@innokria
Copy link

innokria commented May 6, 2025

m_frames 177 --overlap_history 17 --addnoise_condition 20 --offload --prompt 'A woman in a leather jacket and sunglasses riding a

skip_weights=False whats the use case of this ?

@pftq
Copy link

pftq commented May 6, 2025

In what context? There is no skip_weights here

@innokria
Copy link

innokria commented May 6, 2025

In what context? There is no skip_weights here

https://github.com/pftq/SkyReels-V2_Improvements/blob/main/skyreels_v2_infer/pipelines/diffusion_forcing_pipeline.py#L77

I am trying to run your sample but got this error

@pftq
Copy link

pftq commented May 6, 2025

Different PR (maybe move the conversation here #31)
Would need to know what error you're getting. The skip_weights is for solving the contention issue that causes all the GPUs to read disk at the same time (turns 10 min load time into 25 minutes).

@innokria
Copy link

innokria commented May 6, 2025

Different PR (maybe move the conversation here #31) Would need to know what error you're getting. The skip_weights is for solving the contention issue that causes all the GPUs to read disk at the same time (turns 10 min load time into 25 minutes).

Just checking will this extended prompt work on Skywork/SkyReels-V2-DF-1.3B-540P ? this is my hardware
8 vCPU , 62 GB RAM. 48 GB VRAM

@pftq
Copy link

pftq commented May 7, 2025

Yes, the model size doesn't affect the functionality.

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.

4 participants