user_id = await get_user() if not user_id: return json.dumps({"status": "error", "message": "未登录"}, ensure_ascii=False) mode = params_kw.get('mode', '') title = params_kw.get('title', '') lyrics = params_kw.get('lyrics', '') if not mode: return json.dumps({"status": "error", "message": "缺少mode参数"}, ensure_ascii=False) submit_data = { "mode": mode, "title": title, "lyrics": lyrics, "user_id": user_id, } # 收集其他可选参数 for key in ['input_audio', 'input_video', 'outline', 'lyricist', 'composer', 'scene']: val = params_kw.get(key, '') if val: submit_data[key] = val try: result = await hermes_pipeline_submit(submit_data) return json.dumps(result, ensure_ascii=False) except Exception as e: return json.dumps({"status": "error", "message": str(e)}, ensure_ascii=False)