

# How to Check TikTok Caption Words Before Research

Compare a declared sample of TikTok caption words with a human-checked audio reference to find word errors and meaning errors before your study.

## Native transcript setup and control

An Actor is a hosted program that collects web data, and a Task is a saved input configuration. The current Task sample input contains a startUrls array with one Hank Green video URL `https://www.tiktok.com/@hankgreen1/video/7047596209028074758` and an empty preferredLanguages list `[]`. Replace that whole sample list with your one intended known public video address in startUrls. Use preferredLanguages `["en"]` only if your study has a declared English language rule. Use an empty list `[]` to select the first public caption track in any language. Run this one-video pilot first to verify that public captions exist on your target source. A semantic error means a change in meaning that affects your study coding.

The TikTok Transcript current public build 0.1.36 accepts startUrls with 1 to 100 known public video URLs, short links, or numeric video IDs. It does not search profiles, keywords, or sound pages. The preferredLanguages field selects existing public tracks in preference order. An empty list uses the first public track. It does not translate, transcribe uncaptured audio, collect comments, or infer content codes.

One dataset row represents each submitted input, including nonbillable status outcomes. Exact fields are inputIndex, inputUrl, videoId, videoUrl, authorHandle, durationSeconds, languageCode, text, and segments with startSeconds, endSeconds, and text, plus status, statusReason, isBillable, and scrapedAt. Use returned startSeconds and endSeconds directly. Preserve video IDs as strings. Caption language may use a regional value like eng-US. A null or empty transcript with a failure status is not spoken silence.

Statuses include succeeded, no_public_captions, language_unavailable, duplicate_input, not_tiktok, invalid_input, unsupported_url, video_unavailable, not_public, blocked_or_challenged, and extraction or caption failures. Success requires nonempty text. True for isBillable means a successful native transcript result event. Other rows remain evidence. Platform usage is separate from a result event, so do not call the whole run free. Run accounting fields include inputsReceived, resultRows, billableTranscriptRows, nonBillableResultRows, duplicateVideosSkipped, and statusCounts.

The one-video English control succeeded with the exact requested video ID, nonempty text, and twelve segments of the checked timing shape. This proves a public caption path on that source, not all videos, perfect spoken word accuracy, or coding validity. Start your own one-video pilot with preferredLanguages set to en only if English is your declared study language.

## Complete audit method

1. State what your study needs from the words, such as a particular instruction, claim, or negation. Choose known videos under a declared sample rule, language, and time window. Missing captions cannot receive a zero error score.
2. Preserve native caption text, timing, source identity, and time unchanged. Start from a succeeded nonempty track. Record languageCode and status. Compare only a stated interval whose audio can be reviewed clearly. This is a speech word audit, not full video content accuracy.
3. Listen to the video audio for the selected interval and write down a human reference transcript without looking at the captions. Recheck any uncertain words or ask a second reviewer to listen as well. If audio is unclear or inaudible, mark those words and remove them under your declared rule rather than guessing. A human reference transcript is a checked comparison record, but human reviewers can still make errors.
4. Declare text normalization as explicit, standardized changes made to your working text before scoring. Convert all text to lowercase, remove standard punctuation, and split words by spaces into plain word tokens. Keep numbers, negation words like not, exact word forms, and filler words like um or ah in your working text. Do not strip word endings or convert words to root dictionary forms. Keep your raw text and working text side by side to track every change.
5. Align reference words with caption words in order. A substitution is a different aligned word. A deletion is a reference word absent from captions. An insertion is a caption word absent from the reference. Record the exact aligned rows.
6. Define N as the reference word count, and S, D, and I as the aligned error counts for substitutions, deletions, and insertions. Word error ratio equals open parenthesis S plus D plus I close parenthesis divided by N. Multiply by 100 to get the percent. N must be positive. Insertions can make the ratio exceed 100 percent.
7. For a combined sample, use total errors divided by total reference words for the pooled word ratio. Keep per-video results as well. Show missing or unscored samples separately. A convenient sample cannot establish accuracy for all videos.
8. Add semantic error notes for negation, numbers, names, units, speaker attribution, or omissions affecting the study code. A one-word mistake can reverse meaning. Decide whether to correct a separate analysis copy, exclude or review a passage, or use manual coding. Keep corrections, time, source, and provenance. Do not overwrite raw captions.

