UniCharacter / README.md
Tangc03's picture
Update README.md
33057c5 verified
|
Raw
History Blame Contribute Delete
3.46 kB
---
license: apache-2.0
pipeline_tag: any-to-any
tags:
- UniCharacter
- customized-multimodal-role-play
- multimodal-role-play
- character-customization
- text-to-image
- image-generation
---
# UniCharacter
UniCharacter is a collection of character-specific checkpoints for **Customized Multimodal Role-Play (CMRP)**, introduced in the paper [Towards Customized Multimodal Role-Play](https://arxiv.org/abs/2605.08129).
[**Project Page**](https://tangc03.github.io/UniCharacter.github.io/) | [**GitHub**](https://github.com/Tangc03/UniCharacter) | [**Paper**](https://arxiv.org/abs/2605.08129)
The model is designed to customize a character's persona, dialogue style, and visual identity so that the character can respond consistently across text and image generation settings. Using a unified multimodal model, UniCharacter employs a two-stage training framework containing Unified Supervised Finetuning (Unified-SFT) and character-specific group relative policy optimization (Character-GRPO).
## Repository Contents
This repository contains separate checkpoint folders for multiple characters. Each character directory includes sharded `safetensors` weights and a `model.safetensors.index.json` file.
Available character folders include:
- `Adrien_Brody`, `Bo`, `Butin`, `Chandler`, `Coco`, `Furina`, `Gao_Qiqiang`, `Hermione`, `Ichihime`, `Joey`, `Leonardo`, `Mam`, `Miki_Nikaidou`, `Mydieu`, `Pikachu`, `Rin_Tohsaka`, `Saber`, `Will_In_Vietnam`, `Wukong`, `YuiYagi`
## Quick Usage Example
To use these checkpoints, please follow the installation instructions in the [official repository](https://github.com/Tangc03/UniCharacter). Below is an example of the unified inference interface:
```python
from inference import create_unicharacter_inference
from pathlib import Path
# Initialize the unified inference (modify paths according to your environment)
inference = create_unicharacter_inference(
model_path="models/BAGEL-7B-MoT",
checkpoint_path="<checkpoint_path>",
vit_checkpoint_path="<vit_checkpoint_path>",
max_mem_per_gpu="40GiB",
seed=42,
)
out_dir = Path("test_images/outputs")
out_dir.mkdir(parents=True, exist_ok=True)
# 1) Text-to-image generation (Role T2I)
res = inference.generate_image("Ichihime chasing a butterfly")
res["image"].save(out_dir / "t2i_ichihime.png")
# 2) Visual understanding / VQA
res = inference.visual_understanding(
"data/personalized_data/train/Mahjong Soul-Ichihime/1.png",
"What's the color of Ichihime's hair?",
)
print("VQA:", res["text"])
# 3) Knowledge QA
res = inference.knowledge_qa("When do you born?")
print("Knowledge QA:", res["text"])
# 4) Multimodal role-play
res = inference.role_play(
character_name="Ichihime",
description="",
opening="",
user_text="Hi, Ichihime. How are you?",
)
print("Role-play:", res["response"])
```
## Download
Download the full repository:
```bash
huggingface-cli download Tangc03/UniCharacter --local-dir UniCharacter
```
Download a single character checkpoint folder:
```bash
huggingface-cli download Tangc03/UniCharacter --include "Hermione/*" --local-dir UniCharacter
```
## Citation
If you use UniCharacter, please cite:
```bibtex
@article{tang2026towards,
title={Towards Customized Multimodal Role-Play},
author={Tang, Chao and Wu, Jianzong and Shi, Qingyu and Tian, Ye and Zhang, Aixi and Jiang, Hao and Zhang, Jiangning and Tong, Yunhai},
journal={arXiv preprint arXiv:2605.08129},
year={2026}
}
```