[{"data":1,"prerenderedAt":386},["ShallowReactive",2],{"work-video-transcript-pipeline":3,"site-info":290},{"zh":4,"en":154},{"id":5,"title":6,"body":7,"client":124,"cover":125,"coverAlt":126,"description":127,"draft":128,"extension":129,"industry":130,"lang":131,"meta":132,"navigation":133,"order":134,"path":135,"results":136,"seo":146,"services":147,"slug":150,"stem":151,"translationKey":152,"year":152,"__hash__":153},"work\u002Fwork\u002Fvideo-transcript-pipeline.md","把 B 站與 TikTok 的影片，變成一份可讀的摘要",{"type":8,"value":9,"toc":115},"minimark",[10,14,18,26,29,32,60,63,69,72,82,88,91,94,100,103],[11,12,13],"h2",{"id":13},"問題",[15,16,17],"p",{},"追蹤的創作者一多，影片就用「支」在長。想從裡面找一個觀點，等於要把幾十支短片從頭看完，而且看完也記不住。",[15,19,20,21,25],{},"真正麻煩的不是「下載」，是",[22,23,24],"strong",{},"判斷哪一支值得看","——平台的推薦是為了留住你，不是為了回答你的問題。",[11,27,28],{"id":28},"做法",[15,30,31],{},"整條管線分成四段，每一段都可以單獨重跑：",[33,34,35,42,48,54],"ol",{},[36,37,38,41],"li",{},[22,39,40],{},"題材篩選","：先用使用者設定的關注主題（產業、關鍵字、創作者）過濾，把不相關的影片擋在最前面，省掉後續所有成本。",[36,43,44,47],{},[22,45,46],{},"抓取","：把影片與 metadata 存下來，保留原始連結以便回溯。",[36,49,50,53],{},[22,51,52],{},"轉錄","：在地端跑 WhisperX，產出帶時間戳的逐字稿。不上傳到任何第三方語音服務。",[36,55,56,59],{},[22,57,58],{},"彙整","：把逐字稿全部丟給大模型，要求它輸出「這批影片在講什麼、哪些觀點重複出現、哪裡互相矛盾」。",[11,61,62],{"id":62},"幾個關鍵決定",[15,64,65,68],{},[22,66,67],{},"為什麼轉錄要放地端。"," 逐字稿等於影片的全文，裡面常有還沒公開的商業資訊。丟到雲端語音 API 等於把內容送出去，這對內容團隊是不可接受的。",[15,70,71],{},"而且實測下來，地端跑一次的成本比按分鐘計價的語音 API 更低——影片量一大，差距就出來了。安全和成本這次剛好站在同一邊。",[15,73,74,77,78,81],{},[22,75,76],{},"為什麼不是「每支影片各自摘要」。"," 單支摘要的價值有限，真正有用的是",[22,79,80],{},"跨影片的彙整","——同一個話題，十支影片裡有幾支在講同一件事、有幾支在反駁。這件事只能把文本集中起來做。",[15,83,84,87],{},[22,85,86],{},"為什麼要保留時間戳。"," 摘要只給結論，但人要驗證。保留時間戳，看到有興趣的段落可以直接跳回原片。",[11,89,90],{"id":90},"結果",[15,92,93],{},"工作的形狀變了：原本是「今天要看幾支影片」，現在是「今天要讀一份摘要，有興趣的再點回原片」。",[95,96,97],"blockquote",{},[15,98,99],{},"這條管線沒有做「自動判斷影片好壞」。那件事目前還不可靠，硬做只會讓使用者失去信任。我們讓它做它做得到的事：轉錄、去重、抓重點。",[11,101,102],{"id":102},"目前沒做的",[104,105,106,109,112],"ul",{},[36,107,108],{},"沒有做即時（incremental）更新，是批次跑",[36,110,111],{},"沒有做跨語言翻譯，逐字稿維持原語言",[36,113,114],{},"摘要品質靠 prompt 與人工抽查，還沒有系統性的評估指標",{"title":116,"searchDepth":117,"depth":117,"links":118},"",2,[119,120,121,122,123],{"id":13,"depth":117,"text":13},{"id":28,"depth":117,"text":28},{"id":62,"depth":117,"text":62},{"id":90,"depth":117,"text":90},{"id":102,"depth":117,"text":102},"內容研究團隊（客戶不公開）","\u002Fimages\u002Fwork\u002Fvideo-transcript-pipeline.svg","影片轉錄與摘要管線示意圖","短影音平台的內容量太大，人工逐支看不可能。我們做了一條全地端管線：先篩出使用者真正關心的題材，抓下來、用 WhisperX 轉成逐字稿，再交給大模型彙整成主題摘要。",false,"md","媒體與內容","zh-TW",{},true,1,"\u002Fwork\u002Fvideo-transcript-pipeline",[137,140,143],{"label":138,"value":139},"轉錄方式","全地端",{"label":141,"value":142},"轉錄模型","WhisperX",{"label":144,"value":145},"輸出","逐字稿 + 主題摘要",{"title":6,"description":127},[148,149],"automation","edge","video-transcript-pipeline","work\u002Fvideo-transcript-pipeline",null,"PB1cKrxqzjBbRF-lQkSUtIk_t1kHtvzz7_Tujm3xveA",{"id":155,"title":156,"body":157,"client":269,"cover":270,"coverAlt":271,"description":272,"draft":128,"extension":129,"industry":273,"lang":274,"meta":275,"navigation":133,"order":134,"path":276,"results":277,"seo":286,"services":287,"slug":150,"stem":288,"translationKey":152,"year":152,"__hash__":289},"work\u002Fwork\u002Fen\u002Fvideo-transcript-pipeline.md","From Bilibili and TikTok to one readable digest",{"type":8,"value":158,"toc":262},[159,163,166,173,177,180,206,210,216,219,229,235,239,242,247,251],[11,160,162],{"id":161},"the-problem","The problem",[15,164,165],{},"Follow a few creators and the backlog grows by the dozen. Finding one specific point of view means watching everything, and remembering none of it.",[15,167,168,169,172],{},"The hard part is not downloading. It is ",[22,170,171],{},"deciding which video is worth watching"," — platform recommendations are optimised for keeping you there, not for answering your question.",[11,174,176],{"id":175},"what-we-built","What we built",[15,178,179],{},"A four-stage pipeline where every stage can be re-run on its own:",[33,181,182,188,194,200],{},[36,183,184,187],{},[22,185,186],{},"Topic filter"," — match against the themes, keywords and creators a user actually cares about, and drop everything else before it costs anything downstream.",[36,189,190,193],{},[22,191,192],{},"Fetch"," — store the video plus metadata, keeping the original link for traceability.",[36,195,196,199],{},[22,197,198],{},"Transcribe"," — run WhisperX on-premise to produce a timestamped transcript. Nothing goes to a third-party speech API.",[36,201,202,205],{},[22,203,204],{},"Summarise"," — feed the whole transcript set to a large model and ask for what the videos are saying, which points repeat, and where they contradict each other.",[11,207,209],{"id":208},"three-decisions-worth-explaining","Three decisions worth explaining",[15,211,212,215],{},[22,213,214],{},"Why transcription stays on-premise."," A transcript is the full text of the video, and it often contains commercial information that has not been published yet. Sending that to a cloud speech API is not something a content team can accept.",[15,217,218],{},"It also turns out to be cheaper: per-minute speech APIs add up quickly, and at volume the on-premise run wins. This time security and cost happened to point the same way.",[15,220,221,224,225,228],{},[22,222,223],{},"Why not summarise each video separately."," A single-video summary has limited value. The useful signal is ",[22,226,227],{},"cross-video",": across ten videos, which claims repeat, and which ones disagree. That only works when the text is collected in one place.",[15,230,231,234],{},[22,232,233],{},"Why keep timestamps."," A summary gives conclusions, but people need to verify them. With timestamps, an interesting paragraph links straight back to the source.",[11,236,238],{"id":237},"the-outcome","The outcome",[15,240,241],{},"The shape of the work changed: from \"how many videos do I have to watch today\" to \"read the digest, click back into whatever sounds interesting.\"",[95,243,244],{},[15,245,246],{},"We deliberately did not build \"automatic quality judgement\". It is not reliable yet, and shipping it would cost the user's trust. The pipeline does what it can actually do: transcribe, deduplicate, extract.",[11,248,250],{"id":249},"what-is-not-done","What is not done",[104,252,253,256,259],{},[36,254,255],{},"No incremental updates — it runs in batches",[36,257,258],{},"No cross-language translation; transcripts stay in the source language",[36,260,261],{},"Summary quality depends on prompting plus spot checks; there is no systematic evaluation yet",{"title":116,"searchDepth":117,"depth":117,"links":263},[264,265,266,267,268],{"id":161,"depth":117,"text":162},{"id":175,"depth":117,"text":176},{"id":208,"depth":117,"text":209},{"id":237,"depth":117,"text":238},{"id":249,"depth":117,"text":250},"Content research team (client not disclosed)","\u002Fimages\u002Fwork\u002Fvideo-transcript-pipeline-en.svg","Video to transcript to summary pipeline","Short-form video grows faster than anyone can watch. We built an on-premise pipeline that filters by topic, downloads, transcribes with WhisperX, and summarises across videos.","Media & content","en",{},"\u002Fwork\u002Fen\u002Fvideo-transcript-pipeline",[278,281,283],{"label":279,"value":280},"Transcription","On-premise",{"label":282,"value":142},"Model",{"label":284,"value":285},"Output","Transcript + digest",{"title":156,"description":272},[148,149],"work\u002Fen\u002Fvideo-transcript-pipeline","KjrCe6cdhRIPO9A5wVdtfRr3XDCYpq_sPAku9LIyCKE",{"id":291,"company":292,"extension":303,"meta":304,"services":305,"social":383,"stem":384,"__hash__":385},"site\u002Fsite.yml",{"name":293,"nameEn":294,"email":295,"address":296,"addressEn":297,"lineUrl":298,"lineId":299,"duns":300,"youtube":301,"youtubeId":302},"銡策數位有限公司","Jecision Digital Co., Ltd.","contact@jecision.com","231 新北市新店區北新路二段 262 號 3 樓之 3","3F.-3, No. 262, Sec. 2, Beixin Rd., Xindian Dist., New Taipei City 231, Taiwan","https:\u002F\u002Fline.me\u002FR\u002Fti\u002Fp\u002F@374qnumi","@374qnumi","963905705","https:\u002F\u002Fwww.youtube.com\u002Fshorts\u002F6UE0WTmyjsg","6UE0WTmyjsg","yml",{},[306,330,356],{"key":307,"zh":308,"en":319},"audit",{"title":309,"tagline":310,"summary":311,"points":312,"deliverable":316,"detail":317,"duration":318},"企業 AI 導入健檢","先看清楚，再花錢","60 分鐘線上訪談，盤點最耗時、最依賴人力的營運環節；我們會告訴你哪些工作現在就能交給 AI、哪些還不成熟。",[313,314,315],"現況盤點：梳理日常營運中最耗時、最依賴人力的環節","痛點診斷：判斷哪些工作現在就能交給 AI，哪些建議先保留人力","可行性評估：依你的業務特性與預算，篩選適合的模型與工具","《企業 AI 導入建議報告書》（PDF）","含 1–2 個「開發成本最低、成效最明顯」的優先項目、技術棧建議、預期節省的人力時間與下一步","訪談 60 分鐘，報告書 3 個工作天內交付",{"title":320,"tagline":321,"summary":322,"points":323,"deliverable":327,"detail":328,"duration":329},"AI Readiness Audit","Look before you spend","A 60-minute remote audit of the workflows that eat the most time and people-power — and an honest answer on what AI can take over today, and what it cannot.",[324,325,326],"Audit the daily workflows that consume the most time and headcount","Triage which tasks AI can own today, and which should stay human","Shortlist the models and tools that fit your budget and constraints","AI Adoption Recommendation Report (PDF)","One or two highest-ROI entry points, a recommended tech stack, expected hours saved, and the concrete next step","60-minute call, report delivered within 3 business days",{"key":331,"zh":332,"en":343},"prompt",{"title":333,"tagline":334,"summary":335,"points":336,"deliverable":340,"detail":341,"duration":342},"提示詞工程","讓 AI 穩定產出，而不是碰運氣","針對你的實際任務設計提示詞與多步驟工作流，並做極限測試，確保換了資料、換了人操作也不會走鐘。",[337,338,339],"客製提示詞：ChatGPT、Claude、Gemini、Midjourney 等主流工具的專屬模板","除錯與優化：修掉幻覺、格式跑掉、時好時壞的問題","工作流建置：把複雜任務拆成多步驟提示詞與可重複的 SOP","提示詞文件或設定檔","附使用說明與範例，並提供 1 對 1 教學，確保你與團隊能自己維護","依任務複雜度報價，通常 3–7 個工作天",{"title":344,"tagline":345,"summary":346,"points":347,"deliverable":353,"detail":354,"duration":355},"Prompt Engineering","Make AI produce reliably, not by luck","Prompt sets and multi-step workflows designed for your actual tasks, stress-tested so they keep working when the data or the operator changes.",[348,349,351],"Custom prompts for ChatGPT, Claude, Gemini, Midjourney and friends",{"Debugging and tuning":350},"kill hallucinations, broken formats and flaky output",{"Workflow design":352},"break complex work into repeatable multi-step SOPs","Prompt library or exportable config","Ships with usage notes and examples, plus a 1:1 walkthrough so your team can maintain it","Quoted by complexity, typically 3–7 business days",{"key":357,"zh":358,"en":369},"poc",{"title":359,"tagline":360,"summary":361,"points":362,"deliverable":366,"detail":367,"duration":368},"極速 PoC","五天，看到能跑的東西","不談架構藍圖，直接做一個能動的雛形。五個工作天內交付線上可操作的智能體，用你真實的資料驗證。",[363,364,365],"Day 1：15 分鐘對焦，鎖定單一痛點與資料盤點","Day 2–4：模型串接、邏輯設計與雛形開發","Day 5：Demo 展示與 AI 擴展建議書","可線上操作的智能體雛形","交付範圍為概念驗證與展示，不含後續維運或大規模伺服器部署；要進階成完整系統會另行報價","5 個工作天",{"title":370,"tagline":371,"summary":372,"points":373,"deliverable":380,"detail":381,"duration":382},"Rapid PoC","Five days to something that runs","No architecture decks — a working prototype built in five business days, validated against your real data.",[374,376,378],{"Day 1":375},"15-minute scoping call, one pain point, data inventory",{"Day 2–4":377},"model integration, logic design, prototype build",{"Day 5":379},"live demo plus an AI expansion recommendation","A runnable online agent prototype","Proof of concept and demo scope only; ongoing operations and large-scale deployment are quoted separately","5 business days",[],"site","XTwARfVAOcrXNiKehsM6V6cdkd2HXy4d5yZVrSWrI3Q",1792775653722]