Skip to content

Commit 47d4bce

Browse files
committed
fix: improve error handling and logging in video generation process
1 parent 2060012 commit 47d4bce

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

apps/application/flow/step_node/image_to_video_step_node/impl/base_image_to_video_node.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from models_provider.tools import get_model_instance_by_model_workspace_id
1616
from django.utils.translation import gettext
1717

18+
1819
class BaseImageToVideoNode(IImageToVideoNode):
1920
def save_context(self, details, workflow_manage):
2021
self.context['answer'] = details.get('answer')
@@ -47,7 +48,7 @@ def execute(self, model_id, prompt, negative_prompt, dialogue_number, dialogue_t
4748
last_frame_url = self.get_file_base64(last_frame_url)
4849
video_urls = ttv_model.generate_video(question, negative_prompt, first_frame_url, last_frame_url)
4950
# 保存图片
50-
if video_urls is None:
51+
if video_urls is None or video_urls == '':
5152
return NodeResult({'answer': gettext('Failed to generate video')}, {})
5253
file_name = 'generated_video.mp4'
5354
if isinstance(video_urls, str) and video_urls.startswith('http'):
@@ -71,7 +72,7 @@ def execute(self, model_id, prompt, negative_prompt, dialogue_number, dialogue_t
7172
'history_message': history_message, 'question': question}, {})
7273

7374
def get_file_base64(self, image_url):
74-
try :
75+
try:
7576
if isinstance(image_url, list):
7677
image_url = image_url[0].get('file_id')
7778
if isinstance(image_url, str) and not image_url.startswith('http'):
@@ -87,7 +88,6 @@ def get_file_base64(self, image_url):
8788
raise ValueError(
8889
gettext("Failed to obtain the image"))
8990

90-
9191
def generate_history_ai_message(self, chat_record):
9292
for val in chat_record.details.values():
9393
if self.node.id == val['node_id'] and 'image_list' in val:

apps/models_provider/impl/aliyun_bai_lian_model_provider/model/ttv.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,8 @@ def generate_video(self, prompt, negative_prompt=None, first_frame_url=None, las
8585
# --- 异步提交任务 ---
8686
rsp = self._safe_call(VideoSynthesis.async_call, **params)
8787
if rsp.status_code != HTTPStatus.OK:
88-
maxkb_logger.info('提交任务失败,status_code: %s, code: %s, message: %s' %
89-
(rsp.status_code, rsp.code, rsp.message))
90-
return None
88+
maxkb_logger.info(f'提交任务失败,status_code: {rsp.status_code}, code: {rsp.code}, message: {rsp.message}')
89+
raise RuntimeError(f'提交任务失败,status_code: {rsp.status_code}, code: {rsp.code}, message: {rsp.message}')
9190

9291
maxkb_logger.info("task_id:", rsp.output.task_id)
9392

@@ -96,15 +95,16 @@ def generate_video(self, prompt, negative_prompt=None, first_frame_url=None, las
9695
if status.status_code == HTTPStatus.OK:
9796
maxkb_logger.info("当前任务状态:", status.output.task_status)
9897
else:
99-
maxkb_logger.error('获取任务状态失败,status_code: %s, code: %s, message: %s' %
100-
(status.status_code, status.code, status.message))
98+
maxkb_logger.error(
99+
f'获取任务状态失败,status_code: {status.status_code}, code: {status.code}, message: {status.message}')
100+
raise RuntimeError(
101+
f'获取任务状态失败,status_code: {status.status_code}, code: {status.code}, message: {status.message}')
101102

102103
# --- 等待任务完成 ---
103104
rsp = self._safe_call(VideoSynthesis.wait, task=rsp, api_key=self.api_key)
104105
if rsp.status_code == HTTPStatus.OK:
105106
maxkb_logger.info("视频生成完成!视频 URL:", rsp.output.video_url)
106107
return rsp.output.video_url
107108
else:
108-
maxkb_logger.error('生成失败,status_code: %s, code: %s, message: %s' %
109-
(rsp.status_code, rsp.code, rsp.message))
110-
return None
109+
maxkb_logger.error(f'生成失败,status_code: {rsp.status_code}, code: {rsp.code}, message: {rsp.message}')
110+
raise RuntimeError(f'生成失败,status_code: {rsp.status_code}, code: {rsp.code}, message: {rsp.message}')

0 commit comments

Comments
 (0)