TikTok Content Generator
Generate video script, carousel/photo mode, and stitch/duet concept from content atoms.
Inputs
You receive from the orchestrator:
- Content atoms (typed and impact-rated)
- Main argument, target audience, primary topic
- Brand voice profile (5-dimension scores or override flag)
- Flags:
--brief (video script only), --images (generate cover/thumbnail prompts)
References
Load before generating:
references/platform-specs.md -- video specs, carousel format, algorithm weights
references/hook-formulas.md -- opening hooks, pattern interrupts
references/voice-adaptation.md -- TikTok tone rules (fast, casual, raw/authentic)
Platform Rules
| Spec |
Value |
| Video length |
15-60s sweet spot (up to 3 min, 10 min for some accounts) |
| Video dimensions |
1080x1920 (9:16) |
| Carousel/Photo mode |
2-10 slides, 1080x1350 (4:5) |
| Algorithm priority |
Completion rate #1, then shares, comments, likes |
| Hook window |
0.5-1.5 seconds (determines whether viewer stays or scrolls) |
| Hashtags |
3-5 (mix 1-2 trending + 2-3 niche) |
| Text overlay safe zone |
Avoid bottom 20% (TikTok UI overlap) |
| Post types |
Video, photo carousel, stitch, duet, LIVE |
| Best time |
Tue/Thu/Sat 7-9 PM |
Output 1: Video Script (15-60s)
Write to tiktok/video-script.md.
Timestamp Structure
| Timestamp |
Section |
Content |
| 0-1.5s |
Hook |
Pattern interrupt, bold claim, or unexpected question. This single moment determines everything. |
| 1.5-5s |
Context |
Quick setup: who you are OR why this matters. Keep it raw, not polished. |
| 5-25s |
Value |
Core insight from 2-3 highest-impact atoms. Jump cuts every 2-3 seconds. Each sentence must earn the next. |
| 25-45s |
Proof |
Stat, result, example, or before/after. Show, don't just tell. |
| 45-55s |
CTA |
Follow, comment, stitch, or "link in bio." Only ONE ask. |
| 55-60s |
Loop hook (recommended) |
Final line connects back to the opening -- encourages rewatch (boosts completion rate significantly). |
Video Script Rules
- Every second must justify the next. If a viewer can skip 3 seconds and miss nothing, cut those 3 seconds.
- Jump cuts every 2-3 seconds minimum. No static talking-head shots longer than 3s.
- Write the script as spoken words, not written prose. Fragments. Pauses. Emphasis marks.
- Completion rate is king. A 30s video with 90% completion massively outperforms a 60s video with 40%.
- The hook must work with sound OFF (text overlay carries it) and sound ON (voice carries it).
Text Overlay Plan
For each timestamp section, specify:
| Timestamp |
On-Screen Text |
Position |
Animation |
| 0-1.5s |
[Hook phrase, 3-6 words] |
Top-center |
Pop-in or zoom |
| 1.5-5s |
[Context keyword] |
Center |
Typewriter |
| 5-25s |
[Key phrases per jump cut] |
Top or center |
Cut-sync |
| 25-45s |
[Stat or result number] |
Center-bold |
Scale-up |
| 45-55s |
[CTA text] |
Center |
Pulse |
Critical: Avoid bottom 20% of frame for all text overlays -- TikTok's UI (caption, buttons, progress bar) covers this area.
Audio Direction
- Option A: Voiceover -- The script IS the voiceover. Write it conversationally with natural pauses.
- Option B: Trending sound -- Note: "Use trending audio for discoverability. Voice as text overlay only."
- Option C: Original audio -- Direct-to-camera delivery. Mark emphasis and pace changes.
- Always recommend trending sound research: "Check TikTok's Creative Center for current trending sounds in [niche]."
Tone Rules
| Do |
Do NOT |
| Use casual, conversational language |
Use corporate or formal phrasing |
| Start mid-thought ("So I just found out...") |
Start with introductions ("Hi, I'm...") |
| Use trending phrases and patterns |
Use dated slang or forced memes |
| Speak in short, punchy fragments |
Write in complete, polished sentences |
| Be raw and authentic |
Over-produce or over-edit the feel |
| Use "you" and "I" naturally |
Lecture or teach from above |
| Show genuine reactions and opinions |
Be neutral or hedging |
Output 2: Carousel / Photo Mode (2-10 Slides)
Write to tiktok/carousel.md.
Slide Structure
| Slide |
Purpose |
Content |
| Slide 1 |
Stop the scroll |
Hook headline (5-8 words), bold visual, "Swipe" implied by format |
| Slides 2-5 |
Core value |
One idea per slide from highest-impact atoms. Text-forward, minimal graphics. |
| Slides 6-8 |
Proof + examples |
Stats, comparisons, or actionable steps |
| Final slide |
CTA |
Follow + save prompt, or teaser for related content |
Carousel Rules
- Dimensions: 1080x1350 (4:5) for all slides
- TikTok carousels are text-forward -- prioritize readability over visual complexity
- One idea per slide, large readable text
- Consistent visual style across slides
- TikTok carousel captions are shorter than Instagram -- keep to 150-300 chars
- Photo mode is a rising format with lower competition than video (2026)
Caption for Carousel
- 150-300 characters (shorter than Instagram)
- Hook in first line
- 3-5 hashtags (mix trending + niche)
- End with engagement prompt ("Save this for later" or "Which one surprised you?")
Output 3: Stitch/Duet Concept
Write to tiktok/stitch-duet.md.
Concept Structure
| Field |
Content |
| Trending angle |
Describe the type of trending content to respond to (not a specific video) |
| Your hook |
Opening line for the stitch/duet (0.5-1.5s) |
| Response script |
15-30s script with your angle from the atoms |
| Why it works |
1-2 sentences on why stitch/duet boosts reach (algorithm loves participatory content: 20-30% more reach) |
Stitch vs Duet
- Stitch: Use the first 1-5s of another video, then cut to your take. Best for "reacting to" or "adding to" a trending topic.
- Duet: Side-by-side with another video. Best for comparisons, demonstrations, or visual responses.
Concept Rules
- Suggest the TYPE of trending content to stitch/duet with, not a specific creator or video
- The response portion must deliver standalone value from the atoms
- Frame as contributing to a conversation, not stealing content
- Keep the response to 15-30 seconds
Image Prompts
If --images flag is set, suggest:
- Video thumbnail: 9:16 (1080x1920) eye-catching cover frame concept
- Carousel slides: 4:5 (1080x1350) visual concepts for key slides
- Include /banana prompt descriptions
Output Format
Each file should include content plus production notes:
# TikTok Video Script: [Topic]
## Hook (0-1.5s)
**Say:** "[spoken text]"
**Text overlay:** [on-screen text] | Position: [top/center] | Animation: [type]
**Visual:** [what the viewer sees]
## Context (1.5-5s)
...
---
**Production notes:** [audio direction, posting time, hashtag suggestions, trending sound research]
Brief Mode
If --brief is active, produce only:
- 1 video script (15-60s)
- Skip carousel and stitch/duet concept
Error Handling
| Condition |
Action |
| Fewer than 3 atoms |
Write a shorter script (15-30s); focus on one insight |
No stat or casestudy atoms |
Skip the Proof section; extend Value section |
brief_mode is true |
Generate video script only; skip carousel and stitch/duet |
| Content is too academic/formal |
Increase casual rewording; add "imagine this..." framing |
| Topic doesn't suit video |
Prioritize carousel/photo mode over video script |
| Content is purely promotional |
Reframe around the insight; strip product mentions |
1---2name: repurpose-tiktok3description: Generates TikTok content from content atoms: video scripts (15-60s) with hook-first structure and text overlay timestamps, carousel/photo mode scripts (2-10 slides), and stitch/duet concepts for trend-riding. Optimizes for completion rate and hook engagement. Sub-skill of the Content Repurposing Engine. Use when user says "tiktok", "tiktok script", "tiktok video", "tiktok carousel", "tiktok stitch", "tiktok duet", "tiktok photo mode", or "repurpose for tiktok".4license: MIT5---67# TikTok Content Generator89Generate video script, carousel/photo mode, and stitch/duet concept from content atoms.1011## Inputs1213You receive from the orchestrator:14- **Content atoms** (typed and impact-rated)15- **Main argument**, target audience, primary topic16- **Brand voice profile** (5-dimension scores or override flag)17- **Flags**: `--brief` (video script only), `--images` (generate cover/thumbnail prompts)1819## References2021Load before generating:22- `references/platform-specs.md` -- video specs, carousel format, algorithm weights23- `references/hook-formulas.md` -- opening hooks, pattern interrupts24- `references/voice-adaptation.md` -- TikTok tone rules (fast, casual, raw/authentic)2526## Platform Rules2728| Spec | Value |29|------|-------|30| Video length | 15-60s sweet spot (up to 3 min, 10 min for some accounts) |31| Video dimensions | 1080x1920 (9:16) |32| Carousel/Photo mode | 2-10 slides, 1080x1350 (4:5) |33| Algorithm priority | Completion rate #1, then shares, comments, likes |34| Hook window | 0.5-1.5 seconds (determines whether viewer stays or scrolls) |35| Hashtags | 3-5 (mix 1-2 trending + 2-3 niche) |36| Text overlay safe zone | Avoid bottom 20% (TikTok UI overlap) |37| Post types | Video, photo carousel, stitch, duet, LIVE |38| Best time | Tue/Thu/Sat 7-9 PM |3940## Output 1: Video Script (15-60s)4142Write to `tiktok/video-script.md`.4344### Timestamp Structure4546| Timestamp | Section | Content |47|-----------|---------|---------|48| **0-1.5s** | Hook | Pattern interrupt, bold claim, or unexpected question. This single moment determines everything. |49| **1.5-5s** | Context | Quick setup: who you are OR why this matters. Keep it raw, not polished. |50| **5-25s** | Value | Core insight from 2-3 highest-impact atoms. Jump cuts every 2-3 seconds. Each sentence must earn the next. |51| **25-45s** | Proof | Stat, result, example, or before/after. Show, don't just tell. |52| **45-55s** | CTA | Follow, comment, stitch, or "link in bio." Only ONE ask. |53| **55-60s** | Loop hook (recommended) | Final line connects back to the opening -- encourages rewatch (boosts completion rate significantly). |5455### Video Script Rules56- Every second must justify the next. If a viewer can skip 3 seconds and miss nothing, cut those 3 seconds.57- Jump cuts every 2-3 seconds minimum. No static talking-head shots longer than 3s.58- Write the script as spoken words, not written prose. Fragments. Pauses. Emphasis marks.59- Completion rate is king. A 30s video with 90% completion massively outperforms a 60s video with 40%.60- The hook must work with sound OFF (text overlay carries it) and sound ON (voice carries it).6162### Text Overlay Plan6364For each timestamp section, specify:6566| Timestamp | On-Screen Text | Position | Animation |67|-----------|---------------|----------|-----------|68| 0-1.5s | [Hook phrase, 3-6 words] | Top-center | Pop-in or zoom |69| 1.5-5s | [Context keyword] | Center | Typewriter |70| 5-25s | [Key phrases per jump cut] | Top or center | Cut-sync |71| 25-45s | [Stat or result number] | Center-bold | Scale-up |72| 45-55s | [CTA text] | Center | Pulse |7374**Critical**: Avoid bottom 20% of frame for all text overlays -- TikTok's UI (caption, buttons, progress bar) covers this area.7576### Audio Direction77- **Option A: Voiceover** -- The script IS the voiceover. Write it conversationally with natural pauses.78- **Option B: Trending sound** -- Note: "Use trending audio for discoverability. Voice as text overlay only."79- **Option C: Original audio** -- Direct-to-camera delivery. Mark emphasis and pace changes.80- Always recommend trending sound research: "Check TikTok's Creative Center for current trending sounds in [niche]."8182### Tone Rules8384| Do | Do NOT |85|----|--------|86| Use casual, conversational language | Use corporate or formal phrasing |87| Start mid-thought ("So I just found out...") | Start with introductions ("Hi, I'm...") |88| Use trending phrases and patterns | Use dated slang or forced memes |89| Speak in short, punchy fragments | Write in complete, polished sentences |90| Be raw and authentic | Over-produce or over-edit the feel |91| Use "you" and "I" naturally | Lecture or teach from above |92| Show genuine reactions and opinions | Be neutral or hedging |9394## Output 2: Carousel / Photo Mode (2-10 Slides)9596Write to `tiktok/carousel.md`.9798### Slide Structure99100| Slide | Purpose | Content |101|-------|---------|---------|102| **Slide 1** | Stop the scroll | Hook headline (5-8 words), bold visual, "Swipe" implied by format |103| **Slides 2-5** | Core value | One idea per slide from highest-impact atoms. Text-forward, minimal graphics. |104| **Slides 6-8** | Proof + examples | Stats, comparisons, or actionable steps |105| **Final slide** | CTA | Follow + save prompt, or teaser for related content |106107### Carousel Rules108- Dimensions: 1080x1350 (4:5) for all slides109- TikTok carousels are text-forward -- prioritize readability over visual complexity110- One idea per slide, large readable text111- Consistent visual style across slides112- TikTok carousel captions are shorter than Instagram -- keep to 150-300 chars113- Photo mode is a rising format with lower competition than video (2026)114115### Caption for Carousel116- 150-300 characters (shorter than Instagram)117- Hook in first line118- 3-5 hashtags (mix trending + niche)119- End with engagement prompt ("Save this for later" or "Which one surprised you?")120121## Output 3: Stitch/Duet Concept122123Write to `tiktok/stitch-duet.md`.124125### Concept Structure126127| Field | Content |128|-------|---------|129| **Trending angle** | Describe the type of trending content to respond to (not a specific video) |130| **Your hook** | Opening line for the stitch/duet (0.5-1.5s) |131| **Response script** | 15-30s script with your angle from the atoms |132| **Why it works** | 1-2 sentences on why stitch/duet boosts reach (algorithm loves participatory content: 20-30% more reach) |133134### Stitch vs Duet135- **Stitch**: Use the first 1-5s of another video, then cut to your take. Best for "reacting to" or "adding to" a trending topic.136- **Duet**: Side-by-side with another video. Best for comparisons, demonstrations, or visual responses.137138### Concept Rules139- Suggest the TYPE of trending content to stitch/duet with, not a specific creator or video140- The response portion must deliver standalone value from the atoms141- Frame as contributing to a conversation, not stealing content142- Keep the response to 15-30 seconds143144## Image Prompts145146If `--images` flag is set, suggest:147- **Video thumbnail**: 9:16 (1080x1920) eye-catching cover frame concept148- **Carousel slides**: 4:5 (1080x1350) visual concepts for key slides149- Include /banana prompt descriptions150151## Output Format152153Each file should include content plus production notes:154155```markdown156# TikTok Video Script: [Topic]157158## Hook (0-1.5s)159**Say:** "[spoken text]"160**Text overlay:** [on-screen text] | Position: [top/center] | Animation: [type]161**Visual:** [what the viewer sees]162163## Context (1.5-5s)164...165166---167**Production notes:** [audio direction, posting time, hashtag suggestions, trending sound research]168```169170## Brief Mode171172If `--brief` is active, produce only:173- 1 video script (15-60s)174- Skip carousel and stitch/duet concept175176## Error Handling177178| Condition | Action |179|-----------|--------|180| Fewer than 3 atoms | Write a shorter script (15-30s); focus on one insight |181| No `stat` or `casestudy` atoms | Skip the Proof section; extend Value section |182| `brief_mode` is true | Generate video script only; skip carousel and stitch/duet |183| Content is too academic/formal | Increase casual rewording; add "imagine this..." framing |184| Topic doesn't suit video | Prioritize carousel/photo mode over video script |185| Content is purely promotional | Reframe around the insight; strip product mentions |