| 634 | |
| 635 | @comfy_node(description="LTXV Set Audio Video Mask By Time") |
| 636 | class LTXVSetAudioVideoMaskByTime: |
| 637 | @classmethod |
| 638 | def INPUT_TYPES(cls): |
| 639 | return { |
| 640 | "required": { |
| 641 | "av_latent": ("LATENT",), |
| 642 | "positive": ("CONDITIONING",), |
| 643 | "negative": ("CONDITIONING",), |
| 644 | "model": ("MODEL",), |
| 645 | "vae": ("VAE",), |
| 646 | "audio_vae": ("VAE",), |
| 647 | "start_time": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 2000.0}), |
| 648 | "end_time": ("FLOAT", {"default": 10.0, "min": 0.0, "max": 2000.0}), |
| 649 | "video_fps": ("FLOAT", {"default": 24.0, "min": 0.0, "max": 500.0}), |
| 650 | "mask_video": ("BOOLEAN", {"default": True}), |
| 651 | "mask_audio": ("BOOLEAN", {"default": True}), |
| 652 | "mask_init_value_video": ( |
| 653 | "FLOAT", |
| 654 | {"default": 0.0, "min": 0.0, "max": 1.0}, |
| 655 | ), |
| 656 | "mask_init_value_audio": ( |
| 657 | "FLOAT", |
| 658 | {"default": 0.0, "min": 0.0, "max": 1.0}, |
| 659 | ), |
| 660 | "slope_len": ( |
| 661 | "INT", |
| 662 | {"default": 3, "min": 1, "max": 100, "step": 1}, |
| 663 | ), |
| 664 | }, |
| 665 | "optional": { |
| 666 | "spatial_mask": ( |
| 667 | "MASK", |
| 668 | {"default": None, "tooltip": "Spatial mask."}, |
| 669 | ), |
| 670 | }, |
| 671 | } |
| 672 | |
| 673 | RETURN_TYPES = ("CONDITIONING", "CONDITIONING", "LATENT", "FLOAT", "FLOAT") |
| 674 | RETURN_NAMES = ( |
| 675 | "positive", |
| 676 | "negative", |
| 677 | "av_latent", |
| 678 | "video_latent_blend_coefficients", |
| 679 | "video_pixel_blend_coefficients", |
| 680 | ) |
| 681 | |
| 682 | FUNCTION = "run" |
| 683 | CATEGORY = "utility" |
| 684 | DESCRIPTION = "Sets the audio and video mask by time." |
| 685 | |
| 686 | def run( |
| 687 | self, |
| 688 | av_latent, |
| 689 | positive, |
| 690 | negative, |
| 691 | model, |
| 692 | vae, |
| 693 | audio_vae, |
nothing calls this directly
no outgoing calls
no test coverage detected