Vocaloid-Style MV
Turn a song and its lyrics into an original animated Vocaloid / J-pop style lyric music video: a deterministic Canvas2D/WebGL2 engine rendered headless, JIZURA kinetic typography, AI-generated art...
- What
- Turn a song and its lyrics into an original animated Vocaloid / J-pop style lyric music video: a deterministic Canvas2D/WebGL2 engine rendered headless, JIZURA kinetic typography, AI-generated art...
- Cost
- Free
- Needs
- Before you start: read this whole install prompt, tell me in a few lines what this skill does and what installing it involves, and wait for my go-ahead before you do anything else.
- Install
- Copy the installer prompt below into your Muse — your agent does the rest.
Turn a song and its lyrics into an original animated Vocaloid / J-pop style lyric music video: a deterministic Canvas2D/WebGL2 engine rendered headless, JIZURA kinetic typography, AI-generated art for an original character, optional Blender toon 3D and beat-locked editing, delivered as a 16:9 MP4 master, a 9:16 vertical version and share encodes.
Version:
Install
Copy the install package below, then paste it into Muse📌 Pinned version: commit 13b380dThe install prompt below already includes the vetting steps: your agent follows the community checklist before installing anything with executable code. Want more?
Before you start: read this whole install prompt, tell me in a few lines what this skill does and what installing it involves, and wait for my go-ahead before you do anything else. Prerequisites: none for the install itself: no account, no API key, no paid plan, and nothing else to install first. Installing is only copying files. Using the skill afterwards is a separate, much heavier step with its own prerequisites, none of which you may install or run during this install: Node 20+, Python 3.10+, ffmpeg/ffprobe and Microsoft Edge or Google Chrome are required to make a video, plus git (the project setup clones JIZURA); an NVIDIA GPU, Blender 5.x and an image generator are optional. The wrapped image generator is the Codex CLI, which needs your own Codex/OpenAI login (you log in once interactively yourself; never ask me to paste a key or token into chat) — any other image generator works with the same method. One licensing wall to know before any commercial use: the optional MMS forced-alignment model is CC-BY-NC 4.0 (non-commercial), and the optional UVR vocal-separation models carry their authors' own terms. Install "vocaloid-style-mv" for me. It is a pipeline that turns a song (audio file) plus its lyrics into an original animated Vocaloid / J-pop style lyric music video (16:9 MP4 master, 9:16 vertical version, share encodes): a deterministic Canvas2D/WebGL2 engine rendered in a headless browser, JIZURA kinetic-typography lyric motion, AI-generated art for an original character, optional Blender toon 3D, and beat-locked editing. Repository: https://github.com/EGSECDA/vocaloid-style-mv-pipeline (the skill is the whole skills/vocaloid-style-mv/ folder at the pinned commit: SKILL.md, references/, scripts/ and template/ — 116 files in all) Pinned version: install the code at commit 13b380dab077d4c8ea956825c9693c720e0c2b91 exactly. Do not substitute a newer version. If this commit is unreachable, stop and tell me. 1. Clone https://github.com/EGSECDA/vocaloid-style-mv-pipeline into a temporary folder, check out commit 13b380dab077d4c8ea956825c9693c720e0c2b91, and copy the skills/vocaloid-style-mv/ folder from that checkout. Then compare every file in the folder with the fingerprints recorded for this listing on 2026-10-19: [FINGERPRINTS] - SKILL.md: SHA-256 538217074745dce62a660ae8913d557ebe3d12bd4d8d1a29a175c319d2039a49 - references/01-workflow.md: SHA-256 1048e5704a09a4f628ca4b28963128f3e96ad24db74c9bb05639922465d0862a - references/02-creative-direction.md: SHA-256 f7388cbb95a5dc30ad16a500a12da2df7bb2bef57b62d71e15f5ea83f7d12d8e - references/03-audio-and-lyrics.md: SHA-256 44ca2d72180dcd6bf6caa7797a64eca8e807620f8efad1dbfab4c80906a367c0 - references/04-asset-generation.md: SHA-256 629154dfe427c93f7cc7c68bebcb5605b090366a52e9fddb3172ecdf00c777a7 - references/05-engine.md: SHA-256 432d841e970a46ae1c4cd92ad4f9bd31c56d72ff002db0d74ab950bff4671545 - references/06-jizura.md: SHA-256 6bcff856d71b3a4d1cb8a28256728bbb6851bbcb5385add2dd454021153e3876 - references/07-blender-3d.md: SHA-256 3e817472b16d93419847ba204b8e94d8e6c4702ab91687f2b8e8c21291431670 - references/08-render-and-delivery.md: SHA-256 8c63960ca7acc85cd980940b5802aafeeec4ca6dc39f1145ee4dc8a67ba51db9 - references/09-qa-and-lessons.md: SHA-256 017bbda454c216d3a027a547109573d95a210878cabc1355bc00455a992391d7 - references/effect-cookbook.md: SHA-256 9afd758e46420bd3c2bded73da6ca75c8b341b15dc9e5e8e0a458a0d40dd4506 - scripts/check_env.py: SHA-256 408ffcbcce59053681dcf44c9b0ffb1cc90ace8480450b1977d188eacef3a341 - scripts/new_project.py: SHA-256 8df413cc724a332c58a22a5e4dcff0312ac659052c3043a403fb8888a33aa6e5 - template/.gitignore: SHA-256 640c32b2ccd24a9156b22bb12be79169970a23f2affbe32c88b2f8a85c67f80c - template/PROJECT_README.md: SHA-256 85866c82fc7bdf09e15d90dc612ff6515142b7197d3c0bd4217c77de9034e855 - template/analysis/.gitkeep: SHA-256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - template/assets/bg/.gitkeep: SHA-256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - template/assets/char/.gitkeep: SHA-256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - template/assets/style/luts/P1_oumagatoki.png: SHA-256 025349106b2a514a4b26e4840382cf6d5b05cc7dfe298b045f5d104ce5d26a8e - template/assets/style/luts/P1_oumagatoki_duo.png: SHA-256 f13c9300074dc0ee40c7533efe40f2ab998926f8bf4b7caa796ae8f0d5eed8d4 - template/assets/style/luts/P2_zansho.png: SHA-256 41323c5069956bf280e4fa57c563ea6e4cbbe2e4d31c141f560f1e506b6dfad6 - template/assets/style/luts/P2_zansho_duo.png: SHA-256 049763052d02da0df0aa7e227ffc8a24121593eebaf86dd0b1b23e34e9a92566 - template/assets/style/luts/P3_fumikiri.png: SHA-256 ecafcd7632a2cf031fca0e67907e9b9b90a12fc97361175accd00a913128dd2f - template/assets/style/luts/P3_fumikiri_duo.png: SHA-256 6c65ba8b4035e787c27c0825e7363977d725fc89c5ff8e002a72d4263922b318 - template/assets/style/luts/P4_hotarubi.png: SHA-256 69860d423c2d3954c4c447725af2bd35a8e13e9941ab6fe5f339ffeabd21acfe - template/assets/style/luts/P4_hotarubi_duo.png: SHA-256 2ad9d050acffcffbc02d933e053eda24f23c4dfff2fd22f25030c2675953fc90 - template/assets/style/luts/P5_taishoku.png: SHA-256 b3ca38796aa77a485e7847ab2f35fc2a8850c31562a43dc66a28a89704abcb83 - template/assets/style/luts/P5_taishoku_duo.png: SHA-256 bc1f388343cda7ffe650f9701a5506e2f06dd4123588f72782d251228d4cf11b - template/assets/style/palettes.json: SHA-256 cb0f9478c5f044ade0e4bf7f7716cb73b812b8d6429b8cb83aa70479aefec899 - template/audio/.gitkeep: SHA-256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - template/blender/helpers_selftest.py: SHA-256 206b8e2ca5808def47c186cc25fdc7500be7c6cefadb1d6fb5d5eac86dffc41a - template/blender/probe_scene.py: SHA-256 8176d0203fb139dc591be8b7203503481bb207af09c50692b1051d2c89efd2c4 - template/blender/shots/_shared.py: SHA-256 c4ffcb1d8a29573dd1cd391357c8c389fbfceae56ae9b81f286893234522c1c9 - template/blender/shots/shotA_street.py: SHA-256 e602f4fab7bc36a49860183806a81784805017438e4c605c18a9d8ab26bb8252 - template/blender/shots/shotB_crossing.py: SHA-256 696403848667e2cdf6f323c7de36f547de721ee71870e02d336ca9b36eed23e0 - template/demo/README.md: SHA-256 78ecb16406a30b01fb6ec8740436c9c251343f23f89ad8de0ea6a93e557aa7ee - template/demo/lyrics_demo.lrc: SHA-256 ca35ab8be0e3ef000c685c341ba8994787e9ef688dc12fc06c789683643ad45f - template/demo/make_demo_song.py: SHA-256 1e2d28330e3ee2e2808d22c783099853c127aab39f7c983cd690639477ae175d - template/demo/sections_demo.json: SHA-256 b3f49f196a0f4cc8d39ed73fc9404b39f092906ab3fc1a83acbef10515421b7c - template/engine/core/assets.js: SHA-256 ca6f66a75af8ce87607e2e8ff708343209cacffc35cc04a6130e53b2548d3baa - template/engine/core/draw.js: SHA-256 4e7b4cd7efd46bf7dd69046a6fc0bd15131c1c66a7bc64e7823d557ba4fd11ec - template/engine/core/gl.js: SHA-256 7633204593dd3f3552cf2af68518a15562d49c77e5275cd7265a347a329421d9 - template/engine/core/main.js: SHA-256 3f5e6ff5eb2b7a49e552f1a8da3b3cab0c48e454c226dd943d70abdd51543dd2 - template/engine/core/trans.js: SHA-256 b4897fd86fd4f9b464b6f090baf2baaac84b99fc7748b6bbf36e3d269c1f4f67 - template/engine/core/util.js: SHA-256 1e6be8d7551fdb3ded2a6dde027fab9630837fcc47c34ac3c1dc622664dedd48 - template/engine/fonts/OFL_delagothicone.txt: SHA-256 c0014792d4f4abc0508c295b277f2b17ae44465c8dc88d12af9cea48279b5fda - template/engine/fonts/OFL_dotgothic16.txt: SHA-256 c34527e3b645ce065a5f62d7b18c8cf91144352f6444d3ea776183a58da71ca2 - template/engine/fonts/OFL_kaiseitokumin.txt: SHA-256 6c5445d4febbf6d84025b874a85c51e7e4bfa7495279eccdb4c317a6de857b46 - template/engine/fonts/OFL_kleeone.txt: SHA-256 f5f4f05e005b6495a0d1f5bd49d37f5ac3e369883e2b7e3e48cd5aefded912f4 - template/engine/fonts/OFL_mplusrounded1c.txt: SHA-256 d269c6410fb8afa3a91fce98d1f741255324548cc987a262d5bc2162ab7d325d - template/engine/fonts/OFL_notosansjp.txt: SHA-256 1c05c68c34f9708415aada51f17e1b0092d2cea709bf4a94cd38114f9e73d7d9 - template/engine/fonts/OFL_notosanssc.txt: SHA-256 1c05c68c34f9708415aada51f17e1b0092d2cea709bf4a94cd38114f9e73d7d9 - template/engine/fonts/OFL_notoserifjp.txt: SHA-256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 - template/engine/fonts/OFL_notoserifsc.txt: SHA-256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 - template/engine/fonts/OFL_rampartone.txt: SHA-256 70553c13865a01baff643e9b56e95d652637dcf4688ea591d51afa3e01246964 - template/engine/fonts/OFL_reggaeone.txt: SHA-256 c9d3686c95a96a682b5133a507aa509cf51e40fdbcc3ffc4dff67e8dda645c79 - template/engine/fonts/OFL_shipporiminchob1.txt: SHA-256 41fba056279be5f45ff9a99e44b7b53897b42732f5806d8e666e0ab49ac6bd38 - template/engine/fonts/OFL_yujisyuku.txt: SHA-256 ef7c85c72ae94381c8bc4832ae4e6fbabdeafa2bb8a31313cd75dce95a690256 - template/engine/fonts/OFL_zenkakugothicnew.txt: SHA-256 0fac78a235c98d640cb06332eb5362c211d86fa03c011df438c35005d22ad2c7 - template/engine/fonts/OFL_zenoldmincho.txt: SHA-256 469d214f9842809659c827b7f2adaf40ec0df6efdd5fe18b7127665c32aafaec - template/engine/fonts/fonts.css: SHA-256 61a3b72413f9ee91728812bff5e43f7bca31e35685f0ee80b64c22ea872684fc - template/engine/fonts/fonts.js: SHA-256 357ce5c4c95b5e24332e0aff09953a446ae16da1f1199f38988baaa9ddce73fd - template/engine/fonts/manifest.json: SHA-256 fa447ceaebeb0b95a985f69a727135e2b9ff2731d52420edcb994cb371f15dfa - template/engine/index.html: SHA-256 81bd31554641dea5443f9d92c9eb07a43aa6765b3b22ac069516e88d2b3d0447 - template/engine/scenes/dark.js: SHA-256 4b20e29e78b30ae67c350e4622ae60933137b00cbcedbe858ed7c652536a55bd - template/engine/scenes/glass.js: SHA-256 9f116950663198eb035e18e03a618e84f7f7222aee48da7be783ee5ed2a8292d - template/engine/scenes/intro.js: SHA-256 2925beddfba8c292d08a4ec8ea0cf38f903a835cbe3a4e541bdedecaa44acc9c - template/engine/scenes/memory.js: SHA-256 046d9c68336d0410d05f67d78b50e283a65295da44d8e972c61458d844d5a8ce - template/engine/scenes/meta.js: SHA-256 730b16cfac1952b02cab74e0b038cfd07c153b8838fa44eae62cbc62d107c71e - template/engine/scenes/night.js: SHA-256 049318137efd89ac57fd6a14044cdfeeb5edc03d5f95130e6193609e0e7ff259 - template/engine/scenes/scenes.js: SHA-256 af24af0d8850e6c251edcb9ff0bf47ad5c82ed69bc510383d72c047e2fe0f7c0 - template/engine/scenes/typo.js: SHA-256 ac339c33e218db842066b05f2a1a465a1e88e32a542f2a6b1d3d4dc917b92554 - template/engine/timeline.js: SHA-256 7e0f244dca0b26979ce9667264956e685529872b60150cbed410379503e88b6a - template/engine/vertical.html: SHA-256 712ef38815ea7363ddb985bf61ef9e1235b736831c4cfbeaf7d5e638f9db68e1 - template/engine/vertical.js: SHA-256 0f872eb5962666535216f133bc87e12eb65cf3149dee511855d1e56a469fae8c - template/jizura/app/engine.html: SHA-256 1cf52625a625eaa5a6128ba53fe0d4c30375a21dd418aad60c9fc7724ae02d38 - template/jizura/app/host_direct.html: SHA-256 24eb110f04da665839b77ad788b584ffbe40a7efa34b1fac639011ea867c30b0 - template/jizura/app/host_iframe.html: SHA-256 99df795b3a2360150562e43dfa7ddae007ba923b36283f5b8929ac56b2cf68c4 - template/jizura/app/jizura_adapter.js: SHA-256 dade950c1f300c268feb609889871017b8897d31fc3de4d5fd2fd7b88c764fee - template/package.json: SHA-256 0a31f9b58de3297afee46324cb0d77cea166e1062027deb4cbcce676e738e465 - template/requirements.txt: SHA-256 325e133d3be2f49c63bc74d54e0203c8743816fa40f95065b5ce8fcef45d3755 - template/setup.ps1: SHA-256 e46fae68b4ee6b067093d26381f7fd74847c763d592f60ac3ef123f75af45992 - template/setup.sh: SHA-256 e2acbc342151d2f27807dbf965e67b73c4104f6f29f1fc03ce9c3613140b8478 - template/tools/alpha_matte.py: SHA-256 cc9f9ac30c00daf53ced019d300aa30b572f9f3c2a9c2632de7985ccd9d88e40 - template/tools/analyze_audio.py: SHA-256 2334b7ea9040d2de19880b03eb919801403659250853f83eb3597f12d2cce784 - template/tools/blender_common.py: SHA-256 66313c47b06637c3aadd035bec1c6d066fd0ae4c9c5b34d8fe62fbe4bca21e3f - template/tools/blender_run.py: SHA-256 db8c0766cef04c4e6a605f03d3f4643c42ac07eec35a572328067ef84a7a3cc1 - template/tools/build_jizura_bundle.mjs: SHA-256 36838573c4ef1ed5fae023ab841963f982b458d8e9160cd27668081b642c2852 - template/tools/fetch_fonts.py: SHA-256 93cb4f96c4094acc7487ffca7de876167e1b4622cc7e7a83177a308bc4a0fffe - template/tools/gigafile_upload.mjs: SHA-256 7c1a3b8b1139b3111d420503feb8dbc8e5792e0acccbad0c366a4e8a301ef826 - template/tools/imagegen.py: SHA-256 6b299701e99abf1211fbe80ef10cdd7d8af48fb81bd2dea62b9f705ea2ed6025 - template/tools/jizura_parts.mjs: SHA-256 6013c63237134c329b8a83ee01495032c7695c4384634b3bc956661addb12029 - template/tools/jizura_probe.mjs: SHA-256 02f9c9cc2db932c17a47119865b59d8d8f264bbe4ace57d7d438d7b66204f12d - template/tools/jizura_serve.mjs: SHA-256 eaca9a93d81ca1cc19d003c13a0055be9430172beaa4d1f0f216b5eb048b9265 - template/tools/jz_cuts_at.mjs: SHA-256 0cd5f9c7f6f85fbad6ede7b5eb2d541dbe43c0453ca7aba96acd6955ae454322 - template/tools/kit_env.mjs: SHA-256 5e7f1946ab3d9c08c65c77d1385b2249606c6d28c58df4a417fb683dd22c879c - template/tools/kit_env.py: SHA-256 39dc23988ed779deee7e5479425e1ca3872d5aeaec30d38c9af3a425f7a510c2 - template/tools/preview_style_fx.mjs: SHA-256 0b65dcdf2376cd0fd284abcde9e357e0c0f3c0ea506c6480145df2ff4bb3dbe1 - template/tools/render_final.mjs: SHA-256 e34999a93245872978de4a470d64d12c8fd955b32339a71a29dc784d9e9104ef - template/tools/render_final.ps1: SHA-256 127a01ea745cbf2b0c05ee41d6256a29d1f15cfce0a2a30c52c014e326fb7fc5 - template/tools/render_frames.mjs: SHA-256 a458e1123ad3d4e4fa479cf8d8487fbaa7d3e030df774c78dd9ea825a301ea22 - template/tools/review_sheets.py: SHA-256 c1d174bf41c7855b6773d6c69b76a597abacb80f0952823e95b44248654fa0c8 - template/tools/stills.mjs: SHA-256 4a4cb4db4fe82b5b2a6c7d67a3cc8a6ed9a49df7bf3a2c7dc2697dc1db454a23 - template/tools/style_palette_sheet.py: SHA-256 a2ee1be4cea9c2047cf67f2bf78608b7b295ac7fadc90505064d6ad7caafc785 - template/tools/transcribe_align_mms.py: SHA-256 0f2ed4c25081e593ec3cce270a2e9ed4e8623fd25212d5c4a43f7ac90c70ee2e - template/tools/transcribe_kana.py: SHA-256 1ecd10c9bd222a493a254df388938bc1ede05aca0dbb33b083be98b098822659 - template/tools/transcribe_lines.py: SHA-256 bab00b724766ee27fd17a11c3c156e5a1fdda3235a912b05faf93e831b083820 - template/tools/transcribe_onset_probe.py: SHA-256 2ed22b4f4c7a7d458af2a876639d60268e9a5dec54d83eedd30dc19448444bb2 - template/tools/transcribe_prep.py: SHA-256 1c3f281be221f0628e326182c3f6c572e51da9a37b58df91ad829ef40394bbe0 - template/tools/transcribe_reconcile.py: SHA-256 ef1bb1affacaaca34dd1d7dfb1efb44b9603f42558cf17dc31292051eea3d2a4 - template/tools/transcribe_score.py: SHA-256 cfcd0962a736c576fb57fd1fc8df9fbf74f9392d404f7137c8dc024c3fe6a013 - template/tools/transcribe_separate.py: SHA-256 d5cdc0733736ec3e514d016f9a954993022aa39e24aac54be9662201f3a6a173 - template/tools/transcribe_translation.py: SHA-256 8d980c5b905ba1880a97835fa8c98115e1ebc5c000f9acdc39ccf00fb8524daf - template/tools/transcribe_vocal_activity.py: SHA-256 0fa360fa21eb44dccd8e7ebb9e466ca86abc60a08e0c2ad489cfea747091451c - template/tools/transcribe_whisper.py: SHA-256 e54f6bbad3c6476858a180516632b9d15500cd67d350215711803100ceaf3370 - template/tools/verify_style_snippets.mjs: SHA-256 419040305e1bead798727f23320626b102e4eaef18400ec44d0a1a0ee6c6eb58 If a file does not match, it changed since the listing was prepared: do not install it yet, tell me what you found and let me decide. 2. Read SKILL.md in full, skim the references, the two scripts (scripts/check_env.py, scripts/new_project.py) and the template's setup files and tools, and tell me in plain words: what the skill does when used, which services it connects to, whether it reads or sends any personal information or keys, and anything that seems unusual. Stop on any red flag and tell me before going further. Confirm these points from the files: - The skill folder holds 116 files (1490538 bytes in all): SKILL.md (12,262 bytes), 10 method references, 2 Python scripts, and the whole template/ project (engine, scene library, JIZURA adapter pages, tools, Blender shot scripts, demo, palettes and LUTs, font licence texts). The 残光 case study in examples/zanko/ and the README showcase images are NOT part of the skill folder and are not installed; SKILL.md points to them online on github.com / raw.githubusercontent.com only if you go looking for the case study at use time. The 残光 song, lyrics and artwork are © NikusonP, all rights reserved, and are not covered by the kit's MIT licence — never reuse them as material. - Nothing is sent anywhere during installation itself; the only download at install time is the skill folder from GitHub at the pinned commit. Do NOT run anything from the folder during this install: no scripts/new_project.py, no scripts/check_env.py, no template/setup.sh or setup.ps1, no npm install, no pip install, no font download, no JIZURA clone and no rendering. All of that is project setup, a use-time step that only starts when I ask you to make a video, in a project folder I name. - At use time, everything is disclosed here before it happens. Project setup (new_project.py --setup, inside a project I name) downloads: Playwright from npm; the Python packages of template/requirements.txt from PyPI (librosa, numpy, scipy, soundfile, pillow, matplotlib, opencv-python-headless); about 260 MB of Google Fonts files through the GitHub API (api.github.com/repos/google/fonts, download URLs from that API — tools/fetch_fonts.py reads a GITHUB_TOKEN environment variable only if I have set one myself, and sends it only as a Bearer header to api.github.com to raise the rate limit); and JIZURA from github.com/852wa/JIZURA, cloned at its tested commit fc16bfe43ea4a6c25a21f1caf04d17326de14f00 into the project's vendor/ folder. With the lyrics option, setup also installs faster-whisper, onnxruntime, huggingface_hub and pykakasi from PyPI, and the manual forced-alignment step installs torch 2.8.0 / torchaudio 2.8.0 from download.pytorch.org/whl/cpu into the project's vendor/pydeps_torch folder. - At use time, models are downloaded on first use and cached locally: faster-whisper's Whisper large-v3 model and the UVR MDX-Net vocal-separation models are fetched from Hugging Face (cached in ~/.cache/huggingface), and torchaudio's MMS forced-alignment model (about 1.18 GB, CC-BY-NC 4.0 — non-commercial, see above) is fetched by torchaudio. The audio and lyrics themselves are processed locally; no tool in the kit sends my song or my lyrics to a transcription service. - At use time, image generation is the one step that sends content out: tools/imagegen.py drives my local Codex CLI (codex exec), so the image prompts and any reference images I attach for a job are sent to OpenAI's image generation through my own Codex login, under OpenAI's terms; Codex saves the results under ~/.codex/generated_images/ and the tool copies them into the project. If I use a different image generator instead, its own terms apply the same way. Never invent a character likeness: the pipeline's rule is an original character anchored on one master reference, never an imitation of an existing character. - At use time, rendering is local: Playwright drives Edge or Chrome headless against a tiny static server on 127.0.0.1, ffmpeg encodes (NVENC on an NVIDIA GPU when present, x264 otherwise), and Blender 5.x, when present, renders the optional toon-3D shots locally. One optional extra sends files out, only if I explicitly ask for a public share link: tools/gigafile_upload.mjs uploads the files I name to gigafile.nu, a public file-sharing site, and saves the download links as JSON — never run it on your own initiative. - The tools read only ordinary configuration from the environment, for finding programs and folders: CODEX_BIN / CODEX_HOME, BLENDER, JIZURA_DIR / JIZURA_REF, FFMPEG / FFPROBE, PYTHON, BROWSER_CHANNEL, FONT_DIRS, TORCH_DEPS_DIR, PLAYWRIGHT_BROWSERS_PATH, and the optional GITHUB_TOKEN described above. No file in the skill reads browser stores, SSH keys, .env files or any credential store, and nothing uploads the song, the lyrics or the project anywhere except the Codex image-generation sends and the optional GigaFile upload disclosed above. 3. When I say "yes, install", install it as a skill: copy the whole skills/vocaloid-style-mv folder into the agent's skills directory, in a folder named "vocaloid-style-mv", keeping all 116 files and their subfolders (references/, scripts/, template/). The upstream route (copying skills/vocaloid-style-mv to ~/.claude/skills/) installs the same folder; use it as long as every file matches its fingerprint. 4. Verify with no network calls: frontmatter of SKILL.md valid (name: vocaloid-style-mv), all files in place, fingerprints still matching on the installed copy. 5. Report what was installed, where, and what I still need to do myself (for example: provide a song and its official lyrics myself when I want a video, install Node, Python, ffmpeg and a browser myself if they are missing, log in to Codex myself if I want its image generation, and decide myself about the optional pieces — Blender, the lyric-timing models with the MMS non-commercial licence, and any GigaFile upload; using the skill is a separate step that only starts when I ask for it, and every use-time download and send disclosed above happens only then, in a project I name). GitHub is optional: if I have a GitHub account or the gh CLI, you may use it; otherwise public access is fine. Never require it unless it's in the prerequisites above. Rules: don't touch anything outside the temp folder and the install target. If anything looks off, stop and ask me.
Saved to your recent installs. Find it anytime on /connect.
Questions
How do I install a build?
Every product page includes a copy-paste install prompt. Paste it into your Muse and it sets the build up for you — no manual configuration.
Where does my money go?
Straight to the seller. Skill Harbor never processes payments: checkout happens on the seller’s own page, usually Stripe.
What does the ✓ next to a creator’s name mean?
It means we confirmed the identity of the person behind the listing. It says nothing about the code itself — always check a build before installing it.