--- license: apache-2.0 base_model: - ByteDance/Bernini-R tags: - text-to-video - image-to-video - video-to-video - image-to-image - audio-to-video - wan-s2v - bernini-r-s2v --- # Bernini-R-S2V *Speech-driven video on Bernini-R , T2V, I2V, and V2V with lip-sync.* This model adds single-speaker audio support to Bernini-R, so you can drive video with speech in text-to-video, image-to-video, and video-to-video setups. It is not state-of-the-art audio-to-video, but it removes the need for post-processing or extra models just to add speech to Wan videos. For basic talking-head work, or longer videos built from short sequences, it is a handy all-in-one option on top of Bernini's motion and editing strengths. | File | Role | |---|---| | '[wan2.2_bernini_r_high_noise_fp16_s2v.safetensors](https://huggingface.co/rzgar/Bernini-R-S2V/resolve/main/Bernini-R-S2V-FP16/wan2.2_bernini_r_high_noise_fp16_s2v.safetensors)'| High noise | | '[wan2.2_bernini_r_low_noise_fp16_s2v.safetensors](https://huggingface.co/rzgar/Bernini-R-S2V/resolve/main/Bernini-R-S2V-FP16/wan2.2_bernini_r_low_noise_fp16_s2v.safetensors)'| Low noise | | '[wan2.2_bernini_r_high_noise_fp8_scaled_s2v.safetensors](https://huggingface.co/rzgar/Bernini-R-S2V/resolve/main/Bernini-R-S2V-FP8/wan2.2_bernini_r_high_noise_fp8_scaled_s2v.safetensors)' | High noise | | '[wan2.2_bernini_r_low_noise_fp8_scaled_s2v.safetensors](https://huggingface.co/rzgar/Bernini-R-S2V/resolve/main/Bernini-R-S2V-FP8/wan2.2_bernini_r_low_noise_fp8_scaled_s2v.safetensors)' | Low noise | | '[wan2.2_bernini_r_high_noise_int8_convrot_s2v.safetensors](https://huggingface.co/rzgar/Bernini-R-S2V/resolve/main/Bernini-R-S2V-int8-convrot/wan2.2_bernini_r_high_noise_int8_convrot_s2v.safetensors)' | High noise | | '[wan2.2_bernini_r_low_noise_int8_convrot_s2v.safetensors](https://huggingface.co/rzgar/Bernini-R-S2V/resolve/main/Bernini-R-S2V-int8-convrot/wan2.2_bernini_r_low_noise_int8_convrot_s2v.safetensors)' | Low noise | ComfyUI detects these as **`WAN22_S2V`** / 'WanModel_S2V' (audio keys trigger S2V model type). ## Usage 1. Download the checkpoints. 2. Place in: ``` ComfyUI/models/diffusion_models/ ``` 3. Add [wav2vec2](https://huggingface.co/rzgar/Bernini-R-S2V/resolve/main/audio_encoders/wav2vec2_large_english_fp16.safetensors) to: ``` ComfyUI/models/audio_encoders/ ``` 4. Install **[ComfyUI-WanBerniniS2V](https://huggingface.co/rzgar/Bernini-R-S2V/tree/main/ComfyUI-WanBerniniS2V)** custom node: ``` (Create a folder in 'ComfyUI/custom_nodes/' named 'ComfyUI-WanBerniniS2V', then save the Python files in that folder.) ``` 5. Restart ComfyUI. 6. Search for the Bernini S2V Conditioning node or use the example [workfllow](https://huggingface.co/rzgar/Bernini-R-S2V/blob/main/Workflow/Bernini-R-S2V_Workflow.json) ## Audio tips | Setting | Recommendation | |---|---| | **Channels** | **Mono**, wav2vec2 downmixes stereo internally | | **Sample rate** | 44.1 khz or 48 khz (resampled to 16 kHz) | | **Content** | Clear speech, less background music = better sync | | **Length** | in my testing, max 9 to 15 seconds |