fix: clarify storyboard video candidate generation
This commit is contained in:
12
api/main.py
12
api/main.py
@@ -6214,7 +6214,7 @@ def _enqueue_storyboard_videos(job: Job, frame: KeyFrame, req: GenerateStoryboar
|
||||
bg.add_task(render_storyboard_video, *task_args)
|
||||
else:
|
||||
threading.Thread(target=render_storyboard_video, args=task_args, daemon=True).start()
|
||||
update(job, generated_videos=items + job.generated_videos, message=f"视频抽卡已提交 · 分镜 {frame.index + 1} · {count} 张")
|
||||
update(job, generated_videos=items + job.generated_videos, message=f"视频候选已提交 · 分镜 {frame.index + 1} · {count} 条")
|
||||
return ids
|
||||
|
||||
|
||||
@@ -6239,7 +6239,7 @@ def _batch_generate_worker(job_id: str, req: BatchGenerateStoryboardReq) -> None
|
||||
count = max(1, min(12, int(req.count_per_row or 4)))
|
||||
concurrency = max(1, min(8, int(req.concurrency or 4)))
|
||||
frames = list(job.frames)
|
||||
update(job, message=f"整片一键抽卡已启动 · 0/{len(frames)} 条", error="")
|
||||
update(job, message=f"整片视频候选生成已启动 · 0/{len(frames)} 条", error="")
|
||||
done = 0
|
||||
|
||||
def submit_one(frame: KeyFrame) -> None:
|
||||
@@ -6274,15 +6274,15 @@ def _batch_generate_worker(job_id: str, req: BatchGenerateStoryboardReq) -> None
|
||||
)
|
||||
_enqueue_storyboard_videos(job, frame, video_req, None)
|
||||
except Exception as e:
|
||||
update(job, error=f"分镜 {frame.index + 1} 抽卡失败:{str(e)[:220]}")
|
||||
update(job, error=f"分镜 {frame.index + 1} 候选生成失败:{str(e)[:220]}")
|
||||
finally:
|
||||
done += 1
|
||||
update(job, message=f"整片一键抽卡进行中 · {done}/{len(frames)} 条")
|
||||
update(job, message=f"整片视频候选生成中 · {done}/{len(frames)} 条")
|
||||
|
||||
with ThreadPoolExecutor(max_workers=concurrency) as executor:
|
||||
futures = [executor.submit(submit_one, frame) for frame in frames]
|
||||
wait(futures)
|
||||
update(job, message=f"整片一键抽卡已提交 · {len(frames)}/{len(frames)} 条 · 每条 {count} 张")
|
||||
update(job, message=f"整片视频候选已提交 · {len(frames)}/{len(frames)} 条分镜 · 每条 {count} 个候选")
|
||||
|
||||
|
||||
@app.post("/jobs/{job_id}/storyboard/batch-generate-all", response_model=Job)
|
||||
@@ -6294,7 +6294,7 @@ def batch_generate_all_storyboard(job_id: str, req: BatchGenerateStoryboardReq)
|
||||
if not job.frames:
|
||||
raise HTTPException(400, "no frames to generate")
|
||||
threading.Thread(target=_batch_generate_worker, args=(job_id, req), daemon=True).start()
|
||||
update(job, message=f"整片一键抽卡已启动 · {len(job.frames)} 条 · 每条 {max(1, min(12, int(req.count_per_row or 4)))} 张")
|
||||
update(job, message=f"整片视频候选生成已启动 · {len(job.frames)} 条分镜 · 每条 {max(1, min(12, int(req.count_per_row or 4)))} 个候选")
|
||||
return job
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user