Cover & Titles A/B
Generate 3–4 cover versions and 6–10 titles at once, following the "change only one variable at a time" testing approach. Script: scripts/cover_ab.py.
Part of ecommerce-video-skills · Need more polished cover base images? Use the sister repository ecommerce-image-skills's
xiaohongshu-coverto generate 3:4 covers.
Inputs
- Finished video (or clean base image:
build/stillXX.png, product scene image) - Hook/selling points (can come from
hook-3s-script) - Platform: 抖音/TikTok (9:16 cover + 3:4 preview crop) · 小红书 (3:4)
Steps
-
Write titles (see template): each ≤ 14 characters, covering different hook types.
-
Generate covers:
# Recommended: use clean base images without subtitles python scripts/cover_ab.py out/video.mp4 --images build/still00.png build/still03.png build/still04.png \ --titles "Can't make iced water last till noon?|Ice from morning still there at night|Leak-proof bottle for commute bags" --ratio 3:4 --outdir out/covers # Or auto-select the sharpest frames from the finished video (may contain subtitles) python scripts/cover_ab.py out/video.mp4 --titles "Title A|Title B" --ratio 9:16Outputs
cover_A.jpg,cover_B.jpg… and comparison sheetab_sheet.jpg; four layout styles rotate (yellow text with black stroke / white text with red stroke / yellow background black text banner / semi-transparent black background white text). -
Design the test: change only one variable at a time (title OR base image OR layout); publish at the same time period with similar traffic; or use the platform's built-in cover/title testing feature (if available).
-
Record (see table below), using platform metrics like click-through rate and completion rate as the basis, not gut feeling.
Title formulas
| Type | Example |
|---|---|
| Pain point question | Can't make iced water last till noon? |
| Result | Ice from morning still there at night |
| Scenario | Leak-proof bottle for commute bags |
| Numbered list | 3 points to look for when choosing a thermos |
| Contrast | Looks ordinary, but can really take it |
| Comparison | Regular cup vs this one, after 8 hours (requires actual testing) |
Prompt template
Write 8 cover titles (≤14 characters each) and 4 publishing copy variants (≤60 characters each, with 2–3 hashtags) for this e-commerce video.
Product: {…}; Real selling points: {…}; Platform: {…}
Each title should use a different type (pain point/result/scenario/numbered list/contrast/comparison). Avoid absolute claims and unprovable data.
Output: table (number/type/title/recommended base image/recommended layout) + recommended initial A/B combination and reasoning.
A/B tracking table
| Version | Title | Base image | Layout | Publish time | Impressions | Click-through rate | Completion rate | Conclusion |
|---|---|---|---|---|---|---|---|---|
| A | Can't make iced water last till noon? | still00 | Yellow text, black stroke | |||||
| B | Ice from morning still there at night | still03 | White text, red stroke |
Checklist
- Title ≤ 14 characters, legible on mobile thumbnail
- Cover subject clear, product identifiable; text does not obscure product
- After 3:4 crop, title remains complete (video account/Douyin feed preview)
- Only one variable changed at a time; data recording complete
- No absolute claims, no false data
Common issues & fixes
| Issue | Fix |
|---|---|
| Double text overlayed on cover | Use --images to pass clean base images, not frames from finished video |
| Title wraps awkwardly | Shorten to ≤10 characters, or manually break at appropriate points |
| Auto-selected frame is blurry | Specify --frame-time or use --images |
| Test conclusions inconsistent | Sample size too small; extend test period or compare only versions with clear differences |