From 30667e5c102974b320fdec7f979471b13c78b13a Mon Sep 17 00:00:00 2001 From: yumoqing Date: Tue, 7 Jul 2026 14:05:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20demucs=E6=94=B9=E4=B8=BAasync(=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E2=86=92=E8=BD=AE=E8=AF=A2=E2=86=92usage=E8=BF=94?= =?UTF-8?q?=E5=9B=9E),=20=E5=85=A8=E9=93=BE=E8=B7=AF=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/ktv_uapi_migration.sql | 32 +++++++------------------- scripts/ktv_uapi_migration_p2_uapi.sql | 8 +++---- 2 files changed, 12 insertions(+), 28 deletions(-) diff --git a/scripts/ktv_uapi_migration.sql b/scripts/ktv_uapi_migration.sql index 5458c7cf..40d505c3 100644 --- a/scripts/ktv_uapi_migration.sql +++ b/scripts/ktv_uapi_migration.sql @@ -51,12 +51,6 @@ INSERT INTO uapiio (id, name, description, input_fields) VALUES ( '{"audio_file":{"type":"string","required":true,"description":"音频文件URL"},"scene":{"type":"string","required":false,"default":"pop","description":"场景类型"}}' ) ON DUPLICATE KEY UPDATE description=VALUES(description), input_fields=VALUES(input_fields); --- 音乐合成(异步) -INSERT INTO uapiio (id, name, description, input_fields) VALUES ( - 'ktv_synth_generate_io', 'KTV音乐合成', 'AI歌声合成(异步任务)', - '{"lyrics":{"type":"string","required":true,"description":"歌词文本"},"style":{"type":"string","required":false,"default":"pop","description":"演唱风格"},"audio_file":{"type":"string","required":false,"description":"参考音频URL(声音克隆)"}}' -) ON DUPLICATE KEY UPDATE description=VALUES(description), input_fields=VALUES(input_fields); - -- 合成状态查询 INSERT INTO uapiio (id, name, description, input_fields) VALUES ( 'ktv_synth_status_io', 'KTV合成状态', '查询音乐合成任务状态', @@ -98,10 +92,10 @@ UPDATE uapi SET stream='sync',headers='{"Content-Type":"application/json"}', response='{%if error%}{"error":"{{error}}"}{%else%}{"status":"{{status}}","text":"{{text}}","segments":{{json.dumps(segments,ensure_ascii=False)}},"usage":{{json.dumps(usage,ensure_ascii=False)}}}{%endif%}', ioid='ktv_asr_transcribe_io' WHERE id='uapi_ktv_asr_transcribe'; --- 2. Demucs音频分离 (sync) -UPDATE uapi SET stream='sync',headers='{"Content-Type":"application/json"}', - data='{"audio_file":"{{audio_file}}"}', - response='{%if error%}{"error":"{{error}}"}{%else%}{"status":"{{status}}","vocals_url":"{{vocals_url}}","accompaniment_url":"{{accompaniment_url}}","usage":{{json.dumps(usage,ensure_ascii=False)}}}{%endif%}', +-- 2. Demucs音频分离 (async) +UPDATE uapi SET stream='async',headers='{"Content-Type":"application/json"}', + data='{"audio_path":"{{audio_file}}"{%if task_type%},"task_type":"{{task_type}}"{%endif%}}', + response='{"taskid":"{{task_id}}","taskstatus":"PENDING","status":"PENDING"}', ioid='ktv_demucs_separate_io' WHERE id='uapi_ktv_demucs_separate'; -- 3. 人脸检测 (sync) @@ -140,13 +134,7 @@ UPDATE uapi SET stream='sync',headers='{"Content-Type":"application/json"}', response='{%if error%}{"error":"{{error}}"}{%else%}{"status":"{{status}}","score":{{score}},"details":{{json.dumps(details,ensure_ascii=False)}},"usage":{{json.dumps(usage,ensure_ascii=False)}}}{%endif%}', ioid='ktv_songrate_evaluate_io' WHERE id='uapi_ktv_songrate_evaluate'; --- 9. 音乐合成 (async提交) -UPDATE uapi SET stream='async',headers='{"Content-Type":"application/json"}', - data='{"lyrics":"{{lyrics}}"{%if style%},"style":"{{style}}"{%endif%}{%if audio_file%},"audio_file":"{{audio_file}}"{%endif%}}', - response='{"taskid":"{{task_id}}","taskstatus":"PENDING"}', - ioid='ktv_synth_generate_io' WHERE id='uapi_ktv_synth_generate'; - --- 10. 合成状态查询 (sync) +-- 9. 合成状态查询 (sync) UPDATE uapi SET stream='sync',headers='{"Content-Type":"application/json"}', data='{"task_id":"{{task_id}}"}', response='{%if error%}{"error":"{{error}}"}{%elif status=="SUCCEEDED"%}{"taskstatus":"SUCCEEDED","output_url":"{{output_url}}","usage":{{json.dumps(usage,ensure_ascii=False)}}}{%elif status=="FAILED"%}{"taskstatus":"FAILED","error":"{{error}}"}{%else%}{"taskstatus":"PENDING"}{%endif%}', @@ -177,7 +165,6 @@ UPDATE uapi SET stream='sync',headers='{"Content-Type":"application/json"}', ioid='ktv_video_eval_evaluate_io' WHERE id='uapi_ktv_video_eval_evaluate'; -- async query_apiname -UPDATE llm_api_map SET query_apiname='synth-status',query_period=5 WHERE llmid='llm_ktv_synth_generate'; UPDATE llm_api_map SET query_apiname='realesrgan-status',query_period=3 WHERE llmid='llm_ktv_realesrgan_upscale'; -- ppid (v1/models 过滤要求 ppid IS NOT NULL) @@ -240,7 +227,7 @@ INSERT INTO pricing_program (id,providerid,name) VALUES ('pp_ktv_subtitle','FZoJv7EUEdKL3pUt0BQ5S','KTV-字幕渲染'), ('pp_ktv_merge','FZoJv7EUEdKL3pUt0BQ5S','KTV-视频合并'), ('pp_ktv_songrate','FZoJv7EUEdKL3pUt0BQ5S','KTV-歌曲评分'), -('pp_ktv_synth','FZoJv7EUEdKL3pUt0BQ5S','KTV-音乐合成'), + ('pp_ktv_synth_status','FZoJv7EUEdKL3pUt0BQ5S','KTV-合成状态'), ('pp_ktv_realesrgan','FZoJv7EUEdKL3pUt0BQ5S','KTV-超分辨率'), ('pp_ktv_realesrgan_status','FZoJv7EUEdKL3pUt0BQ5S','KTV-超分状态'), @@ -257,7 +244,7 @@ UPDATE pricing_program_timing SET ppid='pp_ktv_face_compare' WHERE id='pt_ktv_fa UPDATE pricing_program_timing SET ppid='pp_ktv_subtitle' WHERE id='pt_ktv_subtitle_render'; UPDATE pricing_program_timing SET ppid='pp_ktv_merge' WHERE id='pt_ktv_merge_video'; UPDATE pricing_program_timing SET ppid='pp_ktv_songrate' WHERE id='pt_ktv_songrate_evaluate'; -UPDATE pricing_program_timing SET ppid='pp_ktv_synth' WHERE id='pt_ktv_synth_generate'; + UPDATE pricing_program_timing SET ppid='pp_ktv_synth_status' WHERE id='pt_ktv_synth_status'; UPDATE pricing_program_timing SET ppid='pp_ktv_realesrgan' WHERE id='pt_ktv_realesrgan_upscale'; UPDATE pricing_program_timing SET ppid='pp_ktv_realesrgan_status' WHERE id='pt_ktv_realesrgan_status'; @@ -316,7 +303,7 @@ UPDATE llm_api_map SET ppid='pp_ktv_face_compare' WHERE llmid='llm_ktv_face_comp UPDATE llm_api_map SET ppid='pp_ktv_subtitle' WHERE llmid='llm_ktv_subtitle_render'; UPDATE llm_api_map SET ppid='pp_ktv_merge' WHERE llmid='llm_ktv_merge_video'; UPDATE llm_api_map SET ppid='pp_ktv_songrate' WHERE llmid='llm_ktv_songrate_evaluate'; -UPDATE llm_api_map SET ppid='pp_ktv_synth' WHERE llmid='llm_ktv_synth_generate'; + UPDATE llm_api_map SET ppid='pp_ktv_synth_status' WHERE llmid='llm_ktv_synth_status'; UPDATE llm_api_map SET ppid='pp_ktv_realesrgan' WHERE llmid='llm_ktv_realesrgan_upscale'; UPDATE llm_api_map SET ppid='pp_ktv_realesrgan_status' WHERE llmid='llm_ktv_realesrgan_status'; @@ -351,9 +338,6 @@ UPDATE uapi SET data='{%set c=joiner(",")%}{{%if video_file%}{{c()}}"video_url": -- songrate: audio_file→audio_path UPDATE uapi SET data='{"audio_path":"{{audio_file}}"{%if scene%},"scene":"{{scene}}"{%endif%}}' WHERE id='uapi_ktv_songrate_evaluate'; --- synth-gen: audio_file→audio_path -UPDATE uapi SET data='{"lyrics":"{{lyrics}}"{%if style%},"style":"{{style}}"{%endif%}{%if audio_file%},"audio_path":"{{audio_file}}"{%endif%}}' WHERE id='uapi_ktv_synth_generate'; - -- synth-status: GET, params in query string, no body UPDATE uapi SET httpmethod='GET', data=NULL, path='/synth/api/synth-status?task_id={{task_id}}' WHERE id='uapi_ktv_synth_status'; diff --git a/scripts/ktv_uapi_migration_p2_uapi.sql b/scripts/ktv_uapi_migration_p2_uapi.sql index b7cac99a..9e1f2353 100644 --- a/scripts/ktv_uapi_migration_p2_uapi.sql +++ b/scripts/ktv_uapi_migration_p2_uapi.sql @@ -10,10 +10,10 @@ UPDATE uapi SET stream='sync',headers='{"Content-Type":"application/json"}', response='{%if error%}{"error":"{{error}}"}{%else%}{"status":"{{status}}","text":"{{text}}","segments":{{json.dumps(segments,ensure_ascii=False)}},"usage":{{json.dumps(usage,ensure_ascii=False)}}}{%endif%}', ioid='ktv_asr_transcribe_io' WHERE id='uapi_ktv_asr_transcribe'; --- 2. Demucs音频分离 (sync) -UPDATE uapi SET stream='sync',headers='{"Content-Type":"application/json"}', - data='{"audio_file":"{{audio_file}}"}', - response='{%if error%}{"error":"{{error}}"}{%else%}{"status":"{{status}}","vocals_url":"{{vocals_url}}","accompaniment_url":"{{accompaniment_url}}","usage":{{json.dumps(usage,ensure_ascii=False)}}}{%endif%}', +-- 2. Demucs音频分离 (async) +UPDATE uapi SET stream='async',headers='{"Content-Type":"application/json"}', + data='{"audio_path":"{{audio_file}}"{%if task_type%},"task_type":"{{task_type}}"{%endif%}}', + response='{"taskid":"{{task_id}}","taskstatus":"PENDING","status":"PENDING"}', ioid='ktv_demucs_separate_io' WHERE id='uapi_ktv_demucs_separate'; -- 3. 人脸检测 (sync)