

# Étudier les accroches d'ouverture TikTok avec des sous-titres horodatés

Codez une ouverture fixe à partir de sous-titres horodatés, puis notez l'image et le son à la main.

Une accroche est le dispositif d'ouverture destiné à capter l'attention. Le collecteur ne décide pas si une accroche a fonctionné. Un Actor est un programme hébergé qui collecte des lignes source. Une Task est un préréglage d'entrée enregistré. L'Actor renvoie des mots horodatés. Vous écrivez les étiquettes.

Une fenêtre est l'intervalle de temps d'ouverture que vous étudiez. Utilisez la même fenêtre pour chaque vidéo, par exemple 0-3 secondes. L'unité est cette ouverture fixe, pas la vidéo entière. Cette méthode ne classe pas les vidéos selon la performance.

[Les nombres de vues publics ne mesurent pas la rétention](/fr/articles/choix-des-donnees-de-retention-tiktok/). La rétention désigne la durée pendant laquelle les personnes continuent de regarder. Les nombres de vues ne montrent pas qu'une accroche a causé la performance. [Ce post](https://www.reddit.com/r/TikTokMarketing/comments/1qcxv6a/low_retention_rate_on_my_gangster_snowman_tiktok/) demande pourquoi des ouvertures différentes ont des performances différentes. Les likes qui s'y trouvent ne peuvent pas montrer la rétention d'un concurrent. [Ce post](https://www.reddit.com/r/scaleinpublic/comments/1sbnqmp/i_analyzed_500_tiktok_videos_promoting_indie_apps/) montre le besoin de lister les accroches à la main. N'utilisez que ce besoin. Ne copiez pas les affirmations sur les installations, les taux de clic, les causes ou les outils privilégiés.

## Ce que vous pouvez collecter

