Reels 趨勢研究
找出某一利基在選定時間內,Instagram Reels 上爆紅的內容,並解釋原因,產出用戶可據以行動的報告。
核心指標是 作者的觀看中位數倍數(×):Reel 觀看次數除以該作者近期影片的中位數觀看次數(最低 1000)。這能區分出哪些 Reel 是因為格式而爆紅,哪些只是因為帳號本身很大。
腳本位於 ${CLAUDE_SKILL_DIR}/scripts/,參考筆記位於 ${CLAUDE_SKILL_DIR}/references/。每個腳本都將運行資料夾(以下稱為 RUN)作為第一個參數,並輸出其執行內容與花費成本。
開始之前
- Apify 令牌。 檢查
echo ${APIFY_TOKEN:+set}或檔案~/.config/reels-trends/apify_token。如果兩者都不存在,請要求用戶在 https://console.apify.com/settings/integrations 建立令牌,並使用以下指令儲存:mkdir -p ~/.config/reels-trends && read -s T && echo "$T" > ~/.config/reels-trends/apify_token && chmod 600 ~/.config/reels-trends/apify_token。在 Windows 上:setx APIFY_TOKEN "<token>"並重新啟動終端機。請勿列印、記錄或提交令牌。 - Python 套件。
python3 -c "import lingua, PIL";如果失敗:pip install lingua-language-detector pillow(若 pip 拒絕,請加上--user或使用虛擬環境)。ffmpeg為選用但強烈建議:沒有它,代理只能從封面圖片標註領先者。在 Windows 上,請使用python代替此檔案中的python3。 - 簡報。 僅在一次訊息中詢問您無法推斷的內容,並附上預設值:
- 利基,以用戶自己的話描述(以及要排除的內容,例如「牙科,但不包含牙醫學生」);
- 市場:國家或語言,或「整個世界」;
- 期間:預設為最近 30 天;結束於今天的時間範圍也可以,較新的 Reel 只是觀看次數較少;
- 預算(美元):預設為免費 Apify 方案 $5,付費方案 $10-15;
- 報告語言:預設為用戶書寫時使用的語言(UI 字串支援
ru和en)。
工作流程
1. 運行資料夾與設定
在當前專案(或用戶指定的位置;如果專案是 git 倉庫,請將 reels-research/ 加入其 .gitignore)中建立 reels-research/<簡短識別碼>/,並寫入 config.json。請先閱讀 ${CLAUDE_SKILL_DIR}/references/config.md:它解釋了每個欄位以及如何撰寫良好的查詢。基本要素:
segments:每個語言或市場一個區段,大型市場使用 8-30 個當地查詢(人們實際輸入的短語、服務名稱、俚語),小型市場使用 3-6 個,並根據市場規模調整min_views。英文查詢會從全世界抓取內容;每個市場的查詢應使用其自身的語言撰寫。relevance_regex:您所搜尋的每種語言中,利基的字詞詞幹(Reel 必須匹配才能被保留)。exclude_regex:絕不應計入的內容(成人服務、垃圾訊息、利基詞彙不相關的含義)。topics:8-12 個子主題,附帶多語言正則表達式,從最具體到最通用排序,加上fallback_topic。focus_topics:您期望跨語言比較的主題。${CLAUDE_SKILL_DIR}/references/examples/包含一個完整的全球設定檔(按摩,19 種語言)和一個小型免費方案設定檔。
2. 帳戶檢查與成本
python3 ${CLAUDE_SKILL_DIR}/scripts/check.py RUN
python3 ${CLAUDE_SKILL_DIR}/scripts/search.py RUN --dry
check.py 讀取計劃並選擇引擎:付費 Apify 方案使用 memo23(伺服器端支援日期和觀看次數篩選,未命中不計費),免費方案使用 hashtag(memo23 僅為免費帳戶提供一個查詢和少量結果)。用一兩行告知用戶方案、引擎、最壞情況下的成本與預算。腳本絕不會啟動超出剩餘 budget_usd 的運行;只有在用戶同意時才能提高預算。
3. 搜尋與合併
python3 ${CLAUDE_SKILL_DIR}/scripts/search.py RUN # 5-25 分鐘,請在背景執行
python3 ${CLAUDE_SKILL_DIR}/scripts/merge.py RUN
在付費取得任何其他資料前,先閱讀合併摘要:
- 許多
not_in_niche:正則表達式太窄或查詢偏離主題;許多保留的 Reel 離題:正則表達式太寬; - 某語言的 Reel 非常少:在該語言中新增查詢,並執行
search.py RUN --only SEG --tag extra2,然後再次合併(原始檔案會累加); - 在 hashtag 引擎上,
outside_dates通常為 70-90%:使用 30-60 天的時間範圍、更多且更具體的標籤、更大的search.hashtag_results,或建議使用付費方案。
4. 作者、倍數、領先者
python3 ${CLAUDE_SKILL_DIR}/scripts/profiles.py RUN --dry # 然後不加 --dry
python3 ${CLAUDE_SKILL_DIR}/scripts/score.py RUN
python3 ${CLAUDE_SKILL_DIR}/scripts/leaders.py RUN
僅針對 Reel 高於 profiles.floor_by_lang 的作者擷取個人資料;調整門檻或使用 --max 以符合預算。領先者 = 全球前幾名(按 ×,附帶觀看次數門檻)+ 按觀看次數排名 + 每個語言內按 × 排名。全球運行目標為 100-250 位領先者,單一市場則為 30-80 位。
5. 豐富領先者資料(三個腳本平行執行)
python3 ${CLAUDE_SKILL_DIR}/scripts/transcripts.py RUN
python3 ${CLAUDE_SKILL_DIR}/scripts/about.py RUN # 每個領先者帳戶的國家,僅限付費方案
python3 ${CLAUDE_SKILL_DIR}/scripts/media.py RUN # 4 幀條狀圖 + 封面;CDN 連結數天後過期,請在搜尋後盡快執行
6. 從影片幀標註領先者
python3 ${CLAUDE_SKILL_DIR}/scripts/batches.py RUN --size 20
它會寫入 work/label_prompt.md(標籤指令,已填入此利基的分類法)和每個批次一個檔案(每 20 位領先者一批),並輸出 BATCH 和 OUT 路徑。在單一訊息中啟動每個批次一個子代理,以便它們可以平行執行,使用以下提示:
閱讀 RUN/work/label_prompt.md 中的標籤指令,並嚴格遵循。在那些指令中,{BATCH} = <批次路徑>,{OUT} = <輸出路徑>。
如果沒有子代理可用,請自行使用相同的指令標註批次。標籤必須來自查看影片幀:許多視覺利基的 Reel 沒有語音,而標題通常無法描述畫面內容。使用 python3 ${CLAUDE_SKILL_DIR}/scripts/labels.py RUN 檢查覆蓋率。
7. 計算前先審查
打開按 × 排名前 20 的領先者的幀,以及所有被代理標記或標記為不相關的 Reel。在 work/overrides.json 中使規則跨批次保持一致(格式請參閱 ${CLAUDE_SKILL_DIR}/references/content.md):例如,僅有運動的 Reel 不算按摩;販售模特兒身體而非服務的內容農場,則放入 "flagged": {"<reel code>": "sexualised"};轉貼他人影片則加入 "repost"。被標記的 Reel 會保留在資料和報告網格中(預設隱藏),但不會出現在格式表格或點子中。
8. 數據與故事
python3 ${CLAUDE_SKILL_DIR}/scripts/stats.py RUN
閱讀摘要,並找出 6-7 個企業主可以據以行動的發現。在撰寫之前,請用數據驗證每個說法:
- 聲稱某語言缺少某種內容,需要證明您已用正確的詞彙搜尋了該語言(如果沒有,請新增查詢並重新執行);
- 少於 5 位領先者的格式,需加上「少量 Reel」的備註;
- 使用簡短的 Python 程式碼片段,從
work/scored.json和work/cls/計算任何額外的數字,切勿憑記憶。 然後按照${CLAUDE_SKILL_DIR}/references/content.md的格式撰寫RUN/content.json:發現、格式/主題/語言的備註、8-10 個點子(標題、用戶可以在鏡頭前說的鉤子、為何有效(附數字)、2-3 個範例 Reel 代碼),以及 12-16 個用於「前幾秒」部分的鉤子。
9. 報告
python3 ${CLAUDE_SKILL_DIR}/scripts/build.py RUN
產生 report/index.html(在瀏覽器中開啟)、report/artifact.html(僅內容版本,若環境有 Artifact 工具,可作為 Claude 成品發布)和 report/reels.json(所有 Reel 及其分數與標籤)。告知用戶報告的位置、運行的總成本(work/spend.jsonl),以及 3-5 個最有用的發現(用白話說明)。
誠實解讀數據
- 搜尋回傳的是值得注意的 Reel,而非所有 Reel,因此中位數會高於一般帳戶。請比較群體之間的差異,而非與用戶自己的數據比較。
- × 是相對於作者而言:小型帳戶會產生最大的倍數。這就是重點(觸及不需要粉絲),但請務必說明。
- 格式表格描述的是領先者,而非整個利基。主題、時長和粉絲數表格則使用所有 Reel。
- 時間範圍最後幾天的 Reel 仍在累積觀看次數。
- 語言不等於國家。請使用
about.py判斷國家。
實際運行中學到的更多經驗教訓,請參閱 ${CLAUDE_SKILL_DIR}/references/gotchas.md。在進行全球或多語言運行前,請先閱讀此文件。