changed to sync

This commit is contained in:
harry
2024-03-18 21:39:47 +08:00
parent 59ae82a47d
commit 6bfb04f755
5 changed files with 9 additions and 10 deletions

View File

@@ -16,7 +16,7 @@ router = new_router()
@router.post("/videos", response_model=TaskResponse, summary="使用主题来生成短视频") @router.post("/videos", response_model=TaskResponse, summary="使用主题来生成短视频")
async def create_video(request: Request, body: TaskVideoRequest): def create_video(request: Request, body: TaskVideoRequest):
task_id = utils.get_uuid() task_id = utils.get_uuid()
request_id = base.get_task_id(request) request_id = base.get_task_id(request)
try: try:
@@ -26,7 +26,7 @@ async def create_video(request: Request, body: TaskVideoRequest):
} }
body_dict = body.dict() body_dict = body.dict()
task.update(body_dict) task.update(body_dict)
result = await tm.start(task_id=task_id, params=body) result = tm.start(task_id=task_id, params=body)
task["result"] = result task["result"] = result
logger.success(f"video created: {utils.to_json(task)}") logger.success(f"video created: {utils.to_json(task)}")
return utils.get_response(200, task) return utils.get_response(200, task)
@@ -35,7 +35,7 @@ async def create_video(request: Request, body: TaskVideoRequest):
@router.get("/tasks/{task_id}", response_model=TaskQueryResponse, summary="查询任务状态") @router.get("/tasks/{task_id}", response_model=TaskQueryResponse, summary="查询任务状态")
async def get_task(request: Request, task_id: str = Path(..., description="任务ID"), def get_task(request: Request, task_id: str = Path(..., description="任务ID"),
query: TaskQueryRequest = Depends()): query: TaskQueryRequest = Depends()):
request_id = base.get_task_id(request) request_id = base.get_task_id(request)
data = query.dict() data = query.dict()

View File

@@ -37,7 +37,6 @@ def _generate_response(prompt: str) -> str:
api_key = config.app.get("oneapi_api_key") api_key = config.app.get("oneapi_api_key")
model_name = config.app.get("oneapi_model_name") model_name = config.app.get("oneapi_model_name")
base_url = config.app.get("oneapi_base_url", "") base_url = config.app.get("oneapi_base_url", "")
model_name = config.app.get("g4f_model_name")
else: else:
raise ValueError("llm_provider is not set, please set it in the config.toml file.") raise ValueError("llm_provider is not set, please set it in the config.toml file.")

View File

@@ -21,7 +21,7 @@ def _parse_voice(name: str):
return _voice, _lang return _voice, _lang
async def start(task_id, params: VideoParams): def start(task_id, params: VideoParams):
""" """
{ {
"video_subject": "", "video_subject": "",
@@ -60,7 +60,7 @@ async def start(task_id, params: VideoParams):
subtitle_path = path.join(utils.task_dir(task_id), f"subtitle.srt") subtitle_path = path.join(utils.task_dir(task_id), f"subtitle.srt")
logger.info("\n\n## generating audio") logger.info("\n\n## generating audio")
sub_maker =await voice.tts(text=script, voice_name=voice_name, voice_file=audio_file) sub_maker = voice.tts(text=script, voice_name=voice_name, voice_file=audio_file)
subtitle_provider = config.app.get("subtitle_provider", "").strip().lower() subtitle_provider = config.app.get("subtitle_provider", "").strip().lower()
logger.info(f"\n\n## generating subtitle, provider: {subtitle_provider}") logger.info(f"\n\n## generating subtitle, provider: {subtitle_provider}")

View File

@@ -8,7 +8,7 @@ import edge_tts
from app.utils import utils from app.utils import utils
async def tts(text: str, voice_name: str, voice_file: str) -> SubMaker: def tts(text: str, voice_name: str, voice_file: str) -> SubMaker:
logger.info(f"start, voice name: {voice_name}") logger.info(f"start, voice name: {voice_name}")
async def _do() -> SubMaker: async def _do() -> SubMaker:
@@ -22,7 +22,7 @@ async def tts(text: str, voice_name: str, voice_file: str) -> SubMaker:
sub_maker.create_sub((chunk["offset"], chunk["duration"]), chunk["text"]) sub_maker.create_sub((chunk["offset"], chunk["duration"]), chunk["text"])
return sub_maker return sub_maker
sub_maker = await _do() sub_maker = asyncio.run(_do())
logger.info(f"completed, output file: {voice_file}") logger.info(f"completed, output file: {voice_file}")
return sub_maker return sub_maker
@@ -100,7 +100,7 @@ if __name__ == "__main__":
for voice_name in voice_names: for voice_name in voice_names:
voice_file = f"{temp_dir}/tts-{voice_name}.mp3" voice_file = f"{temp_dir}/tts-{voice_name}.mp3"
subtitle_file = f"{temp_dir}/tts.mp3.srt" subtitle_file = f"{temp_dir}/tts.mp3.srt"
sub_maker = await tts(text=text, voice_name=voice_name, voice_file=voice_file) sub_maker = tts(text=text, voice_name=voice_name, voice_file=voice_file)
create_subtitle(sub_maker=sub_maker, text=text, subtitle_file=subtitle_file) create_subtitle(sub_maker=sub_maker, text=text, subtitle_file=subtitle_file)

View File

@@ -151,4 +151,4 @@ if start_button:
logger.info("开始生成视频") logger.info("开始生成视频")
asyncio.run(tm.start(task_id=task_id, params=cfg)) tm.start(task_id=task_id, params=cfg)