Views
No views yet

1git clone https://github.com/OmniCustom-project/OmniCustom.git
2cd OmniCustom1conda create -n omnicustom python=3.10
2conda activate omnicustom
3pip install -r requirements.txtpip install flash-attn --no-build-isolationdownload_weights.py, and put them into ckpts:python3 download_weights.py --output-dir ./ckpts| Models | Download Link | Notes |
|---|---|---|
| OmniCustom models | 🤗 Huggingface | 1.9G |
| Naturalspeech 3 | 🤗 Huggingface | timbre embedding extractor |
| InsightFace | 🤗 Huggingface | face embedding extractor |
| LivePortrait | 🤗 Huggingface | crop reference image |
ckpts. Here, we provide a unified download command to download these four models from Huggingface.1pip install "huggingface_hub[cli]"
2huggingface-cli download Omni1307/OmniCustom \
3 --include "ckpts/**" \
4 --local-dir ./ \
5 --local-dir-use-symlinks False ckpts directory should be:1# OmniCustom/ckpts
2ckpts/
3├── InsightFace/
4├── LivePortrait/
5├── MMAudio/
6├── naturalspeech3_facodec/
7├── Ovi/
8├── step-92000.safetensors
9└── Wan2.2-TI2V-5B/1ckpt_name: Ovi/model.safetensors #base model
2lora_path: ./ckpts/step-92000.safetensors #the checkpoint of our OmniCustom
3self_lora: true
4# face embedder
5face_embedder_ckpt_dir: ./ckpts/InsightFace
6face_ip_emb_dim: 512
7# audio embedder
8audio_embedder_ckpt_dir: ./ckpts/naturalspeech3_facodec
9audio_ip_emb_dim: 256
10# output
11output_dir: ./outputs/
12sample_steps: 50 # number of denoising steps. Lower (30-40) = faster generation
13solver_name: unipc # sampling algorithm for denoising process
14shift: 5.0 #timestep shift factor for sampling scheduler
15sp_size: 1
16audio_guidance_scale: 3.0
17video_guidance_scale: 4.0
18mode: "id2v" # ["id2v", "t2v", "i2v", "t2i2v"] all comes with audio
19fp8: False # load fp8 version of model, will have quality degradation and will not have speed
20cpu_offload: False
21seed: 102 # random seed for reproducible results
22crop_face: true # crop face region from the reference image
23video_negative_prompt: "jitter, bad hands, blur, distortion, two people, two persons, aerial view, overexposed, low quality, deformation, a poor composition, bad hands, bad teeth, bad eyes, bad limbs, distortion, blurring, text, subtitles, static, picture, black border"
24audio_negative_prompt: "robotic, muffled, echo, distorted" # avoid artifacts in audio
25video_frame_height_width: [576, 992] #[512, 992] # only useful if mode = t2v or t2i2v, recommended values: [512, 992], [992, 512], [960, 512], [512, 960], [720, 720], [448, 1120]
26text_prompt: ./example_prompts/benchmark_example.csv #group generation
27slg_layer: 11
28each_example_n_times: 1bash ./inference.shCUDA_VISIBLE_DEVICES=0 infer.py --config-file ./configs/inference/inference_fusion.yaml💡Note:
text_promptinconfigs/inference/inference_fusion.yamlcan change examples for sync audio-video customization.text_promptsupports a CSV file, which contains text_prompt, ip_image_path, and ip_audio_path.- Those results without any customization and those with only identity customization will be saved to the result folder.
- When the generated video is unsatisfactory, the most straightforward solution is to try changing the
seedinconfigs/inference/inference_fusion.yaml.- The Peak VRAM Required is 80 GB in a single GPU.
| Reference Images | Reference Audios | Text prompts | Generated Videos |
|---|---|---|---|
![]() |
|
A man stands at the podium in OpenAI's luxurious conference room, behind him a massive electronic screen displays the company's glowing profit data. He grips the microphone firmly, gazes across the audience below, and announces in a steady tone: <S>The board wants to sell OpenAI to Zuckerberg, which is unacceptable.<E>
|
|
![]() |
|
A woman stands before the iconic Rockefeller Center Christmas Tree, its thousands of lights reflecting in her eyes as snow begins to fall gently around her. Wearing a tartan scarf and holding a cup of steaming cocoa, she brings her mittened hands together and speaks softly into the frosty air: <S>May the spirit of Christmas fill your heart throughout the coming year.<E>
|
|
![]() |
|
A man stands on a bustling street in Shanghai, the air thick with the festive atmosphere of Chinese Lunar New Year, with numerous red lanterns hanging in clusters overhead. He blends seamlessly into the vibrant surroundings, then clasps his hands together in a traditional gesture of greeting and says warmly: <S>Wishing everyone a Happy New Year and joy every single day.<E>
|
|