## Worked examples and alignments

All scoring is manual fiction, not an executed NIST run.

For fictional alignment A, the 5-word reference text is "i water the red plant" and the caption text is "i water a red plan".

| Reference Word | Caption Word | Error Type |
| --- | --- | --- |
| i | i | Correct |
| water | water | Correct |
| the | a | Substitution |
| red | red | Correct |
| plant | plan | Substitution |

Fictional alignment A contains S equals 2, D equals 0, and I equals 0. The word error ratio is 2 divided by 5, which equals 40 percent.

For fictional alignment B, the 10-word reference text is "we do not add water until the tray is level" and the caption text is "we do add water until the tray is level".

| Reference Word | Caption Word | Error Type |
| --- | --- | --- |
| we | we | Correct |
| do | do | Correct |
| not | [deleted] | Deletion |
| add | add | Correct |
| water | water | Correct |
| until | until | Correct |
| the | the | Correct |
| tray | tray | Correct |
| is | is | Correct |
| level | level | Correct |

Fictional alignment B contains S equals 0, D equals 1, and I equals 0 at the word not. Every other reference word aligns once. The word error ratio is 1 divided by 10, which equals 10 percent.

Despite a lower word ratio, the deletion reverses the instruction. Record a critical negation error and keep that passage marked for review.

The unweighted mean of the video error percentages is (40+10)/2=25%. The pooled word error ratio across both videos is (2+1)/(5+10)=3/15=20%. An unweighted average gives 25% because it applies equal weighting to each video regardless of length. The pooled calculation gives 20% because it weights each error by total reference words across the whole sample.

| Sample | Reference N | Substitutions | Deletions | Insertions | Word Error Ratio | Semantic Notes |
| --- | --- | --- | --- | --- | --- | --- |
| Fictional A | 5 | 2 | 0 | 0 | 40 percent | Noun and article changed |
| Fictional B | 10 | 0 | 1 | 0 | 10 percent | Critical negation deleted |
| Fictional C | 1 | 0 | 0 | 4 | 400 percent | Added extra words |
| Failed Row | Unknown | Unknown | Unknown | Unknown | Unscored | Missing caption track |
| Pooled A plus B | 15 | 2 | 1 | 0 | 20 percent | Combined word total |

Example C has reference "water" (N equals 1) and caption "please add clean water now" with 0 substitutions, 0 deletions, and 4 insertions, giving 4 divided by 1 or 400 percent word error ratio. A failed caption row has unknown error counts and remains unscored, which is distinct from 0 percent error.

## Next action

Make one independent audio reference, check its word alignment against the caption text, and record both word errors and study-critical meaning errors before [using the text in your study](/en/articles/tiktok-thesis-transcripts/). Run your transcript collection using the [TikTok Transcript Scraper Actor](https://apify.com/chronometrica/tiktok-transcript-scraper) with the preset configuration from the [TikTok Transcript API Dataset Task](https://apify.com/chronometrica/tiktok-transcript-scraper/examples/tiktok-transcript-api-dataset).

## Sources

- [NIST SCTK Word Error Scoring Documentation:](https://github.com/usnistgov/SCTK/blob/master/doc/sclite.htm#word-error-scoring)
- [NIST SCTK Output Examples:](https://github.com/usnistgov/SCTK/blob/master/doc/outputs.htm)
- [NIST Speech Recognition Tools Index:](https://www.nist.gov/itl/tted/mltg/tools)
- [Public Dataset Example:](https://apify.com/chronometrica/tiktok-transcript-scraper/examples/tiktok-transcript-api-dataset)