FireRedAudio 桌面项目交换 · T8star-Aix
Bring a desktop project into ComfyUI without rebuilding it
- 角色音色库
- 脚本计划
- 已采用 Take
- 载入报告
If you've organized a script in the author's desktop companion app and hit "导出 ComfyUI 项目 JSON", this is the node that receives it. ProjectExchange loads that JSON and restores the three things you'd otherwise have to rebuild by hand: the role voice bank, the script plan, and the already-adopted takes as an AudioBatch. One input, four outputs, and a project that was assembled outside ComfyUI is suddenly inside it, ready to keep producing.
How it works
The node reads a single path - exchange_path, pointing at the exported JSON - and runs load_project_exchange. The pack is careful about integrity here: it validates each reference audio's SHA-256 against what the project records, so if a file was moved or rewritten since export, you get a clear error instead of a silent voice-clone disaster. It's the same non-destructive, hash-audited philosophy that runs through the whole pack - the exchange file is treated as a contract, not a suggestion.
Outputs:
角色音色库(voice bank) - wires straight into ScriptParser or BatchDubbing.脚本计划(script plan) - the parsed, validated lines.已采用 Take(adopted takes as an AudioBatch) - the takes you already picked in the desktop app, ready for TimelineRender or ProductionPackage.载入报告- what was restored, including any issues found.
No model input needed - this is pure file loading. It works before you've even downloaded weights, which makes it a good smoke test for the exchange format itself.
Where it fits
This is the bridge between two worlds, and honestly it's only useful if you live in both. If you've never touched the desktop app, you can ignore this node - everything it produces can be built natively from Load Audio → VoiceProfile → ScriptParser → BatchDubbing. But if you or a collaborator does script planning and take-adoption in the desktop pack, this is the only sane way to get that work into ComfyUI: the export JSON preserves the voice bank, the scene/role structure, and which takes were adopted, and this node unpacks all of it in one shot.
The README's 22_production_package example uses exactly this: exchange JSON in, AudioBatch out, straight into ProductionPackage for a full delivery. It also pairs with the project's manifest/recovery machinery - an exchanged batch carries the same manifest contract as a natively generated one, so recovery and resume nodes treat it the same way.
Installing and the gotcha
Standard pack install (ComfyUI Manager search comfyui-fireredaudio-T8, or clone + python scripts\setup_runtime.py). The real gotcha is file locations: the exchange references reference-audio files by their original paths, and the SHA-256 check means the files need to be exactly where they were. If you copied the project to a new machine or moved your recordings, expect the validation to complain - fix the paths (or re-export from the desktop app on the new machine) rather than fighting the hash check. It's annoying the first time, and it's also exactly the guardrail that stops a wrong-voice batch from slipping through.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| exchange_path | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| 角色音色库 | T8_FIREREDAUDIO_VOICE_BANK | — |
| 脚本计划 | T8_FIREREDAUDIO_SCRIPT_PLAN | — |
| 已采用 Take | T8_FIREREDAUDIO_AUDIO_BATCH | — |
| 载入报告 | STRING | — |