- Removed the unsafe `PymssLoadAudioBatch` node and its related registrations, locale entries, and example workflow. - Kept the `Upload Audio` button, but restricted `/comfy-mss/upload-audio` to local clients only (`comfy_mss/services/routes.py:30-36`). - Uploads are always saved under ComfyUI's input directory, with filename validation and `realpath`/`commonpath` checks to prevent path traversal. - Migrated node and button translations to ComfyUI's official locale system using `locales/<language>/main.json` and `/i18n`.
1 line
10 KiB
JSON
1 line
10 KiB
JSON
{"id":"eb72c77e-af12-439d-822b-83dc06f9b41a","revision":0,"last_node_id":12,"last_link_id":21,"nodes":[{"id":1,"type":"PreviewAudio","pos":[1573.1736893765265,-443.72588645264756],"size":[270,88],"flags":{},"order":2,"mode":0,"inputs":[{"color_off":"#22c55e","color_on":"#22c55e","localized_name":"audio","name":"audio","type":"AUDIO","link":1},{"localized_name":"audioUI","name":"audioUI","type":"AUDIO_UI","widget":{"name":"audioUI"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.22.0","Node name for S&R":"PreviewAudio"},"widgets_values":[]},{"id":3,"type":"pymss_load_audio","pos":[1199.173689376527,-440.42588645264647],"size":[260,102],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"audio","name":"audio","type":"COMBO","widget":{"name":"audio"},"link":null},{"color_off":"#f2c94c","color_on":"#f2c94c","localized_name":"input_name","name":"input_name","shape":7,"type":"STRING","widget":{"name":"input_name"},"link":null}],"outputs":[{"color_off":"#22c55e","color_on":"#22c55e","label":"audio","localized_name":"audio","name":"audio","type":"AUDIO","links":[1,15]},{"color_off":"#f2c94c","color_on":"#f2c94c","label":"audio_name","localized_name":"audio_name","name":"audio_name","type":"STRING","links":[10,12]}],"properties":{"aux_id":"pymss-project/comfy-mss","ver":"e955f1aa70b3d456ac291ed331f5854af65ef257","Node name for S&R":"pymss_load_audio"},"widgets_values":["input.wav",null,null]},{"id":11,"type":"pymss_vr_separate","pos":[1500.5736893765302,-306.2258864526478],"size":[420,262],"flags":{},"order":3,"mode":0,"inputs":[{"color_off":"#22c55e","color_on":"#22c55e","label":"audio","localized_name":"audio","name":"audio","type":"AUDIO","link":15},{"color_off":"#f472b6","color_on":"#f472b6","label":"params","localized_name":"params","name":"params","shape":7,"type":"PYMSS_VR_PARAMS","link":14},{"localized_name":"model_name","name":"model_name","type":"COMBO","widget":{"name":"model_name"},"link":null},{"localized_name":"device","name":"device","type":"COMBO","widget":{"name":"device"},"link":null},{"localized_name":"download_missing","name":"download_missing","type":"BOOLEAN","widget":{"name":"download_missing"},"link":null},{"localized_name":"source","name":"source","type":"COMBO","widget":{"name":"source"},"link":null},{"color_off":"#f2c94c","color_on":"#f2c94c","localized_name":"device_ids","name":"device_ids","shape":7,"type":"STRING","widget":{"name":"device_ids"},"link":null},{"localized_name":"debug","name":"debug","shape":7,"type":"BOOLEAN","widget":{"name":"debug"},"link":null}],"outputs":[{"color_off":"#22c55e","color_on":"#22c55e","label":"Vocals (Audio)","localized_name":"stem_1 (Audio)","name":"Vocals (Audio)","type":"AUDIO","links":[16,20]},{"color_off":"#f2c94c","color_on":"#f2c94c","label":"Vocals (String)","localized_name":"stem_1 (String)","name":"Vocals (String)","type":"STRING","links":[18]},{"color_off":"#22c55e","color_on":"#22c55e","label":"Instrumental (Audio)","localized_name":"stem_2 (Audio)","name":"Instrumental (Audio)","type":"AUDIO","links":[17,21]},{"color_off":"#f2c94c","color_on":"#f2c94c","label":"Instrumental (String)","localized_name":"stem_2 (String)","name":"Instrumental (String)","type":"STRING","links":[19]}],"properties":{"aux_id":"pymss-project/comfy-mss","ver":"e955f1aa70b3d456ac291ed331f5854af65ef257","Node name for S&R":"pymss_vr_separate"},"widgets_values":["[legacy_vr/vr_backing_vocal] UVR-BVE-4B_SN-44100-1.pth","auto",true,"modelscope","0","0",false]},{"id":12,"type":"pymss_vr_params","pos":[1195.8736893765272,-273.22588645264693],"size":[260,226],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"batch_size","name":"batch_size","type":"INT","widget":{"name":"batch_size"},"link":null},{"localized_name":"window_size","name":"window_size","type":"INT","widget":{"name":"window_size"},"link":null},{"localized_name":"aggression","name":"aggression","type":"INT","widget":{"name":"aggression"},"link":null},{"localized_name":"enable_tta","name":"enable_tta","type":"BOOLEAN","widget":{"name":"enable_tta"},"link":null},{"localized_name":"high_end_process","name":"high_end_process","type":"BOOLEAN","widget":{"name":"high_end_process"},"link":null},{"localized_name":"enable_post_process","name":"enable_post_process","type":"BOOLEAN","widget":{"name":"enable_post_process"},"link":null},{"localized_name":"post_process_threshold","name":"post_process_threshold","type":"FLOAT","widget":{"name":"post_process_threshold"},"link":null},{"localized_name":"normalize","name":"normalize","type":"BOOLEAN","widget":{"name":"normalize"},"link":null}],"outputs":[{"color_off":"#f472b6","color_on":"#f472b6","label":"vr_params","localized_name":"vr_params","name":"vr_params","type":"PYMSS_VR_PARAMS","links":[14]}],"properties":{"aux_id":"pymss-project/comfy-mss","ver":"e955f1aa70b3d456ac291ed331f5854af65ef257","Node name for S&R":"pymss_vr_params"},"widgets_values":[1,512,5,false,false,false,0.2,false]},{"id":10,"type":"StringConcatenate","pos":[2027.1736893765283,-275.9258864526468],"size":[400,200],"flags":{"collapsed":true},"order":5,"mode":0,"inputs":[{"color_off":"#f2c94c","color_on":"#f2c94c","localized_name":"string_a","name":"string_a","type":"STRING","widget":{"name":"string_a"},"link":12},{"color_off":"#f2c94c","color_on":"#f2c94c","localized_name":"string_b","name":"string_b","type":"STRING","widget":{"name":"string_b"},"link":18},{"color_off":"#f2c94c","color_on":"#f2c94c","localized_name":"delimiter","name":"delimiter","type":"STRING","widget":{"name":"delimiter"},"link":null}],"outputs":[{"color_off":"#f2c94c","color_on":"#f2c94c","localized_name":"STRING","name":"STRING","type":"STRING","links":[6]}],"properties":{"cnr_id":"comfy-core","ver":"0.22.0","Node name for S&R":"StringConcatenate"},"widgets_values":["","","_"]},{"id":9,"type":"StringConcatenate","pos":[2025.3736893765226,-215.42588645264783],"size":[400,200],"flags":{"collapsed":true},"order":7,"mode":0,"inputs":[{"color_off":"#f2c94c","color_on":"#f2c94c","localized_name":"string_a","name":"string_a","type":"STRING","widget":{"name":"string_a"},"link":10},{"color_off":"#f2c94c","color_on":"#f2c94c","localized_name":"string_b","name":"string_b","type":"STRING","widget":{"name":"string_b"},"link":19},{"color_off":"#f2c94c","color_on":"#f2c94c","localized_name":"delimiter","name":"delimiter","type":"STRING","widget":{"name":"delimiter"},"link":null}],"outputs":[{"color_off":"#f2c94c","color_on":"#f2c94c","localized_name":"STRING","name":"STRING","type":"STRING","links":[8]}],"properties":{"cnr_id":"comfy-core","ver":"0.22.0","Node name for S&R":"StringConcatenate"},"widgets_values":["","","_"]},{"id":8,"type":"PreviewAudio","pos":[1967.5736893765259,-134.52588645264643],"size":[270,88],"flags":{},"order":6,"mode":0,"inputs":[{"color_off":"#22c55e","color_on":"#22c55e","localized_name":"audio","name":"audio","type":"AUDIO","link":17},{"localized_name":"audioUI","name":"audioUI","type":"AUDIO_UI","widget":{"name":"audioUI"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.22.0","Node name for S&R":"PreviewAudio"},"widgets_values":[]},{"id":5,"type":"PreviewAudio","pos":[1968.0736893765263,-442.6258864526464],"size":[270,88],"flags":{},"order":4,"mode":0,"inputs":[{"color_off":"#22c55e","color_on":"#22c55e","localized_name":"audio","name":"audio","type":"AUDIO","link":16},{"localized_name":"audioUI","name":"audioUI","type":"AUDIO_UI","widget":{"name":"audioUI"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.22.0","Node name for S&R":"PreviewAudio"},"widgets_values":[]},{"id":6,"type":"pymss_save_audio","pos":[2282.01368937653,-440.0958864526479],"size":[260,126],"flags":{},"order":8,"mode":0,"inputs":[{"color_off":"#22c55e","color_on":"#22c55e","label":"audio","localized_name":"audio","name":"audio","type":"AUDIO","link":20},{"color_off":"#f2c94c","color_on":"#f2c94c","label":"filename","localized_name":"filename","name":"filename","shape":7,"type":"STRING","link":6},{"localized_name":"output_format","name":"output_format","type":"COMBO","widget":{"name":"output_format"},"link":null},{"localized_name":"sample_rate","name":"sample_rate","type":"COMBO","widget":{"name":"sample_rate"},"link":null},{"localized_name":"wav_bit_depth","name":"wav_bit_depth","type":"COMBO","widget":{"name":"wav_bit_depth"},"link":null},{"localized_name":"flac_bit_depth","name":"flac_bit_depth","type":"COMBO","widget":{"name":"flac_bit_depth"},"link":null},{"localized_name":"mp3_bit_rate","name":"mp3_bit_rate","type":"COMBO","widget":{"name":"mp3_bit_rate"},"link":null}],"outputs":[],"properties":{"aux_id":"pymss-project/comfy-mss","ver":"e955f1aa70b3d456ac291ed331f5854af65ef257","Node name for S&R":"pymss_save_audio"},"widgets_values":["wav","44100","FLOAT","PCM_24","320k"]},{"id":7,"type":"pymss_save_audio","pos":[2285.413689376527,-172.6958864526483],"size":[260,126],"flags":{},"order":9,"mode":0,"inputs":[{"color_off":"#22c55e","color_on":"#22c55e","label":"audio","localized_name":"audio","name":"audio","type":"AUDIO","link":21},{"color_off":"#f2c94c","color_on":"#f2c94c","label":"filename","localized_name":"filename","name":"filename","shape":7,"type":"STRING","link":8},{"localized_name":"output_format","name":"output_format","type":"COMBO","widget":{"name":"output_format"},"link":null},{"localized_name":"sample_rate","name":"sample_rate","type":"COMBO","widget":{"name":"sample_rate"},"link":null},{"localized_name":"wav_bit_depth","name":"wav_bit_depth","type":"COMBO","widget":{"name":"wav_bit_depth"},"link":null},{"localized_name":"flac_bit_depth","name":"flac_bit_depth","type":"COMBO","widget":{"name":"flac_bit_depth"},"link":null},{"localized_name":"mp3_bit_rate","name":"mp3_bit_rate","type":"COMBO","widget":{"name":"mp3_bit_rate"},"link":null}],"outputs":[],"properties":{"aux_id":"pymss-project/comfy-mss","ver":"e955f1aa70b3d456ac291ed331f5854af65ef257","Node name for S&R":"pymss_save_audio"},"widgets_values":["wav","44100","FLOAT","PCM_24","320k"]}],"links":[[1,3,0,1,0,"AUDIO"],[6,10,0,6,1,"STRING"],[8,9,0,7,1,"STRING"],[10,3,1,9,0,"STRING"],[12,3,1,10,0,"STRING"],[14,12,0,11,1,"PYMSS_VR_PARAMS"],[15,3,0,11,0,"AUDIO"],[16,11,0,5,0,"AUDIO"],[17,11,2,8,0,"AUDIO"],[18,11,1,10,1,"STRING"],[19,11,3,9,1,"STRING"],[20,11,0,6,0,"AUDIO"],[21,11,2,7,0,"AUDIO"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.8264462809917354,"offset":[-1051.4036893765276,684.8558864526453]}},"version":0.4} |