[NeurIPS`25] TC-Light: Temporally Coherent Generative Rendering for Realistic World Transfer
94
stars
259
commits
Python
primary language
Nov 23, 2025
updated
Institute of Automation, Chinese Academy of Sciences; University of Chinese Academy of Sciences
https://github.com/user-attachments/assets/9fc9c6ce-a83c-4ca5-9273-7cb672c99452
This repo contains official implementations of TC-Light, a one-shot model used to manipulate the illumination distribution of video and realize realistic world transfer. It's especially suitable for high-dynamic videos such as motion-rich actions and frequent switch of foreground and background objects. It is distinguished by:
These features make it particularly valuable for sim2real and real2real augmentation for Embodied Agents or preparing video pairs to train stronger video relighting models. Star ⭐ us if you like it!
[2025.09.08] 👏 TC-Light has been accepted by ICLR 2025!
[2025.06.23] The code and paper of TC-Light are released!
TC-Light overview. Given the source video and text prompt p, the model tokenizes input latents in xy plane and yt plane seperately. The predicted noises are combined together for denoising. Its output then undergoes two-stage optimization. The first stage aligns exposure by optimizing appearance embedding. The second stage aligns detailed texture and illumination by optimizing Unique Video Tensor, which is compressed version of video Please refer to the paper for more details.
Install the required environment as follows:
git clone https://github.com/Linketic/TC-Light.git
cd TC-Light
conda create -n tclight python=3.10
conda activate tclight
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
Then download required model weights to ./models from the following links:
As a quick start, you can use:
# support .mp4, .gif, .avi, and folder containing sequential images
# --multi_axis enables decayed multi-axis denoising, which enhances consistency but slow down the diffusion process
python run.py -i /path/to/your/video -p "your_prompt" \
-n "your_negative_prompt" \ # optional
--multi_axis # optional
By default, it will relight the first 30 frames with resolution 960x720. The default negative prompt is adopted from Cosmos-Transfer1, which makes the edited illumination as real as possible. If it is the first-time running on a specific video, it would generate and save flow un the path to your video.
For a fine-grained control, you can customize your .yaml config file and run:
python run.py --config path/to/your_config.yaml
You can start from configs/tclight_custom.yaml, which records the most frequently used parameters and detailed explanation.
python run.py --config configs/examples/tclight_droid.yaml
python run.py --config configs/examples/tclight_navsim.yaml
python run.py --config configs/examples/tclight_scand.yaml
bash scripts/relight.sh
# we generate compatible background image by using foreground mode of IC-Light, then remove foreground and inpaint the image with tools like sider.ai
# for satisfactory results, a consistent and complete foreground segmentation is preferred, and we use BriaRMBG as default.
python run.py --config configs/examples/tclight_bkgd_robotwin.yaml
For evaluation, you can simply use:
python evaluate.py --output_dir path/to/your_output_dir --eval_cost
If you find this repository useful for your research, please use the following BibTeX entry for citation.
@inproceedings{
liu2025tclight
title={TC-Light: Temporally Coherent Generative Rendering for Realistic World Transfer},
author={Yang Liu, Chuanchen Luo, Zimo Tang, Yingyan Li, Yuran Yang, Yuanyong Ning, Lue Fan, Junran Peng, Zhaoxiang Zhang},
booktitle={The Thirty-Ninth Annual Conference on Neural Information Processing Systems},
year={2025},
}
This repo benefits from IC-Light, VidToMe, Slicedit, RAVE, Cosmos. Thanks for their great work! The repo is still under development, we are open to pull request and discussions!
142 commits
117 commits
Python
98.9%
[NeurIPS`25] TC-Light: Temporally Coherent Generative Rendering for Realistic World Transfer
94
stars
259
commits
Python
primary language
Nov 23, 2025
updated
Institute of Automation, Chinese Academy of Sciences; University of Chinese Academy of Sciences
https://github.com/user-attachments/assets/9fc9c6ce-a83c-4ca5-9273-7cb672c99452
This repo contains official implementations of TC-Light, a one-shot model used to manipulate the illumination distribution of video and realize realistic world transfer. It's especially suitable for high-dynamic videos such as motion-rich actions and frequent switch of foreground and background objects. It is distinguished by:
These features make it particularly valuable for sim2real and real2real augmentation for Embodied Agents or preparing video pairs to train stronger video relighting models. Star ⭐ us if you like it!
[2025.09.08] 👏 TC-Light has been accepted by ICLR 2025!
[2025.06.23] The code and paper of TC-Light are released!
TC-Light overview. Given the source video and text prompt p, the model tokenizes input latents in xy plane and yt plane seperately. The predicted noises are combined together for denoising. Its output then undergoes two-stage optimization. The first stage aligns exposure by optimizing appearance embedding. The second stage aligns detailed texture and illumination by optimizing Unique Video Tensor, which is compressed version of video Please refer to the paper for more details.
Install the required environment as follows:
git clone https://github.com/Linketic/TC-Light.git
cd TC-Light
conda create -n tclight python=3.10
conda activate tclight
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
Then download required model weights to ./models from the following links:
As a quick start, you can use:
# support .mp4, .gif, .avi, and folder containing sequential images
# --multi_axis enables decayed multi-axis denoising, which enhances consistency but slow down the diffusion process
python run.py -i /path/to/your/video -p "your_prompt" \
-n "your_negative_prompt" \ # optional
--multi_axis # optional
By default, it will relight the first 30 frames with resolution 960x720. The default negative prompt is adopted from Cosmos-Transfer1, which makes the edited illumination as real as possible. If it is the first-time running on a specific video, it would generate and save flow un the path to your video.
For a fine-grained control, you can customize your .yaml config file and run:
python run.py --config path/to/your_config.yaml
You can start from configs/tclight_custom.yaml, which records the most frequently used parameters and detailed explanation.
python run.py --config configs/examples/tclight_droid.yaml
python run.py --config configs/examples/tclight_navsim.yaml
python run.py --config configs/examples/tclight_scand.yaml
bash scripts/relight.sh
# we generate compatible background image by using foreground mode of IC-Light, then remove foreground and inpaint the image with tools like sider.ai
# for satisfactory results, a consistent and complete foreground segmentation is preferred, and we use BriaRMBG as default.
python run.py --config configs/examples/tclight_bkgd_robotwin.yaml
For evaluation, you can simply use:
python evaluate.py --output_dir path/to/your_output_dir --eval_cost
If you find this repository useful for your research, please use the following BibTeX entry for citation.
@inproceedings{
liu2025tclight
title={TC-Light: Temporally Coherent Generative Rendering for Realistic World Transfer},
author={Yang Liu, Chuanchen Luo, Zimo Tang, Yingyan Li, Yuran Yang, Yuanyong Ning, Lue Fan, Junran Peng, Zhaoxiang Zhang},
booktitle={The Thirty-Ninth Annual Conference on Neural Information Processing Systems},
year={2025},
}
This repo benefits from IC-Light, VidToMe, Slicedit, RAVE, Cosmos. Thanks for their great work! The repo is still under development, we are open to pull request and discussions!
142 commits
117 commits
Python
98.9%