smartwang commited on
Commit
f98e94b
·
1 Parent(s): ae0aa93
Files changed (1) hide show
  1. app_v1v2.py +19 -9
app_v1v2.py CHANGED
@@ -212,17 +212,27 @@ def main(args):
212
  with gr.Tabs():
213
  with gr.TabItem("V2 - Voice & Style Conversion"):
214
  v2_interface.render()
215
- # 针对 Interface,我们需要找到它内部的依赖项并赋值
216
- for dependency in v2_interface.dependencies:
217
- if dependency["api_name"] is not None: # 如果已有默认名则覆盖
218
- dependency["api_name"] = "convert_v2"
219
- else:
220
- # 强制指定第一个没有 api_name 的事件为 convert_v2
221
- dependency["api_name"] = "convert_v2"
222
  with gr.TabItem("V1 - Voice & Singing Voice Conversion"):
223
  v1_interface.render()
224
- for dependency in v1_interface.dependencies:
225
- dependency["api_name"] = "convert_v1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  # Launch the combined interface
227
  demo.launch()
228
 
 
212
  with gr.Tabs():
213
  with gr.TabItem("V2 - Voice & Style Conversion"):
214
  v2_interface.render()
 
 
 
 
 
 
 
215
  with gr.TabItem("V1 - Voice & Singing Voice Conversion"):
216
  v1_interface.render()
217
+
218
+ # --- 关键部分:手动定义一个隐藏的 API 端点 ---
219
+ # 即使你在 UI 上看不到它,Client 也可以通过 api_name 找到它
220
+ api_v2_btn = gr.Button("API V2", visible=False)
221
+ api_v2_btn.click(
222
+ fn=convert_voice_v2_wrapper,
223
+ inputs=v2_interface.input_components, # 自动获取 Interface 的输入
224
+ outputs=v2_interface.output_components, # 自动获取 Interface 的输出
225
+ api_name="convert_v2"
226
+ )
227
+
228
+ api_v1_btn = gr.Button("API V1", visible=False)
229
+ api_v1_btn.click(
230
+ fn=convert_voice_v1_wrapper,
231
+ inputs=v1_interface.input_components,
232
+ outputs=v1_interface.output_components,
233
+ api_name="convert_v1"
234
+ )
235
+
236
  # Launch the combined interface
237
  demo.launch()
238