feat(pptx): 補圖簡報一鍵轉講解影片#92
Merged
Merged
Conversation
串起「上傳簡報 → 補圖 → 影片」最後一哩: pptx 補圖 job 產出的補圖簡報, 一鍵
轉成有旁白的講解影片 (複用既有 slides_pdf 流程)。
- server/routes/jobs.py: POST /jobs/{id}/to-video — 補圖 .pptx → PDF (LibreOffice)
→ 建 slides_pdf job (沿用 mock / project) → schedule_job 走 Gemini 旁白 + render
→ MP4。LibreOffice 未裝回 501。
- web: JobEditor 對 pptx job 加「🎬 製作講解影片」按鈕 → 建影片 job 並導向;
api.pptxToVideo。
- 測試: 建 slides_pdf job (monkeypatch 轉檔/schedule 免 LO 與重流程) + 非 pptx /
無 artifact 的 400; happy-path 輪詢加長防 LO 併發慢。
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01MGT1mi2KPYyD76U1BKEhMo
dofliu
marked this pull request as ready for review
June 26, 2026 17:41
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
這個 PR 做什麼
串起整條需求的最後一哩——「上傳簡報 → 補圖 → 變成影片」。PR #91 產出的「補圖簡報(可編輯 .pptx)」現在可以一鍵轉成有旁白的講解影片,且完全複用既有的
slides_pdf影片流程。作法
補圖後的
.pptx→ PDF(LibreOffice)→ 建一個slides_pdfjob → 既有 pipeline(Gemini 逐頁旁白 + render → MP4 + SRT)。影片裡的投影片就是補完圖的版本。變更
server/routes/jobs.py—POST /jobs/{id}/to-video:取 pptx job 的補圖.pptxartifact →render_pptx_to_pdf→ 建slides_pdfjob(沿用mock與project_id)→schedule_job。回傳新 job 的CreateJobResponse。LibreOffice 未裝回 501;非 pptx job / 無補圖 artifact 回 400。web/—JobEditor對 pptx job 在「⬇ 下載補圖簡報」旁加「🎬 製作講解影片」按鈕:呼叫後導向新影片 job;api.pptxToVideo。使用流程(端到端)
/app→pptx上傳.pptx→(補圖)→ Job 頁:測試
to-video:建出slides_pdfjob(monkeypatch 轉檔與schedule_job,免 LibreOffice 與重流程);非 pptx / 無 artifact → 400。tsc0 error、vite build通過。備註
pptx → pdf。mock佔位);render 需字型(部署環境需備 CJK 字型)。🤖 Generated with Claude Code
Generated by Claude Code