完善视频复刻
This commit is contained in:
@@ -874,6 +874,8 @@ class VideoReplaceView(APIView):
|
||||
"user_credit_insufficient" if "余额不足" in message
|
||||
else "model_unavailable" if "模型未配置" in message
|
||||
else "provider_rate_limited" if "任务进行中" in message
|
||||
else "provider_unavailable" if "审核服务" in message
|
||||
else "content_rejected" if "合规审核" in message
|
||||
else "invalid_input"
|
||||
)
|
||||
public_error = classify_generation_error(
|
||||
@@ -911,19 +913,18 @@ class VideoReplaceView(APIView):
|
||||
|
||||
|
||||
class VideoReplacePollView(APIView):
|
||||
"""POST /api/ai/video-replace/<id>/poll/ —— 与自由创作共用 finalize,只认复刻任务。"""
|
||||
"""POST /api/ai/video-replace/<id>/poll/ —— 审核中推进送审,生成中走 finalize。"""
|
||||
|
||||
def post(self, request, task_id):
|
||||
from .free_video import finalize_free_video
|
||||
from .video_replace import is_video_replace_task, serialize_video_replace_task
|
||||
from .video_replace import advance_video_replace, is_video_replace_task, serialize_video_replace_task
|
||||
|
||||
team = get_current_team(request.user)
|
||||
task = _free_video_task_queryset(team).filter(id=task_id).first()
|
||||
if task is None or not is_video_replace_task(task):
|
||||
return Response({"detail": "任务不存在"}, status=status.HTTP_404_NOT_FOUND)
|
||||
if task.status in (AITask.Status.SUBMITTED, AITask.Status.POLLING):
|
||||
if task.status in (AITask.Status.CREATED, AITask.Status.SUBMITTED, AITask.Status.POLLING):
|
||||
try:
|
||||
task = finalize_free_video(task=task)
|
||||
task = advance_video_replace(task)
|
||||
except Exception: # noqa: BLE001 — 单次轮询失败不终结任务
|
||||
logger.warning("video replace poll failed for %s", task_id, exc_info=True)
|
||||
task = _free_video_task_queryset(team).get(id=task.id)
|
||||
|
||||
Reference in New Issue
Block a user