Utilisez le [TikTok Transcript Actor](https://apify.com/chronometrica/tiktok-transcript-scraper). Le build public actuel est 0.1.36. Il accepte de 1 à 100 cibles publiques connues. Une cible peut être une URL de vidéo, un lien court ou un ID vidéo numérique. Il ne recherche pas les profils. Il ne recherche pas les mots-clés. Il n'ouvre pas les pages de son. Il ne marque pas les publicités payantes.

preferredLanguages est votre liste ordonnée de langues de sous-titres publics. Une piste de sous-titres est une version publique des mots, dans une langue. L'Actor choisit une piste publique existante dans l'ordre de la liste. Une liste vide utilise la première piste publique. L'Actor ne traduit pas. Il n'écrit pas de mots pour un son sans piste publique. Il ne collecte pas les commentaires. Il n'attribue pas d'étiquettes d'accroche.

languageCode peut être régional, par exemple eng-US. Lisez le code sur la ligne. Ne supposez pas qu'un nom de langue court et un code régional sont la même piste.

Une entrée soumise renvoie une ligne de jeu de données, même lorsque la ligne n'est pas une transcription réussie. Conservez videoId comme texte. Un ID long peut changer si vous le stockez comme un nombre.

Une ligne comporte ces champs :

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

Un segment est un morceau horodaté de texte de sous-titre. Chaque segment a startSeconds, endSeconds et text. Utilisez ces temps de segment tels qu'ils sont donnés. durationSeconds est la durée de la vidéo. Ce n'est pas la fenêtre d'accroche.

status est le mot de résultat pour cette entrée. Il peut être succeeded, no_public_captions, language_unavailable, duplicate_input, not_tiktok, invalid_input, unsupported_url, video_unavailable, not_public ou blocked_or_challenged. Un échec de lecture de la piste est aussi un status. succeeded exige un text qui n'est pas vide. Un text vide avec un status d'échec n'établit pas une absence de parole.

isBillable est true seulement pour un résultat réussi de sous-titres publics. Les autres lignes restent des preuves. L'usage sur la plateforme est distinct de cet indicateur. Ne dites pas que l'exécution entière est gratuite. Une exécution est un job Actor.

Le job renvoie aussi ces totaux OUTPUT :

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

Ces totaux décrivent le job. Ils ne montrent pas que vos vidéos représentent toutes les vidéos. duplicateVideosSkipped compte les vidéos répétées ignorées dans le job. Ce n'est pas un résultat d'étude.

La date du contrôle public est 2026-10-13. Le contrôle a utilisé le build 0.1.36 et l'entrée enregistrée d'une seule vidéo. La ligne avait le même ID vidéo que celui demandé. Le text n'était pas vide. La ligne avait 12 segments avec startSeconds, endSeconds et text. Le contrôle n'a pas conservé les mots des sous-titres. Cela montre un chemin de sous-titres publics pour cette seule source. Cela ne montre pas des sous-titres sur chaque vidéo. Cela ne montre pas une exactitude parfaite des mots. Cela ne montre pas qu'une étiquette d'accroche est valide.

La Task enregistrée est la [Task de recherche d'accroches TikTok](https://apify.com/chronometrica/tiktok-transcript-scraper/examples/tiktok-hook-research). Son entrée actuelle est :

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

Ce que vous pouvez collecter

Remplacez cet exemple par une vidéo publique connue que vous voulez étudier. Ne conservez pas l'exemple, sauf si cette vidéo exacte fait partie de votre étude. Une Task n'est qu'une entrée de départ. Elle ne fait pas l'étiquetage à votre place.

Pour une étude en anglais, utilisez ce pilote d'une seule vidéo :

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

Ce que vous pouvez collecter

Utilisez ["en"] seulement lorsque l'anglais est la langue d'étude que vous avez déclarée. Si vous étudiez une autre langue, écrivez cette règle de langue. Ne copiez pas ["en"]. Une liste vide conserve la première piste publique. Cette piste peut être la mauvaise langue.

## Huit actions

1. Écrivez la question et la liste de vidéos avant de comparer les accroches.

Énoncez en une phrase la question sur le contenu ou la conception de l'ouverture. Listez seulement les vidéos publiques connues que vous avez choisies. Choisissez une fenêtre et conservez-la pour chaque vidéo. La même fenêtre vous empêche d'étiqueter les mots du début sur une vidéo et les mots plus tardifs sur une autre. L'Actor ne peut pas rechercher tous les posts de concurrents. Il ne peut pas inférer le statut de publicité payante. Votre liste est l'échantillon que vous avez déclaré. Ce n'est pas la plateforme entière.

1. Obtenez une piste de sous-titres, puis vérifiez l'identité, la langue, le status et le text.

Commencez par une vidéo prévue. Comparez videoId à votre cible. Vérifiez authorHandle. Comparez languageCode à votre règle de langue. Vérifiez que status est succeeded. Vérifiez que text n'est pas vide. Conservez les temps de segment d'origine. Lisez statusReason lorsqu'il est présent.

Ces status laissent l'ouverture parlée inconnue : no_public_captions, video_unavailable, not_public, blocked_or_challenged et language_unavailable. Un échec de lecture des sous-titres est inconnu aussi. Inconnu signifie que la preuve parlée manque. Cela ne signifie pas « pas d'accroche ». Cela ne signifie pas zéro.

Si le status est language_unavailable, n'étiquetez pas une autre langue comme votre langue d'étude. Un status de mauvaise entrée n'est pas un résultat d'accroche. not_tiktok, invalid_input et unsupported_url signifient que vous devez corriger l'entrée. duplicate_input n'est pas une deuxième vidéo. Comptez cette vidéo une seule fois.

1. Conservez chaque segment qui partage du temps avec la fenêtre. Ne coupez pas les lettres selon la part de temps.

Deux intervalles de temps se chevauchent lorsqu'ils partagent un moment quelconque. Pour une fenêtre de 0-3 secondes, conservez un segment lorsque startSeconds est inférieur à 3. Exigez aussi que endSeconds soit supérieur à 0. Un segment entièrement dans la fenêtre est conservé. Un segment qui franchit la borne des 3 secondes est conservé. Un segment qui commence à 3 secondes ou plus tard n'est pas conservé. Un segment qui se termine à 0 ou plus tôt n'est pas conservé. Si vous choisissez une autre fenêtre, utilisez le nouveau temps de fin dans le même test pour chaque vidéo.

Un segment qui traverse la limite peut contenir de la parole d'après la fenêtre. Conservez son texte brut complet. Regardez le clip et marquez les mots qui tombent dans la fenêtre. Ne découpez pas les lettres en proportion du temps. La parole peut faire une pause. Un mot court peut tomber après la coupe. Un mot long peut tomber avant la coupe.

1. Écrivez un petit codebook de la parole avant de comparer les résultats.

Un codebook est la liste écrite des étiquettes de la parole et des règles. Écrivez-le avant de chercher une tendance. Coder une ouverture, c'est lui donner une étiquette de la parole tirée de cette liste. Ces étiquettes sont des étiquettes d'étude manuelles. Ce ne sont pas des champs de l'Actor. Ce ne sont pas des formats gagnants prouvés.

Utilisez une étiquette principale par vidéo, sauf si vous écrivez d'abord une règle pour plus d'une étiquette. Une étiquette principale est l'unique étiquette de la parole pour cette vidéo. Combinez une question et un problème en question_problem. Si vous les séparez, une question sur un problème peut ressembler à deux accroches. Gardez promise et result-first distincts. Une promesse pointe vers l'avenir. result-first place la chose terminée dans l'ouverture. La liste d'étiquettes est question_problem, promise, result-first, spoken_demonstration_cue, other et no_clear_device. Les sous-titres manquants restent unknown. unknown ne figure pas dans cette liste sur la parole.

1. Regardez et écoutez la même fenêtre. Conservez des champs séparés.

Un champ est un emplacement nommé dans votre feuille. Lisez les mêmes 0-3 secondes. Notez ce que vous voyez dans un champ visuel. Notez les mots imprimés à l'écran dans leur propre champ. Notez le locuteur et les autres sons dans un champ audio. Notez la première action significative et son temps. Cette action est la première chose importante qui se produit dans la fenêtre.

Une démonstration silencieuse peut être une accroche visuelle même lorsque le texte des sous-titres est vide. Aucun champ de transcription ne reconnaît une scène. Ne collez pas une note visuelle dans l'étiquette de la parole. Les mots à l'écran ne sont pas des mots prononcés. Si vous n'avez pas noté un champ, laissez-le vide. Vide n'est pas la même chose qu'aucun.

1. Enregistrez la preuve, le codeur et l'incertitude.

Conservez le texte brut des sous-titres. Conservez une note manuelle séparée pour toute correction. Notez l'intervalle de temps, l'étiquette de la parole, le codeur et l'incertitude. Un codeur est la personne qui attribue l'étiquette. Relisez un petit pilote avec un second codeur, ou faites une seconde passe déclarée. Si les deux contrôles divergent, changez la règle ou la note. N'inventez pas un score d'exactitude. Ne remplacez pas le texte brut par la copie manuelle. Vous avez besoin des deux.

1. Comparez la présence des étiquettes dans l'échantillon déclaré.

Comptez les vidéos distinctes, chaque vidéo une seule fois. Ne comptez pas les segments de sous-titres. Deux segments dans une fenêtre restent une seule vidéo. Signalez les sous-titres unknown à part des ouvertures parlées contrôlées. Une part n'utilise que le dénominateur que vous nommez. Le dénominateur est le nombre par lequel vous divisez. Indiquez ce dénominateur dans le résultat.

Si vous comparez plus tard des compteurs publics, faites correspondre l'âge de la vidéo, le sujet et le temps. Dites que la correspondance décrit seulement l'ensemble. Elle ne montre pas qu'une étiquette a causé les totaux de ces compteurs. Ne conservez pas seulement les vidéos à nombre de vues élevé pour appeler leurs étiquettes gagnantes. La [question sur la rétention](https://www.reddit.com/r/TikTokMarketing/comments/1qcxv6a/low_retention_rate_on_my_gangster_snowman_tiktok/) ne prouve pas une cause, et les likes qui s'y trouvent ne montrent pas la rétention.

1. Utilisez la feuille pour planifier un nouveau test, pas un gain garanti.

Utilisez les codes et les notes pour concevoir une nouvelle ouverture que vous pouvez tester. Une hypothèse sur le contenu ou la conception de l'ouverture est cette idée de test. Ce n'est pas une amélioration promise. Cette méthode étudie une ouverture déjà présente dans la source. Elle ne choisit pas de nouveaux points de montage. Elle ne découpe pas un nouveau clip. Elle ne prédit pas un succès viral. Elle ne mesure pas la rétention. Elle ne lit pas l'image à votre place.

## Codebook de la parole

Les phrases d'exemple de ce codebook sont une fiction originale. Ce ne sont pas des mots du contrôle public. Ce ne sont pas un résultat de produit. Chaque vidéo reçoit une étiquette principale de la parole.

question_problem est l'étiquette principale combinée pour une question ou un problème nommé. N'ajoutez pas aussi une seconde étiquette de la parole pour la même vidéo. Une phrase fictive est « Votre plateau bascule-t-il ? »

promise signifie que le locuteur dit qu'un résultat viendra, mais le résultat terminé n'est pas dans l'ouverture. Une phrase fictive est « Je vais vous montrer un plateau de niveau. » Cela pointe vers l'avenir. Ce n'est pas result-first.

result-first signifie que l'ouverture énonce maintenant le résultat terminé. Une phrase fictive est « Voici le carré de jardin terminé. » Les mots placent le carré terminé dans l'ouverture. C'est différent d'une promesse d'un résultat ultérieur.

spoken_demonstration_cue signifie que des mots prononcés disent au spectateur de regarder une action. Une phrase fictive est « Regardez ce couvercle qui se clipse. » Une action silencieuse ne reçoit pas cette étiquette de la parole. Placez cette action dans le champ visuel.

other signifie qu'un contrôle valide a trouvé un dispositif parlé clair dans la fenêtre, et que ce dispositif se situe hors des catégories nommées. Le dispositif est à part. Ajoutez une courte note qui nomme le dispositif.

no_clear_device signifie qu'un contrôle valide des sous-titres ou un contrôle manuel valide n'a trouvé aucun dispositif parlé dans la fenêtre. Utilisez-le pour une parole contrôlée sans dispositif parlé. Utilisez-le aussi pour un silence confirmé. Ne l'utilisez pas lorsque la preuve manque ou lorsque le contrôle des sous-titres a échoué. Une preuve manquante ou un contrôle échoué reste unknown.

unknown signifie que vous n'avez pas de preuve parlée utilisable. C'est une marque de preuve manquante, pas une étiquette d'accroche. Une ligne no_public_captions reste unknown. Ne renommez pas unknown en no_clear_device. Ne renommez pas unknown en « pas d'accroche ». Ne traitez pas unknown comme zéro.

## Exemple fictif résolu pas à pas

Les quatre vidéos ci-dessous sont une fiction originale. Elles ne sont pas le contrôle public, et elles ne sont pas un résultat réel de créateur. La fenêtre est de 0-3 secondes pour chaque vidéo. Le codebook ci-dessus est le seul codebook de la parole. Une vidéo reçoit une étiquette principale de la parole, ou unknown.

Conservez un segment lorsque startSeconds est inférieur à 3 et que endSeconds est supérieur à 0.

| Vidéo | Statut | Sous-titre brut en chevauchement | Étiquette de la parole | Champ visuel | Champ audio | Première action | Mots à l'écran | Codeur | Incertitude |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| V1 | succeeded | 0.0-1.5 « Votre plateau bascule-t-il ? » Aussi 1.5-3.5 « Cette simple poignée le garde de niveau. » | question_problem | Un plateau qui bascule | La parole commence à 0,0 seconde | Le plateau bascule dans l'ouverture | Non fourni | Codeur A | Le second segment franchit la borne des 3 secondes |
| V2 | succeeded | 0.0-2.0 « Voici le carré de jardin terminé » | result-first | Le carré de jardin terminé | Le locuteur présente le carré comme déjà terminé | Le carré terminé est déjà montré | Non fourni | Codeur A | Le segment entier est dans les 0-3 secondes |
| V3 | no_public_captions | Aucun | unknown | Une démonstration silencieuse | Aucune preuve parlée utilisable | Une démonstration silencieuse | Non fourni | Codeur A | L'ouverture parlée est inconnue |
| V4 | succeeded | Aucun. Le premier sous-titre commence à 4,0 secondes | no_clear_device | Une démonstration avec une règle | Aucune parole dans la fenêtre de 0-3 secondes | Une action avec la règle à 1,0 seconde | Non fourni | Codeur A | Le visionnage manuel ne trouve aucune parole avant 3 secondes |

V1 a deux segments, et les deux satisfont le test de la fenêtre. Le premier va de 0,0 à 1,5 seconde. Son texte complet est « Votre plateau bascule-t-il ? » Ce segment se trouve dans la fenêtre. Le second va de 1,5 à 3,5 secondes. Son texte brut complet est « Cette simple poignée le garde de niveau. » Conservez cette phrase complète dans le champ brut. La phrase se termine à 3,5 secondes, donc seule sa première partie est dans la fenêtre. La note manuelle contient ce contrôle de limite. Ne coupez pas une part des lettres pour appeler cette part la parole dans la fenêtre. L'étiquette principale de la parole est question_problem. Les deux segments comptent encore comme une seule vidéo. Ils n'ajoutent pas une seconde étiquette principale.

V2 a un segment de 0,0 à 2,0 secondes. Le segment entier est dans la fenêtre. Les mots présentent dès maintenant le carré de jardin comme déjà terminé, donc l'étiquette de la parole est result-first. Ce n'est pas promise, parce que l'ouverture ne reporte pas le résultat. Le champ visuel montre le carré terminé comme une note séparée. Cette note n'est pas une seconde étiquette de la parole.

V3 a le status no_public_captions, donc il n'y a pas de texte de sous-titre à étiqueter. Un visionnage manuel montre une démonstration silencieuse. Notez cela seulement dans le champ visuel. La marque sur la parole reste unknown. Le sous-titre manquant n'est pas un silence de la parole, ni no_clear_device, ni un « pas d'accroche » pour la parole.

V4 a des sous-titres succeeded, mais le premier sous-titre commence à 4,0 secondes. Aucun segment n'a startSeconds inférieur à 3, donc aucun texte de sous-titre n'entre dans la fenêtre. Un premier sous-titre tardif n'est pas une preuve à lui seul. Le visionnage manuel confirme qu'il n'y a pas de parole de 0 à 3 secondes. L'étiquette de la parole est no_clear_device. Une action avec la règle a lieu à 1,0 seconde. C'est une démonstration visuelle. Ce n'est pas spoken_demonstration_cue, parce que la fenêtre n'a pas d'invite prononcée.

L'ensemble compte 4 vidéos sélectionnées. Les 4 ont une note visuelle manuelle. Les résultats contrôlés sur la parole sont 3 : V1, V2 et V4. Les résultats unknown sur la parole sont 1 : V3. Une des trois vidéos contrôlées est question_problem. La part contrôlée est 1 sur 3, soit 33,3 pour cent. Ne rapportez pas 1 sur 4 par habitude. Utilisez 4 seulement lorsque vous visez toutes les vidéos sélectionnées. Vous devez encore montrer la vidéo unknown, au nombre de 1. V3 n'ajoute pas un « pas d'accroche » pour la parole. V1 compte une seule fois, même avec deux segments. L'étiquette other n'est pas utilisée dans ces quatre lignes. Cette fiction n'utilise aucun nombre de vues, et elle ne nomme aucune étiquette gagnante.

Le texte brut et la note manuelle restent dans des champs séparés. Cet exemple n'invente pas un score d'accord. Un second codeur, ou une seconde passe, relirait ces quatre lignes. Un désaccord changerait la note ou la règle.

## Action suivante

Codez trois ouvertures contrôlées avec ce seul codebook. Conservez toute vidéo sans sous-titres comme unknown. Notez le champ visuel et le champ audio avant de tester une nouvelle ouverture. Utilisez le [TikTok Transcript Actor](https://apify.com/chronometrica/tiktok-transcript-scraper) avec la [Task de recherche d'accroches](https://apify.com/chronometrica/tiktok-transcript-scraper/examples/tiktok-hook-research) enregistrée. Remplacez la cible d'exemple par une vidéo publique connue. Si l'anglais est votre langue d'étude, réglez preferredLanguages sur ["en"].

## Sources et lectures complémentaires

- [TikTok Transcript Actor](https://apify.com/chronometrica/tiktok-transcript-scraper)
- [Task de recherche d'accroches TikTok](https://apify.com/chronometrica/tiktok-transcript-scraper/examples/tiktok-hook-research)
- [Une question sur des ouvertures différentes](https://www.reddit.com/r/TikTokMarketing/comments/1qcxv6a/low_retention_rate_on_my_gangster_snowman_tiktok/)
- [Listage manuel des accroches](https://www.reddit.com/r/scaleinpublic/comments/1sbnqmp/i_analyzed_500_tiktok_videos_promoting_indie_apps/)