diff --git a/video-gen-api/app/services/hot_opening_replicate_service.py b/video-gen-api/app/services/hot_opening_replicate_service.py index e3d88e9d..d06b9471 100644 --- a/video-gen-api/app/services/hot_opening_replicate_service.py +++ b/video-gen-api/app/services/hot_opening_replicate_service.py @@ -374,7 +374,8 @@ def _step_to_out(step: ModuleGenerationStep) -> HotOpeningStepOut: if error_message: from app.services.error_codes import ARK_ERRORS import re - match = re.search(r"code='([^']+)'", error_message) + # 兼容两种格式: code='xxx' 或 'code': 'xxx' + match = re.search(r"""code['"]?\s*[:=]\s*['"]([^'"]+)['"]""", error_message) if match: code = match.group(1) if code in ARK_ERRORS: diff --git a/video-gen-api/app/services/shot_replicate_flow_service.py b/video-gen-api/app/services/shot_replicate_flow_service.py index 1ecb7ad2..3cf1a14f 100644 --- a/video-gen-api/app/services/shot_replicate_flow_service.py +++ b/video-gen-api/app/services/shot_replicate_flow_service.py @@ -385,7 +385,8 @@ def _step_to_out(step: ModuleGenerationStep) -> ShotReplicateStepOut: if error_message: from app.services.error_codes import ARK_ERRORS import re - match = re.search(r"code='([^']+)'", error_message) + # 兼容两种格式: code='xxx' 或 'code': 'xxx' + match = re.search(r"""code['"]?\s*[:=]\s*['"]([^'"]+)['"]""", error_message) if match: code = match.group(1) if code in ARK_ERRORS: