SurfCheck · 素材整理架構
v3 · 2026.06 · INTERNAL
Internal proposal · for Yap & Nick

把素材重整成
能規模化的系統

解決一件事:未來素材只會更多,怎麼讓「找得到」變成預設、不會因為量大而崩。

— 01 —

為什麼要做這件事

問題從來不是拍不夠,是找不到。剪一支 cutback 衛教片要翻三十個資料夾、做 Bali surf trip 回顧要從一千支影片裡撈、想找 pop up 失敗對比片要靠記憶。

這份提案要解決三件事:

  • 找得到 30 秒內找到想要的素材
  • 不會亂 素材變多時架構不崩,新人也看得懂
  • 能再製 影片再做成 Carousel 時,照片是鏡像架構
— 02 —

資料夾 架構

頂層用素材生命週期分(待整理 → 素材庫 → 製作中 → 已發佈)。素材庫內用技能當主軸,浪點 / 拍攝類型 / 品質寫進檔名。照片與影片完全鏡像。

SurfCheck-Content/ ← Shared Drive │ ├── 00_README_命名規則/ ├── 0_INBOX_待整理/ ← 所有尚未分類的素材強制先進這裡 │ ├── 1_LIBRARY_素材庫/ │ │ │ ├── 影片 VIDEO/ │ │ ├── A-roll_講解類/ │ │ │ ├── 小葉 Yap/ │ │ │ └── 學生訪談 Student/ │ │ │ │ │ ├── B-roll_動作素材/ │ │ │ ├── 01_新手動作/ │ │ │ │ ├── 拿板走出_outside/ │ │ │ │ ├── 越浪/ │ │ │ │ ├── 坐板轉向/ │ │ │ │ ├── 趴板位置/ │ │ │ │ ├── 坐板位置/ │ │ │ │ ├── 划水追浪/ │ │ │ │ ├── pop_up/ │ │ │ │ ├── 斜跑/ │ │ │ │ ├── 衝泡泡/ │ │ │ │ └── 綁腳繩/ │ │ │ │ │ │ │ ├── 02_進階動作/ │ │ │ │ ├── 潛越/ │ │ │ │ ├── 烏龜翻/ │ │ │ │ ├── 走板/ │ │ │ │ ├── bottom_turn/ │ │ │ │ ├── top_turn/ │ │ │ │ ├── cutback/ │ │ │ │ └── 加速/ │ │ │ │ │ │ │ └── 03_情境素材/ │ │ │ ├── 日出日落/ │ │ │ ├── 教練特寫/ │ │ │ ├── 學生反應/ │ │ │ ├── 沙灘陸地/ │ │ │ └── 浪本身/ │ │ │ │ │ └── 浪點素材/ ← 沒特定動作的純風景 │ │ ├── 台灣/ │ │ ├── 峇里島/ │ │ └── 韓國浪池/ │ │ │ └── 照片 PHOTO/ ← 完全鏡像影片結構 │ ├── 人物照 PORTRAIT/ │ │ ├── 小葉 Yap/ │ │ └── 學生 Student/ │ ├── 動作照 B-roll/ │ │ ├── 01_新手動作/ (同上 10 個技能) │ │ ├── 02_進階動作/ (同上 7 個技能) │ │ └── 03_情境素材/ (同上 5 個情境) │ └── 浪點照/ │ ├── 台灣/ │ ├── 峇里島/ │ └── 韓國浪池/ │ ├── 2_PRODUCTION_製作中/ │ └── YYYYMMDD_主題/ │ └── 3_PUBLISHED_已發佈/ ├── 影片 Reels/ │ └── YYYYMMDD_主題/ └── 照片 Carousel/ └── YYYYMMDD_主題/
設計決策

為什麼浪點不和「新手 / 進階」同一層?

它們是兩個維度。「Bali 的 cutback」既屬於 cutback 也屬於 Bali——如果浪點當資料夾,就不能同時用技能歸位。所以選技能當主軸(剪片時想的多是技能),浪點寫進檔名。

— 03 —

檔名 規則

資料夾只解決「Finder 翻」,剪片把檔案拖進 Premiere 後就只剩檔名。檔名必須自己會說話。

格式

[主題]_[品質]_[拍攝]_[浪點]_[人物]_[日期].ext

每個欄位

欄位說明
主題 popup · cutback · concept-讀浪 動作名或觀念主題
品質 correct / fail / compare 對比片用,不需要時可省略
拍攝 land(可省略)· water · drone 大多陸拍,特殊才標
浪點 tw · bali · kr-pool 拍攝地點
人物 yap · student · jiwa · pro 誰在鏡頭裡
日期 20260601 YYYYMMDD

範例

examples popup_correct_tw_student_20260301.mp4 popup_fail_water_tw_student_20260301.mp4 cutback_correct_drone_bali_yap_20260315.mp4 cutback_correct_bali_pro_20260315.mp4 concept-讀浪_yap_20260201.mp4
— 04 —

讓大家照做的 4 層機制

靠人類自律會崩,靠強制太重。正確答案是疊加 4 層摩擦遞減的機制——每一層都讓做對的事比做錯的事更容易。

01

預建所有資料夾

第一天就把架構建滿(含所有技能子資料夾)。看到既有 pop_up/,沒人會自己開 站起來/

關鍵:不要等需要時才建。第一天建滿一次。
02

README 釘在新檔入口

A4 一頁,放在 00_README_命名規則/0_INBOX/。長 README 沒人看,極短才會被讀。

關鍵:放在新檔會經過的路徑,不要埋在最深處。
03

檔名生成器(批次工具)

單頁 HTML 工具:選下拉式選單(技能、浪點、品質⋯),自動拼正確檔名。完全消除手打錯字,強制詞彙統一。

Angel 開發 · Angel 自己用
SurfCheck 把素材丟給 Angel 整理,這個工具讓批次命名變成選選擇題而不是手打。
04

每週一次 Sweep

每週五花 20–30 分鐘掃 INBOX + 新增檔案,命名不對的改正、沒歸位的歸位。是整個系統的最後一道保險。

Angel 負責
關鍵:這個 sweep 不能省。一週沒做,下週要花 1 小時補。
— 05 —

舊檔怎麼辦?AI 半自動整理

如果現在 Drive 裡已經有大量舊檔,全部手動命名是不可能的事。可以用 AI 幫忙看影片內容、提建議檔名 + 歸類,由整理人 5 秒確認後一鍵套用。

Phase 2 · AI-Assisted Migration

工作流:AI 提案 → 人工確認 → 批次套用

用 Google Gemini 2.5 Pro 直接讀影片(原生支援 video,不用先 transcribe),對每支影片輸出建議的技能 / 浪點 / 品質 / 拍攝 / 人物。整理人在表格裡逐筆確認。

舊檔 1000 支 ↓ Gemini 看每支 → 輸出建議 JSON ↓ 寫進 Google Sheet(一列一支影片) ↓ 整理人逐筆確認 / 修正(5–10 秒/支) ↓ 一鍵套用 rename + 移檔
$0
用 Gemini Flash 免費 API
~80%
常見動作準確率
2–3 小時
人工確認 1000 支

用 Google AI Studio 免費 API key(ai.google.dev)+ Gemini 2.5 Flash。1000 支跑批次受免費 tier 限速,約 2–3 小時跑完(過夜)。API key 跟個人 Pro 月費方案無關。

「一鍵套用 rename」具體怎麼跑?

核心是 Google Apps Script——綁在 Google Sheet 上的腳本,可以直接操作 Drive 檔案(rename + 移資料夾)。

  1. Sheet 結構:原檔 ID / 原檔名 / 建議檔名 / 建議資料夾 / 確認?
  2. AI 跑完批次寫入前 4 欄
  3. 整理人開 Sheet,逐筆檢查;OK 的在「確認?」打 Y,要改的直接改第 3 欄
  4. 按 Sheet 上「套用」按鈕(Apps Script trigger)
  5. 腳本掃描所有 Y 的列,呼叫 Drive API:renameFile() + moveTo()

不需要本機跑 Python、不需要 OAuth 設定——整個流程在 Google Workspace 內。Angel 寫 script、SurfCheck 不需要技術背景就能跑。

為什麼不全自動:AI 對細微差異(cutback vs bottom turn)和成功/失敗判定會錯。全自動會把錯誤直接污染進架構,比沒整理還糟。半自動保留人類最後決定權。