From 8e1ccb21f65ba52025bbc2c7c5d3bb1782348762 Mon Sep 17 00:00:00 2001 From: snomiao Date: Mon, 20 Jan 2025 21:24:22 +0000 Subject: [PATCH 1/2] chore(publish): update GitHub Actions workflow for node publishing - Add permissions for issue writing - Update action version to v1 for publish-node-action - Add condition to run job only for 'Kosinkadink' repository owner --- .github/workflows/publish.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 122a1ae..27bcdb1 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -7,14 +7,18 @@ on: paths: - "pyproject.toml" +permissions: + issues: write + jobs: publish-node: name: Publish Custom Node to registry runs-on: ubuntu-latest + if: ${{ github.repository_owner == 'Kosinkadink' }} steps: - name: Check out code uses: actions/checkout@v4 - name: Publish Custom Node - uses: Comfy-Org/publish-node-action@main + uses: Comfy-Org/publish-node-action@v1 with: - personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }} ## Add your own personal access token to your Github Repository secrets and reference it here. \ No newline at end of file + personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }} ## Add your own personal access token to your Github Repository secrets and reference it here. From f24f4e10f448913eb8c0d8ce5ff6190a8be84454 Mon Sep 17 00:00:00 2001 From: Austin Mroz Date: Mon, 20 Jan 2025 18:38:10 -0600 Subject: [PATCH 2/2] Fix latent preview downscaling. By setting the downscale cutoff for latent previews to 512, it wound up never getting tested. Animate diff has a target resolution of 512 and newer video models only have conversion with latent2rgb, The code for downscaling preview frames that are greater than 512 has now been fixed and tested. Resolves #361 --- pyproject.toml | 2 +- videohelpersuite/latent_preview.py | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f8dd234..6d313e6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "comfyui-videohelpersuite" description = "Nodes related to video workflows" -version = "1.4.5" +version = "1.4.6" license = { file = "LICENSE" } dependencies = ["opencv-python", "imageio-ffmpeg"] diff --git a/videohelpersuite/latent_preview.py b/videohelpersuite/latent_preview.py index 95ce9b6..1966d7a 100644 --- a/videohelpersuite/latent_preview.py +++ b/videohelpersuite/latent_preview.py @@ -39,6 +39,8 @@ class WrappedPreviewer(latent_preview.LatentPreviewer): self.last_time = self.last_time + num_previews/self.rate if num_previews > num_images: num_previews = num_images + elif num_previews <= 0: + return None if self.first_preview: self.first_preview = False serv.send_sync('VHS_latentpreview', {'length':num_images, 'rate': self.rate}) @@ -54,13 +56,14 @@ class WrappedPreviewer(latent_preview.LatentPreviewer): def process_previews(self, image_tensor, ind, leng): image_tensor = self.decode_latent_to_preview(image_tensor) if image_tensor.size(1) > 512 or image_tensor.size(2) > 512: - n = image.size(0) - if image_tensor.size(1) > image_tensor.size(2): - height = (512 * image_tensor.size(2)) // image_tensor.size(1) - image_tensor = F.interpolate(image_tensor, (512,height,3), mode='bilinear') + image_tensor = image_tensor.movedim(-1,0) + if image_tensor.size(2) < image_tensor.size(3): + height = (512 * image_tensor.size(2)) // image_tensor.size(3) + image_tensor = F.interpolate(image_tensor, (height,512), mode='bilinear') else: - width = (512 * image_tensor.size(1)) // image_tensor.size(2) - image_tensor = F.interpolate(image_tensor, (width, 512,3), mode='bilinear') + width = (512 * image_tensor.size(3)) // image_tensor.size(2) + image_tensor = F.interpolate(image_tensor, (512, width), mode='bilinear') + image_tensor = image_tensor.movedim(0,-1) previews_ubyte = (((image_tensor + 1.0) / 2.0).clamp(0, 1) # change scale from -1..1 to 0..1 .mul(0xFF) # to 0..255 ).to(device="cpu", dtype=torch.uint8)