
Hi there! I'm Charlotte, a journalist with The Steambird~
Artist: 黒光りとまと(御仕事募集中)
A program for Genshin Impact that losslessly decrypts the .usm cutscene files into playable .mkv videos. Supports official audio (EN, CN, JP, KR) and subtitles in 15 languages, with VapourSynth (a lossless video processing framework) suport to improve video artifacts such as banding, blocking, and chroma aberration that exist in the original cutscenes.
All cutscenes from versions 1.0 to 6.3 can be decrypted.
Feel free to submit a pull request if you have missing keys.
Who do you think recorded all those cutscenes but Teyvat's best journalist?
This tool was heavily inspired by GI-cutscenes. All the decrypt algorithm is based off of this project. GI-cutscene has not been in active development for some time now, so I wanted to rewrite it at higher level and add features down the road such as VapourSynth processing and a GUI.
- Decrypt
.usmfiles into.ivfvideo and.hcaaudio. - Subtitle support, formatting
.srtinto.assformat. - Font and subtitle style match the official cutscenes.
-
.hcaaudio to.flacfor archival purposes. - Mux video and audio into
.mkv. - Add VapourSynth processing.
- Add GUI.
- Download charlotte.exe from the latest release.
- Ensure that ffmpeg.exe and mkvmerge.exe are present in the same directory as
charlotte.exe. - Clone this repository place the
Subtitledirectory in the same directory ascharlotte.exe. - To get font files, go to
[Game Directory]\Genshin Impact game\GenshinImpact_Data\StreamingAssets\MiHoYoSDKRes\HttpServerResourcesand copy thefontdirectory into the same directory ascharlotte.exe. - For
.usmcutscene files, go to[Game Directory]\Genshin Impact game\GenshinImpact_Data\StreamingAssets\VideoAssets\StandaloneWindows64. Depending on when you started playing the game and how often you cleaned up past resources or reinstalling the game, not all cutscene files may be available, especially the ones from past limited events. I currently have a full archive of them and will try my best to organize them into a spreadsheet and find a host (~42.3 GB in total).
- Run
charlotte.exeand select the.usmfile or directory containing.usmfiles.
charlotte [PATH_TO_USM_FILE_OR_DIR] [OPTIONS]charlotte C:\Users\Mint\Desktop\charlotte\USM\Cs_EQHDJ005_HaiDengJie_Boy.usm -ncThis will decrypt Cs_EQHDJ005_HaiDengJie_Boy.usm and output the result to output/Cs_EQHDJ005_HaiDengJie_Boy.mkv without cleaning up intermediate files.
PATH_TO_USM_FILE_OR_DIR: (Required) Path to a single.usmfile or a directory containing.usmfiles.
-o, --output [DIR]: Output directory. Default isoutput.-nc, --no-cleanup: Do not delete intermediate decoded files (e.g.,.ivf,.hca,.ass) after the process is complete.
- Clone this repository.
- Python 3.14 or higher
- uv package manager.
uv run pyinstaller charlotte.specI put in a lot of time and effort to make this tool. If you enjoyed using it, your support would mean so much to me. It keeps me motivated to invest more time into the project and keep it alive for as long as I can ❤️