Whisper Upload-Week Trailer Caption Lint Before Store Video Slot - 2026 Strategy

Thursday afternoon of October upload week is a bad time to learn that auto-captions turned your game name into a normal word, mangled a boss name, or skipped the one subtitle line explaining that the footage is from the demo build. The depot may be GREEN, the Wednesday smoke row review may say store_publish_allowed: true, and the trailer thumbnail pass may look clean. Then the store video slot goes live with captions that make the page feel stale.
October 2026 upload week needs a dedicated Whisper trailer caption lint step because store pages now compress video, capsule, depot, and partner-proof work into the same few days. Auto-caption tooling is useful, but it does not know your game title, move names, UI labels, accessibility claims, content warnings, or build-specific nouns. If you wait until after store video publish, every correction competes with depot smoke, SETLIVE proof, press kit refreshes, and Friday capstone closeout.
This AI Integration / Workflow article owns the caption correctness layer for the October upload cluster: extract trailer audio, run Whisper, compare generated captions against a proper-noun and claim list, fix the .vtt / .srt, clear C1-C6, file trailer_caption_lint_receipt_v1.json, and set BUILD_RECEIPT trailer_caption_lint_ok: true before the store video slot is considered publish-ready.
Non-repetition note: Local Whisper playtest triage owns long playtest VOD folders. Multilingual Whisper localization triage owns loc_triage_queue[] before string freeze. Creator highlight reel handoff owns reel_manifest[]. Trailer thumbnail safe-zones owns the still image. This URL owns store trailer caption lint: proper nouns, claims, subtitle timing, and receipt proof before video upload.
Pair this with SteamCMD validation tools, Steam store trailer muted-state help, AI RPG live-ops lesson 273, and Wednesday depot smoke. Forward #12 Friday capstone consumes this caption latch.
Why this matters now (October 2026 upload week)
- Store video slots are part of release trust - A caption typo on a trailer can undermine an otherwise correct depot and store publish checklist.
- Auto-caption mistakes are predictable - Game titles, ability names, invented terms, platform labels, and pronunciation-heavy character names fail more often than plain narration.
- Accessibility claims need proof - If a store page implies subtitle or caption support, the uploaded video should not contradict that claim with broken captions.
- Thursday is crowded - Metadata, trailer art, depot smoke, and partner checks already compete for time; captions need a small gate, not a panic thread.
- Whisper is cheap enough to run twice - One pass generates a transcript, a second pass after fixes proves no unreviewed caption drift remains.
Direct answer: Before publishing the October store trailer, extract clean audio, run Whisper, compare captions against a proper-noun and claim list, fix timing and spelling, clear C1-C6, file trailer_caption_lint_receipt_v1.json, and latch BUILD_RECEIPT trailer_caption_lint_ok: true. If proper nouns, store claims, or timing fail, the store video slot is not ready.
Who this strategy is for
| Audience | Outcome |
|---|---|
| Beginner creator | A 30-minute path to catch obvious caption mistakes before upload |
| Solo founder | A stop rule for "we will fix captions later" during upload week |
| Trailer editor | A proof list for .vtt / .srt spelling and timing fixes |
| Working dev / producer | C1-C6 receipt gates that can feed BUILD_RECEIPT and Friday capstone |
Time estimate: 30-45 minutes for a two-minute trailer after the noun list exists; 60-90 minutes the first time you set up the folder and receipt.
Prerequisites: final or near-final trailer export, local audio extraction with FFmpeg or editor export, Whisper or compatible transcription tool, caption file target (.vtt or .srt), game proper-noun list, current BUILD_RECEIPT.
Format ladder for the October trailer lane
| Layer | URL or artifact | Owns |
|---|---|---|
| Art | Trailer thumbnail safe-zone pass | V1-V6 thumbnail readability |
| Audio/video symptom | Steam trailer muted-state help | Muted autoplay and embed mismatch recovery |
| Caption lint | This article | C1-C6 caption correctness before store video publish |
| Depot/store latch | Wednesday depot smoke | Store publish allowed after installed smoke |
| Tooling | SteamCMD validation resources | Steam release proof stack |
| Course milestone | Lesson 273 | Whisper/loudness receipt habits in BUILD_RECEIPT |
The important distinction: captions are text truth, not thumbnail truth and not depot truth. A trailer can pass thumbnail V-gates and still fail caption C-gates.
Beginner path - proper nouns to fixed captions
If you have never done caption QA before, start with a tiny folder:
release-evidence/
steam/
trailer-caption-lint/
trailer-final.mp4
trailer-final.wav
proper-nouns.txt
whisper-raw.vtt
captions-fixed.vtt
trailer_caption_lint_receipt_v1.json
Step 1 - Write the noun list first
Create proper-nouns.txt before you run Whisper:
GamineAI
SteamPipe
BUILD_RECEIPT
October Next Fest
Wishforge
Moonlit Depot
Aria Mode
RC-2026-10
Use your real game nouns and build labels. Do not include fake studio names, fake testimonials, or invented community quotes. The list is a lint target, not marketing copy.
Beginner rule: If the trailer says a word that appears in the UI, store copy, build label, or accessibility claim, put it in the noun list.
Step 2 - Extract audio
ffmpeg -y -i trailer-final.mp4 -vn -ac 1 -ar 16000 trailer-final.wav
You can also export WAV from your editor. Keep it mono and readable. Whisper does not need the final video container, only the audio track.
Step 3 - Run Whisper
whisper trailer-final.wav --model small --language en --output_format vtt --output_dir .
If your trailer narration is not English, set --language correctly. If it mixes languages, split the audio region or run a second pass for the non-English lines. Do not force English just to finish the checklist.
Step 4 - Compare against the noun list
Open whisper-raw.vtt and search for each proper noun. Typical failures:
| Expected | Bad caption | Fix |
|---|---|---|
| GamineAI | gaming AI | GamineAI |
| BUILD_RECEIPT | build receipt | BUILD_RECEIPT when referring to the artifact |
| SteamPipe | steam pipe | SteamPipe |
| Aria Mode | area mode | Aria Mode |
| RC-2026-10 | RC twenty twenty six ten | RC-2026-10 if shown visually or spoken as label |
Not every lowercase phrase is wrong. If the narrator literally says "build receipt" as plain English, keep it plain. If the trailer points at the artifact or file, use BUILD_RECEIPT.
Step 5 - Fix and re-read
Save the corrected file as captions-fixed.vtt. Read it once without the video and once with the video. The no-video read catches grammar and spelling. The with-video read catches timing, missing context, and moments where captions cover important footage.
Success check: A teammate who has not edited the trailer should understand the game title, core promise, content warning, and demo-scope line from captions alone.
Gates C1-C6
| Gate | Name | Pass criteria | Fail action |
|---|---|---|---|
| C1 | Source lock | Trailer filename, export hash, and duration match the intended store upload | Re-export or re-hash before lint |
| C2 | Whisper raw | Raw transcript exists with model, language, timestamp, and command recorded | Re-run transcription |
| C3 | Proper nouns | Every noun in proper-nouns.txt is found or intentionally waived |
Fix spelling or add waiver |
| C4 | Store claims | Captions match demo scope, accessibility, content warning, and platform claims | Rewrite claim line |
| C5 | Timing/readability | Captions are not too fast, too late, or covering critical visual text | Retime .vtt / .srt |
| C6 | Receipt latch | trailer_caption_lint_receipt_v1.json filed and BUILD_RECEIPT updated |
Block store video publish |
C3 and C4 are the most common upload-week blockers. C3 catches embarrassing spelling. C4 catches legal and trust problems: a trailer saying "full co-op campaign" when the demo has a solo build, or captions omitting the content warning line.
The receipt schema
Save this as release-evidence/steam/trailer-caption-lint/trailer_caption_lint_receipt_v1.json:
{
"receipt_version": "trailer_caption_lint_receipt_v1",
"trailer_file": "trailer-final.mp4",
"trailer_sha256": "REPLACE_WITH_SHA256",
"duration_seconds": 118.42,
"caption_source": "whisper-small-en",
"caption_raw_path": "release-evidence/steam/trailer-caption-lint/whisper-raw.vtt",
"caption_fixed_path": "release-evidence/steam/trailer-caption-lint/captions-fixed.vtt",
"proper_noun_list_path": "release-evidence/steam/trailer-caption-lint/proper-nouns.txt",
"proper_nouns_checked": [
"GamineAI",
"SteamPipe",
"BUILD_RECEIPT",
"October Next Fest"
],
"claim_checks": [
{
"claim": "demo build footage",
"caption_timecode": "00:00:08.200",
"status": "pass"
},
{
"claim": "captioned trailer",
"caption_timecode": "00:01:41.000",
"status": "pass"
}
],
"gates": {
"C1_source_lock": "pass",
"C2_whisper_raw": "pass",
"C3_proper_nouns": "pass",
"C4_store_claims": "pass",
"C5_timing_readability": "pass",
"C6_receipt_latch": "pass"
},
"waivers": [],
"trailer_caption_lint_ok": true
}
Add only real claims you can point to in the caption file or store copy. If a claim is not in the trailer, do not invent a check row to make the receipt look longer.
Verification script sketch
The C-gates can be reviewed manually, but a small script catches obvious drift:
#!/usr/bin/env bash
set -euo pipefail
ROOT="release-evidence/steam/trailer-caption-lint"
CAPTIONS="$ROOT/captions-fixed.vtt"
NOUNS="$ROOT/proper-nouns.txt"
RECEIPT="$ROOT/trailer_caption_lint_receipt_v1.json"
test -f "$CAPTIONS"
test -f "$NOUNS"
test -f "$RECEIPT"
while IFS= read -r noun; do
[ -z "$noun" ] && continue
if ! grep -Fq "$noun" "$CAPTIONS"; then
echo "Missing noun in fixed captions: $noun" >&2
exit 3
fi
done < "$NOUNS"
jq -e '.trailer_caption_lint_ok == true' "$RECEIPT" >/dev/null
jq -e '.gates.C1_source_lock == "pass"' "$RECEIPT" >/dev/null
jq -e '.gates.C6_receipt_latch == "pass"' "$RECEIPT" >/dev/null
This is intentionally narrow. It does not replace watching the trailer. It only prevents the most embarrassing state: a receipt says GREEN while a required noun is missing from the fixed captions.
BUILD_RECEIPT handoff
Once C1-C6 are GREEN, add a short row to the release BUILD_RECEIPT:
{
"store_video": {
"trailer_caption_lint_receipt": "release-evidence/steam/trailer-caption-lint/trailer_caption_lint_receipt_v1.json",
"trailer_caption_lint_ok": true,
"caption_file": "release-evidence/steam/trailer-caption-lint/captions-fixed.vtt",
"caption_checked_at_utc": "2026-10-01T17:30:00Z"
}
}
Friday capstone should read this row beside depot, store publish, thumbnail, overtime, and SETLIVE latches. A missing caption row does not always block depot promotion, but it should block the store video slot if the trailer is part of the public store page update.
Common mistakes
Mistake 1 - Treating captions as optional polish
Captions are not only polish when they carry content warnings, demo scope, accessibility language, or narrated feature claims. If the caption says the wrong feature or skips the warning, the player-facing page is wrong.
Mistake 2 - Fixing the transcript but not the caption file
Teams sometimes correct a plain .txt transcript and forget that the upload uses .vtt or .srt. The receipt must point to the actual file intended for upload.
Mistake 3 - Ignoring title-card text
If the trailer has title-card text, captions still need to make sense around it. Do not stack captions over the only readable UI text. Pair with the thumbnail safe-zone pass when visual text and subtitle text compete.
Mistake 4 - Using a stale trailer export
C1 fails when the caption file was checked against trailer-final-v4.mp4 but the store upload is trailer-final-v5.mp4. Hash the intended upload file before claiming GREEN.
Mistake 5 - Letting nice-to-have wording create overtime
October upload overtime caps matter here. Fix broken proper nouns and claims. Do not approve late-night contractor time for style preferences that do not affect correctness, accessibility, or store truth.
Producer checklist
Use this ten-minute card before the store video slot:
TRAILER CAPTION LINT - OCTOBER UPLOAD
[ ] C1 trailer export hash matches intended upload
[ ] C2 Whisper raw output recorded
[ ] C3 proper nouns checked in captions-fixed.vtt
[ ] C4 store claims and warnings match captions
[ ] C5 timing/readability watched in-player
[ ] C6 trailer_caption_lint_receipt_v1.json filed
[ ] BUILD_RECEIPT store_video.trailer_caption_lint_ok = true
DECISION: store video slot publish YES / NO
If the answer is NO, publish can still continue for unrelated depot work, but the video slot should wait or ship without the caption-dependent claim.
Enterprise and partner diligence notes
Caption lint is useful beyond indie polish:
| Concern | What the receipt proves |
|---|---|
| Accessibility | Captions were reviewed against the intended public trailer |
| Brand/IP | Proper nouns and game terms were checked before upload |
| Platform claims | Store video claims match demo scope and build evidence |
| Localization handoff | Non-English lines were not forced through the wrong Whisper language |
| Audit trail | BUILD_RECEIPT can point to source, fixed captions, and review time |
For partner packets, include the receipt path and the final caption file, not only a screenshot of the trailer page. Screenshots prove the video exists; the receipt proves the captions were actually reviewed.
Red yellow green stop rules
Caption lint works best when the team agrees what blocks publish and what moves to the normal content backlog. Without stop rules, every line becomes subjective.
| Status | Example | Decision |
|---|---|---|
| RED | Game title, content warning, platform claim, demo-scope line, or accessibility claim is wrong | Block store video slot until fixed |
| YELLOW | Minor timing drift on a non-claim line, one low-risk noun waived with owner approval | Publish only if receipt documents waiver |
| GREEN | Proper nouns, claims, timing, and file paths pass C1-C6 | Publish video slot and feed Friday capstone |
Use RED sparingly but seriously. "SteamPipe" becoming "steam pipe" may be harmless in casual narration, but not if the trailer shows a release receipt and the caption is meant to name the tool. "Demo footage" becoming "full release footage" is always RED because it changes player expectation.
Use YELLOW for issues that are visible but not misleading. A subtitle that appears a fraction late during a quiet logo sting may be fine if the claim line is still readable and no important UI is covered. Document the waiver in waivers[] with a reason and owner. Do not bury it in chat.
Use GREEN only when the fixed caption file is the same one intended for upload. If the editor exports a new video after C6, the status resets to RED until C1 source lock is re-checked.
Caption lint roster
Small teams often fail this step because nobody owns the final read. Assign roles before Thursday:
| Role | Person or function | Checks |
|---|---|---|
| Editor | trailer owner | export hash, caption file path, timing |
| Producer | store owner | claims, warnings, publish decision |
| Engineer | receipt owner | script, BUILD_RECEIPT row, C1-C6 latch |
| Fresh reader | teammate not editing video | proper nouns, clarity, obvious typos |
The fresh reader matters. The editor has heard the line twenty times and will mentally correct the caption. Someone outside the edit sees "Moonlit Depot" becoming "moonlit deepo" immediately.
If the team is only one person, split the task across time. Run Whisper, walk away for ten minutes, then read the captions as if you were a player. It is not as good as a fresh reviewer, but it is better than correcting while the narration is still in your head.
Claims that deserve extra attention
Some caption lines carry more risk than others:
| Claim type | Why it matters | Example check |
|---|---|---|
| Demo scope | Avoids players expecting full-game content | "Demo build footage" appears exactly once and is readable |
| Accessibility | Captions themselves support the claim | "Subtitles available" is not contradicted by missing caption file |
| Platform | Store/platform language must match release plan | "Steam demo" is not captioned as "stream demo" |
| Content warning | Mis-captioned warnings create trust and compliance risk | Warning line appears with enough duration to read |
| Build label | Partner proof depends on exact label | RC-2026-10 matches BUILD_RECEIPT |
Treat these as C4 anchors. If every low-risk flavor line passes but one anchor fails, the receipt is still RED.
When to rerun the lint
Rerun C1-C6 when any of these happen:
- The trailer file is re-exported, even for "only color" or "only audio gain."
- The narration, title card, disclaimer, or end slate changes.
- The store page changes a claim that the trailer repeats.
- The thumbnail safe-zone pass moves text in a way that makes captions cover UI.
- Friday capstone finds a mismatch between caption file path and BUILD_RECEIPT.
You do not need to rerun full Whisper if only a caption line is manually retimed and no audio changed. You do need to update the receipt timestamp, C5 note, and hash/path evidence so the final uploaded file is traceable.
Example waiver
Waivers should be rare and boring:
{
"waiver_id": "CAPTION-YELLOW-001",
"gate": "C5_timing_readability",
"line_timecode": "00:01:52.400",
"issue": "Caption begins 0.2s late during non-claim logo sting",
"risk": "low",
"owner": "producer",
"expires_after": "2026-10-04T23:59:59Z",
"decision": "allow_store_video_publish"
}
Do not waive C3 proper-noun failures for the game title, build label, content warning, or platform name. Those are the whole reason the lint exists.
How this connects to official Steam video work
Steam store presentation changes over time, so always check current Steamworks guidance before upload. Start with the official Steamworks Store Presence documentation and the media asset guidance available inside Steamworks for trailers and store assets. Use this article as an internal lint workflow, not as a substitute for platform requirements.
The practical rule is stable: keep the uploaded video, caption file, thumbnail, and store claims consistent. If one surface changes, re-run the matching receipt gate.
Key takeaways
- October upload week needs a dedicated Whisper trailer caption lint step before store video publish.
- Auto-captions often fail game names, build labels, invented terms, and accessibility claims.
- C1-C6 cover source lock, raw Whisper output, proper nouns, store claims, timing, and receipt latch.
trailer_caption_lint_receipt_v1.jsonshould point to the actual fixed.vttor.srt.- BUILD_RECEIPT should include
trailer_caption_lint_ok: truebefore Friday capstone consumes the video row. - Caption lint is distinct from thumbnail safe-zone work, depot smoke, and multilingual LQA triage.
- Use Steam trailer muted-state help for embed/audio symptoms, not caption spelling.
- Use SteamCMD tools for release proof around the video slot.
- Pair with Lesson 273 if the team needs a BUILD_RECEIPT-style Whisper habit.
- Nice-to-have caption style edits should not create unlimited upload-week overtime.
FAQ
Is Whisper required for trailer captions?
No. The workflow requires a transcript and caption lint pass, not one specific tool. Whisper is useful because it is fast, local-friendly, and easy to rerun. If your editor or caption vendor produces better captions, still clear C1-C6 and file the same receipt.
Should caption lint block store publish?
It should block the store video slot when captions carry proper nouns, demo-scope claims, accessibility language, or warnings. It does not necessarily block depot promotion. Keep the decision specific: depot work can continue, but public video should not ship with known caption errors.
What is the best format for Steam trailer captions?
Use the format your store upload pipeline accepts and your team can verify reliably. Keep a fixed source file such as .vtt or .srt, store it beside the receipt, and ensure the uploaded video row in BUILD_RECEIPT points to the final checked file.
How is this different from localization Whisper triage?
Localization triage routes multilingual playtest clips into LQA tickets before string freeze. Trailer caption lint checks one public store trailer and its caption file before upload. Both can use Whisper, but the schemas, risks, and pass/fail gates are different.
What if the trailer has no narration?
Still run a lightweight C-gate. Mark C2 as "no spoken transcript" only after checking audio. C4 still matters if the video has title cards, warnings, or on-screen text that implies a store claim. File a receipt that explains why no caption track is needed.
Related reads
- October Fest Trailer Thumbnail Safe-Zone Pass Without Waveform Crush
- Wednesday Depot Smoke BUILD_RECEIPT Row Review Before Thursday Store Publish
- Whisper Multilingual Playtest to Localization Bug Triage Before String Freeze
- Steam Store Trailer Autoplay Muted-State Desync Fix
- 10 Free SteamCMD SteamGuard Depot Owner Validation Tools
- AI RPG Lesson 273 - Audacity Playtest VOD Loudness Spot Whisper Receipt
- Official docs: Steamworks Store Presence
Closing
Caption lint is small, but it protects a public trust surface. Run Whisper, check the words players will actually read, fix the caption file you intend to upload, and leave a receipt Friday capstone can understand. A trailer with correct captions feels boring in the best way: the player notices the game, not the mistake.