

# 用帶時間的字幕研究 TikTok 開場鉤子

先用帶時間的字幕為一段固定開場編碼，再人手記錄畫面和聲音。

鉤子是用來吸引注意的開場手法。收集者並不判斷鉤子是否奏效。Actor 是一個託管程式，用來收集來源列。Task 是已儲存的輸入預設。Actor 返回帶時間的文字。標籤由你來寫。

時間窗是你研究的開場時段。每條影片都用同一個時間窗，例如 0-3 秒。研究單位是該段固定開場，不是整條影片。這個方法不會按表現為影片排名。

[公開觀看次數不能量度留存](/zh-Hant/articles/%E7%82%BA%E4%BD%95-tiktok-%E8%A7%80%E7%9C%8B%E6%AC%A1%E6%95%B8%E4%B8%8D%E8%83%BD%E9%A1%AF%E7%A4%BA%E7%95%99%E5%AD%98%E6%9B%B2%E7%B7%9A/)。留存是指人們持續觀看的時間。觀看次數不能顯示某一個鉤子造成了該表現。[這篇帖文](https://www.reddit.com/r/TikTokMarketing/comments/1qcxv6a/low_retention_rate_on_my_gangster_snowman_tiktok/)詢問為何不同開場的表現不同。該處的讚好不能顯示競爭對手的留存。[這篇帖文](https://www.reddit.com/r/scaleinpublic/comments/1sbnqmp/i_analyzed_500_tiktok_videos_promoting_indie_apps/)顯示需要人手列出鉤子。只採用這個需要。不要抄錄關於安裝次數、點擊率、原因或受青睞工具的說法。

## 你可以收集的內容

使用 [TikTok Transcript Actor](https://apify.com/chronometrica/tiktok-transcript-scraper)。目前的公開版本是 0.1.36。它接受 1 至 100 個已知的公開目標。目標可以是影片 URL、短連結或數字影片 ID。它不會搜尋個人檔案。它不會搜尋關鍵字。它不會開啟聲音頁面。它不會標記付費廣告。

preferredLanguages 是你排列好的公開字幕語言清單。一條字幕軌是文字的一個公開語言版本。Actor 按清單次序選一條現有的公開軌。空清單會使用第一條公開軌。Actor 不會翻譯。沒有公開軌的聲音，它不會寫出文字。它不會收集留言。它不會指定鉤子標籤。

languageCode 可以是帶地區的語言代碼，例如 eng-US。讀取該列上的代碼。不要假設短語言名稱和帶地區的語言代碼是同一條字幕軌。

每一個已提交的輸入都會在數據集中產生一列，即使該列不是成功的逐字稿。以文字保存 videoId。如果以數字儲存，長 ID 可能會改變。

一列有以下欄位：

- inputIndex
- inputUrl
- videoId
- videoUrl
- authorHandle
- durationSeconds
- languageCode
- text
- segments
- status
- statusReason
- isBillable
- scrapedAt

一個片段是一段帶時間的字幕文字。每個片段有 startSeconds、endSeconds 和 text。片段時間照原樣使用。durationSeconds 是影片長度。它不是鉤子時間窗。

status 是該輸入的結果詞。它可以是 succeeded、no_public_captions、language_unavailable、duplicate_input、not_tiktok、invalid_input、unsupported_url、video_unavailable、not_public 或 blocked_or_challenged。讀取字幕軌失敗也是一種 status。succeeded 要求 text 不是空的。失敗狀態配上空文字，並不是已確認該開場沒有說話。

只有成功的公開字幕結果，isBillable 才是 true。其他列仍然是證據。平台用量與這個標記分開。不要把整次執行說成免費。一次執行是一個 Actor 作業。

這個作業亦返回以下 OUTPUT 合計：

- inputsReceived
- resultRows
- billableTranscriptRows
- nonBillableResultRows
- duplicateVideosSkipped
- statusCounts

這些合計描述該作業。它們不能顯示你的影片代表所有影片。duplicateVideosSkipped 計算該作業中被略過的重複影片。它不是研究發現。

公開檢查日期是 2026-10-13。該次檢查使用版本 0.1.36 和已儲存的單片輸入。該列的影片 ID 與所要求的相同。text 不是空的。該列有 12 個片段，含 startSeconds、endSeconds 和 text。該次檢查沒有保留字幕文字。這只顯示該一個來源有一條公開字幕路徑。它不能顯示每條影片都有字幕。它不能顯示每個字都準確。它不能顯示鉤子標籤有效。

已儲存的 Task 是 [TikTok hook research Task](https://apify.com/chronometrica/tiktok-transcript-scraper/examples/tiktok-hook-research)。它目前的輸入是：

```json
{
  "startUrls": ["https://www.tiktok.com/@hankgreen1/video/7047596209028074758"],
  "preferredLanguages": []
}
```

你可以收集的內容

把該樣本換成一條你打算研究的已知公開影片。除非研究正好包含該條影片，否則不要保留樣本。Task 只是起始輸入。它不會代你做標註。

如果研究語言是英文，使用這個單片試行：

```json
{
  "startUrls": ["PASTE_ONE_KNOWN_PUBLIC_VIDEO_URL"],
  "preferredLanguages": ["en"]
}
```

你可以收集的內容

只有當英文是你聲明的研究語言時，才使用 ["en"]。如果研究另一種語言，寫下該語言規則。不要複製 ["en"]。空清單會保留第一條公開軌。該軌可能是錯誤的語言。

## 八個動作

1. 比較鉤子之前，先寫下問題和影片清單。

用一句寫出創作問題。只列出你選定的已知公開影片。選一個時間窗，並在每條影片上保持不變。同一個時間窗可避免你在一條影片標註較早的文字，卻在另一條標註較後的文字。Actor 不能搜尋所有競爭對手的帖文。它不能推斷付費廣告狀態。你的清單是你所聲明的樣本。它不是整個平台。

1. 取得一條字幕軌，然後核對身份、語言、狀態和文字。

從一條預定的影片開始。把 videoId 與你的目標核對。核對 authorHandle。把 languageCode 與你的語言規則核對。確認 status 是 succeeded。確認 text 不是空的。保留原本的片段時間。如果有 statusReason，就要讀取。

以下狀態會使口語開場停留在未知：no_public_captions、video_unavailable、not_public、blocked_or_challenged 和 language_unavailable。字幕讀取失敗也是未知。未知表示口語證據缺失。它不表示「沒有鉤子」。它不表示零。

如果 status 是 language_unavailable，不要把另一種語言標成你的研究語言。錯誤的輸入狀態不是鉤子結果。not_tiktok、invalid_input 和 unsupported_url 表示你必須修正輸入。duplicate_input 不是第二條影片。該條影片只計一次。

1. 保留每一個與時間窗有時間重疊的片段。不要按時間比例切字母。

兩個時段只要共享任何時間，就是重疊。對於 0-3 秒時間窗，當 startSeconds 小於 3 時保留該片段。同時要求 endSeconds 大於 0。完全位於時間窗內的片段要保留。跨越 3 秒的片段要保留。在 3 秒或之後開始的片段不保留。在 0 或更早結束的片段不保留。如果改用另一個時間窗，就對每條影片用新的結束時間做同一個測試。

跨越邊界的片段可能包含時間窗之後的說話。保留它的全部原始文字。觀看該段影片，標出哪些字落在時間窗內。不要按時間比例切分字母。說話可以停頓。一個短字可能落在切割點之後。一個長字可能落在切割點之前。

1. 比較結果之前，先寫一份小型口語編碼手冊。

編碼手冊是寫下的口語標籤和規則清單。尋找規律之前先寫好它。為開場編碼，就是從該清單給它一個口語標籤。這些標籤是人手研究標籤。它們不是 Actor 欄位。它們不是已被證明的致勝格式。

每條影片使用一個主要標籤，除非你先寫下一條允許多於一個的規則。主要標籤是該條影片的那一個口語標籤。把一項提問和一項困難合併成 question_problem。如果拆開，一個關於困難的提問可以看起來像兩個鉤子。把 promise 和 result-first 分開。promise 指向之後。result-first 把已完成的事物放在開場。標籤清單是 question_problem、promise、result-first、spoken_demonstration_cue、other 和 no_clear_device。缺失的字幕保持為 unknown。unknown 不在這份口語清單內。

1. 對同一個時間窗邊看邊聽。欄位保持分開。

欄位是表格中一個有名稱的位置。播放同樣的 0-3 秒。在畫面欄記錄你看見的內容。在獨立欄位記錄印在螢幕上的文字。在聲音欄記錄講者和其他聲音。記錄最早的有意義動作及其時間。該動作是時間窗內發生的第一件重要事情。

即使字幕文字是空的，無聲示範仍可以是視覺鉤子。沒有逐字稿欄位能辨認場景。不要把畫面筆記貼進口語標籤。螢幕上的文字不是講出來的文字。如果沒有記錄某個欄位，就留空。空白不同於「無」。

1. 保存證據、編碼員和不確定之處。

保留原始字幕文字。任何修正都另外保留人手筆記。記錄時間範圍、口語標籤、編碼員和不確定之處。編碼員是指定標籤的人。用第二位編碼員檢視一個小型試行，或做一次已說明的第二輪。如果兩次檢查不一致，就修改規則或筆記。不要編造準確度分數。不要用人手副本取代原始文字。兩者都需要。

1. 在已聲明的樣本中比較標籤是否出現。

計算不同影片，每條只計一次。不要計算字幕片段。同一個時間窗內的兩個片段仍然是一條影片。把未知字幕與已檢查的口語開場分開報告。比例只用你指名的分母。分母是你用來相除的那個數量。在結果中說出該分母。

如果之後比較公開計數，就要對齊影片年齡、主題和時間。說明該對齊只描述這組資料。它不能顯示某個標籤造成了這些計數。不要只保留高觀看次數的影片，然後稱它們的標籤為勝出者。[留存問題](https://www.reddit.com/r/TikTokMarketing/comments/1qcxv6a/low_retention_rate_on_my_gangster_snowman_tiktok/)不能證明原因，該處的讚好也不能顯示留存。

1. 用這份表格計劃一次新測試，而不是一項保證的增益。

用這些編碼和筆記設計一個你可以測試的新開場。創作假設就是該測試想法。它不是已承諾的改進。這個方法研究來源中已有的開場。它不會選擇新的剪接點。它不會剪出新片段。它不會預測爆紅影片。它不會量度留存。它不會代你讀取畫面。

## 口語編碼手冊

這份編碼手冊中的例句是原創虛構。它們不是公開對照的文字。它們不是產品結果。每條影片得到一個主要口語標籤。

question_problem 是提問或已點名困難的合併主要標籤。不要再為同一條影片加上第二個口語標籤。虛構句子是「你的托盤會翻側嗎？」

promise 表示講者說某個結果將會出現，但完成的結果不在開場。虛構句子是「我會給你看一個保持水平的托盤。」這指向之後。它不是 result-first。

result-first 表示開場現在就說出已完成的結果。虛構句子是「這是完成的種植床。」這些文字把完成的種植床放在開場。這不同於承諾一個較後的結果。

spoken_demonstration_cue 表示口語文字叫觀眾觀看一個動作。虛構句子是「看這個蓋子扣上。」無聲動作不會得到這個口語標籤。把該動作放進畫面欄。

other 表示一次有效檢查在時間窗內找到一個清楚的口語手法，而該手法不在已點名的類別中。該手法是另一種。加上短筆記，寫出該手法的名稱。

no_clear_device 表示一次有效的字幕檢查或一次有效的人手檢查，在時間窗內找不到口語手法。已檢查的說話如果沒有口語手法，就使用它。已確認該時間窗內沒有說話時，也使用它。證據缺失或字幕檢查失敗時，不要使用它。缺失或失敗的證據保持為 unknown。

unknown 表示你沒有可用的口語證據。它是缺失證據的標記，不是鉤子標籤。no_public_captions 列保持為 unknown。不要把 unknown 改稱為 no_clear_device。不要把 unknown 改稱為「沒有鉤子」。不要把 unknown 當作零。

## 虛構的逐步演算例子

以下四條影片是原創虛構。它們不是公開對照，也不是真實創作者的結果。每條影片的時間窗都是 0-3 秒。上面的編碼手冊是唯一的口語編碼手冊。一條影片得到一個主要口語標籤，或是 unknown。

當 startSeconds 小於 3 且 endSeconds 大於 0 時，保留該片段。

| 影片 | 狀態 | 重疊的原始字幕 | 口語標籤 | 畫面欄 | 聲音欄 | 最早動作 | 螢幕文字 | 編碼員 | 不確定之處 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| V1 | succeeded | 0.0-1.5「你的托盤會翻側嗎？」另外 1.5-3.5「這個簡單手柄讓它保持水平。」 | question_problem | 一個正在翻側的托盤 | 說話在 0.0 秒開始 | 托盤在開場翻側 | 未提供 | 編碼員 A | 第二個片段跨越 3 秒 |
| V2 | succeeded | 0.0-2.0「這是完成的種植床」 | result-first | 完成的種植床 | 講者說出已完成的種植床 | 已展示完成的種植床 | 未提供 | 編碼員 A | 整個片段都在 0-3 秒內 |
| V3 | no_public_captions | 無 | unknown | 一段無聲示範 | 沒有可用的口語證據 | 一段無聲示範 | 未提供 | 編碼員 A | 口語開場屬未知 |
| V4 | succeeded | 無。第一段字幕在 4.0 秒開始 | no_clear_device | 一段間尺示範 | 0-3 秒時間窗內沒有說話 | 1.0 秒有一個間尺動作 | 未提供 | 編碼員 A | 人手觀看發現 3 秒前沒有說話 |

V1 有兩個片段，兩個都符合時間窗測試。第一個由 0.0 秒到 1.5 秒。它的全文是「你的托盤會翻側嗎？」該片段位於時間窗內。第二個由 1.5 秒到 3.5 秒。它的全部原始文字是「這個簡單手柄讓它保持水平。」在原始欄保留這整句。這句在 3.5 秒結束，所以只有它開頭的一段話在時間窗內。人手筆記保存這項邊界檢查。不要切出一定比例的字母，然後稱該部分為時間窗內的說話。主要口語標籤是 question_problem。兩個片段仍然算作一條影片。它們不會加上第二個主要標籤。

V2 有一個由 0.0 秒到 2.0 秒的片段。整個片段都在時間窗內。文字現在就說出完成的種植床，所以口語標籤是 result-first。它不是 promise，因為開場沒有把結果延後。畫面欄把完成的種植床記成另一項筆記。該筆記不是第二個口語標籤。

V3 的 status 是 no_public_captions，所以沒有字幕文字可標註。人手觀看顯示一段無聲示範。只在畫面欄記錄這一點。口語標記保持為 unknown。缺失的字幕不是已確認該開場沒有說話，不是 no_clear_device，也不是口語上的「沒有鉤子」。

V4 有 succeeded 的字幕，但第一段字幕在 4.0 秒開始。沒有片段的 startSeconds 小於 3，所以沒有字幕文字進入時間窗。較晚的第一段字幕本身不是證明。人手觀看確認由 0 到 3 秒沒有說話。口語標籤是 no_clear_device。1.0 秒有一個間尺動作。那是視覺示範。它不是 spoken_demonstration_cue，因為時間窗內沒有口語提示。

這組有 4 條選定影片。全部 4 條都有人手畫面筆記。已檢查的口語結果是 3 條：V1、V2 和 V4。未知的口語結果是 1 條：V3。三條已檢查影片中有一條是 question_problem。已檢查比例是 3 條中的 1 條，即 33.3%。不要習慣上報告成 4 條中的 1 條。只有當你指全部選定影片時才使用 4。你仍然必須顯示那 1 條未知影片。V3 不會加上口語上的「沒有鉤子」。即使有兩個片段，V1 也只計一次。這四列沒有使用標籤 other。這則虛構不使用觀看次數，也不指名任何致勝標籤。

原始文字和人手筆記留在不同欄位。這個例子沒有編造一致分數。第二位編碼員或第二輪會檢視這四列。如果不一致，就修改筆記或規則。

## 下一步

用這一份編碼手冊為三個已檢查的開場編碼。任何沒有字幕的影片都保持為 unknown。測試新開場之前，先記錄畫面欄和聲音欄。使用 [TikTok Transcript Actor](https://apify.com/chronometrica/tiktok-transcript-scraper) 和已儲存的 [鉤子研究 Task](https://apify.com/chronometrica/tiktok-transcript-scraper/examples/tiktok-hook-research)。把樣本目標換成一條已知的公開影片。如果英文是你的研究語言，把 preferredLanguages 設為 ["en"]。

## 來源與延伸閱讀

- [TikTok Transcript Actor](https://apify.com/chronometrica/tiktok-transcript-scraper)
- [TikTok hook research Task](https://apify.com/chronometrica/tiktok-transcript-scraper/examples/tiktok-hook-research)
- [關於不同開場的一則提問](https://www.reddit.com/r/TikTokMarketing/comments/1qcxv6a/low_retention_rate_on_my_gangster_snowman_tiktok/)
- [人手列出鉤子](https://www.reddit.com/r/scaleinpublic/comments/1sbnqmp/i_analyzed_500_tiktok_videos_promoting_indie_apps/)