Douyin Remotion Sentence Video
Use this skill when the user wants short English videos that feel scrollable, useful, and sharply memorable, not like a grammar class.
This skill must match douyin-remotion-video in motion density, hook aggression, and audio-driven pacing.
Treat sentence content as a different teaching structure, not a softer visual language.
One-Line Motto
This is not explaining grammar. This is tearing down your Chinglish.
Chinglish Trap Mode
This is now the default creative mode unless the user explicitly asks for sentence skeletons or pattern drills.
Use Chinglish Trap Mode when the user wants:
- English short videos
- correction videos
- native-expression videos
- Chinese-direct-translation fixes
- contrast teaching
- "中式英语" content
The default content engine is:
wrong expression -> meaning twist -> native fix -> short why -> use it here -> wrong vs right lock
The video core is not A/B formula and not mechanical repetition. The core is:
Chinglish Trap -> contrast hit -> natural English correction
The episode should feel like a creator is calling out a real-life embarrassment, not like a template is filling slots.
Kinetic Douyin Visual Mode
Chinglish Trap videos must default to Kinetic Douyin Visual Mode.
Core principles:
- text is not placed, it is hit onto the screen
- wrong expressions are not displayed calmly, they are punished
- right expressions do not simply appear, they slam in
- every 0.5 to 1.2 seconds needs one visual beat
- every 2 seconds needs a clear screen change
- the first 3 seconds need at least 4 visual actions
- the main canvas must move with the voice rhythm, not just the subtitle bar
- never leave a static card on screen for more than 2 seconds
- never rely on long dual-column explanation blocks
- never look like PPT
- never let 5 episodes in a row share the same shell with only the sentence swapped
Borrow From Word Skill
The sentence skill must explicitly borrow the strongest visual language from the local vocabulary skill.
Do not treat the sentence skill as a lighter or simpler version. It should feel just as aggressive and scroll-stopping as the word skill.
What to borrow:
HookScenestyle first-3-second interruption logicslamIn,punchZoom,shake,flashOpacity,highlightSweep,quickCut- flash-word rhythm, not only title-card rhythm
- center-dominant composition
- one dominant object per beat
- grid / connect / network visual thinking when teaching relationships
- short emotional reaction moments when they help the beat
- no dead holding frame while voice continues
What not to borrow:
- dictionary-list pacing
- root-specific teaching structure when the topic is sentence correction
The target is:
sentence content, but word-skill-level visual aggression
This is mandatory. If the result still feels like a teaching card with animated subtitles, the skill has failed.
Motion Rhythm Lock
The sentence skill must inherit the same rhythm discipline as the word skill:
- the opening is a
HookScenemindset, not a title-card mindset - motion follows generated voice timing, not guessed second marks
- every spoken key phrase should trigger a visible hit, replacement, or screen rebalance
- when voice keeps moving, the main canvas must also keep evolving
- subtitle changes alone do not count as a visual beat
- contrast moments must land with impact motion, not gentle fades
- wrong phrase beats should use punishment motion such as shake, stamp, crush, strike, flash, or glitch
- correct phrase beats should use payoff motion such as slam, punch zoom, sweep, unlock, expand, or snap-center
- every 2 to 3 beats should include one layout-level change, not only text animation inside the same card
- every episode must feel cuttable on beat for short-video platforms even when muted
Anti-Template Creator Mode
The sentence skill must optimize for account stickiness, not only single-video correctness.
Default assumption:
- viewers binge 3 to 10 clips in a row
- if adjacent clips share the same opening shell, scene shell, or ending shell, the account feels fake-fast and templated
- a technically correct video can still underperform if it feels predictable by the second clip
So every batch must vary at least these dimensions:
- opening shell
- scene type
- emotional temperature
- creator attitude
- reveal mechanic
- ending lock mechanic
- cover-title grammar
Mandatory anti-template rule:
- do not let the account feel like
same edit + different sentence
Sticky Account Mode
Every sentence batch should help the account feel addictive, recognizable, and worth following.
Each episode should contribute at least one of these:
social pain: "I have said this wrong before"identity gain: "Now I sound sharper / more natural"comment bait: "I disagree / I have another way to say it"series pull: "I want to watch the next one"persona pull: "I like how this creator calls things out"
This skill is not just making English clips. It is building a Douyin English account with retention logic.
Retention Ladder
Do not optimize only for "viewer learned the answer". Optimize for "viewer keeps watching after the answer appears".
Every Chinglish Trap episode should create a 4-step retention ladder:
stop-scroll pain: first 1 to 3 seconds should expose a mistake the viewer has likely madeego threat: make the viewer feel "wait, I may have sounded awkward"hero rescue: give one immediate usable fix fastaftercare payoff: after the fix, still give one more reason to stay, such as a second scenario, social nuance, or comment bait
If the video becomes boring right after the first correction appears, the skill has failed retention.
Required post-fix behavior:
- after the first hero correction lands, there must still be a new beat with new value
- the post-fix section cannot just restate the same answer with minor subtitle changes
- at least one later beat should create either
identity gain,social nuance, orcomment impulse
Anti-Drop Rules
Common failure pattern:
wrong phrase -> correct answer -> done
This often gives a useful clip but weak account retention.
To avoid that, the default Chinglish Trap structure should feel like:
wrong phrase -> embarrassment -> hero fix -> where this works -> what not to overuse -> lock or comment bait
The last third should not feel like a summary card. It should feel like a final social takeaway or a sharp creator button.
Creator Persona Lock
Unless the user defines another persona, default to:
- sharp
- lightly roasty
- socially observant
- useful without sounding preachy
- emotionally quick
The creator should sound like:
- someone exposing awkward real-life English habits
- someone rescuing the viewer from embarrassment fast
The creator should not sound like:
- a worksheet generator
- a neutral exam coach
- a faceless content farm
Audio Energy Lock
Sentence episodes should feel more beat-led than the vocabulary skill.
Required defaults:
- target BGM volume is
0.33 - acceptable default window is
0.32to0.34 - voice remains top priority through ducking, not by making the BGM too quiet
- the BGM should provide obvious pulse and edit energy, not just background fill
- if narration is dense, keep the configured BGM in range and increase ducking during active speech
The sentence skill should sound more like a Douyin rhythm edit and less like an explainer laid over quiet music.
Frame Fill Discipline
Sentence videos must not use giant decorative boxes with tiny text floating at the top.
Every major scene should have:
- one dominant text block
- one clearly intentional focal area
- no large empty dead zone inside a bordered container
If a card takes 70 percent of the frame, the content inside must visually justify that space.
If the frame is mostly border and padding, the scene fails.
Line Art Fill System
When the frame has large dead space, do not fill it with random stickers, giant empty cards, or decorative boxes.
Use a line art fill system instead:
- transparent or near-transparent overlay feel
- black or white scratch-like contour lines depending on background contrast
- no heavy white poster card unless the episode explicitly wants collage energy
- line art should enrich breathing space, not become the focal headline
- line art should suggest emotion, motion, or social awkwardness, not explain the lesson literally
Preferred line art styles:
ghost-wire: faint contour traces, airy, subtle, atmosphericscribble-orbit: messy looping orbits and scratch accents, more energeticcontour-burst: sharper accent strokes, directional, higher contrast impact
Preferred line art roles:
- awkward reaction
- warning cue
- speech cue
- correction arrow
- motion/sound burst
If the line art reads like a pasted white sticker on top of the video, it fails.
Shell Variant System
The Chinglish Trap system must rotate shell variants across episodes.
Required opening shells:
warning-stampaccusation-boardglobal-split
Required ending shells:
split-verdictvertical-lockchecklist-punch
Do not let the same opening shell and same ending shell repeat mechanically across adjacent episodes.
Douyin Hook Audit Mode
Before any episode is approved for production, run Douyin Hook Audit Mode.
This happens before code, before TTS, and before render.
The question is not:
does the video have motion?
The question is:
would a Douyin viewer stop in the first 1 to 3 seconds?
If the opening only shows the wrong English phrase like a title card, it fails.
If the opening behaves like a quiz card or a knowledge cover, it fails.
The hook must do at least one of these immediately:
- hit a Chinese pain point
- expose a high-probability learner mistake
- create a social embarrassment feeling
- create a "you thought this was right" reversal
The opening should feel like:
you've probably said this wrong before
not:
here is today's English mistake
Core Goal
The viewer should feel:
I was just scrolling, and then I suddenly realized I've said this wrong before.
Every episode must do at least three things:
- expose a familiar wrong expression or Chinese-brain translation
- show why it sounds wrong, weird, stiff, or misleading
- give a natural replacement the viewer can actually reuse
Hard Principles
- The wrong expression must appear early.
- The Chinese pain point or reversal must appear in the first 3 seconds.
- The correct expression must appear within 12 seconds.
- For direct-translation Chinglish traps, the first hero correction should usually land within 6 to 10 seconds.
- There must be clear contrast.
- There must be a short teaching point.
- There must be a real usage scene.
- The ending must lock
wrong vs right, not only Chinese summary.
Forbidden:
- splitting a wrong phrase into multiple beats without giving pain point first
- opening with a big title card that only repeats the bad English
- making the viewer wait more than 3 seconds for the actual point
- letting the viewer wait 20 seconds before the first usable English fix appears
- large empty comparison boxes with text stuck near the top
- stacking multiple long text blocks in one beat until they overlap or become unreadable
- decorative borders that take more visual attention than the sentence itself
- layouts where the box is the design and the text is an afterthought
- only teaching a sentence pattern
- only showing the correct answer
- saying "this is more native" without explaining what is wrong
- starting with grammar terminology
- textbook-like examples
- a pure knowledge-card feel
- ending only on Chinese formula
Teaching Feel, But Not Classroom Feel
The account should still feel educational. But it must feel like entertainment-first correction content, not school.
Good tone:
- short
- sharp
- contrast-driven
- lightly roasty
- clear enough to teach
Bad tone:
- long teacher explanation
- machine repetition
- emotional soup
- empty slogans
AI Content Director Mode
If the user does not clearly ask for sentence skeleton mode, default to Chinglish Trap Mode.
When auto-planning, prioritize:
- classic Chinglish
- Chinese direct-translation crashes
- one-word misuse
- over-simple expression upgrades
- common Chinese situations that learners do not know how to say
Every auto-generated episode should include:
wrongExpressionintendedMeaningwrongMeaningorwhyItFailsnaturalExpressionalternativessimpleRuleusageScenecoverTitlecaptionvisualPlanvisualBeats
Default Voice Structure
The default Chinglish correction flow is:
trap-openwrong-meaningnative-fixwhyscenewrong-right-lockoutro
Voice lines should be short enough to drive visible beats.
Core Workflow
- Read the topic and decide the mode. Default to
Chinglish Trap Modeunless the user explicitly asks for sentence skeleton drills. - Before writing the body, decide why this episode is followable: social pain, identity gain, comment bait, series pull, or persona pull.
- Design the first-three-second interruption. Pick the pain point, reversal line, wrong phrase exposure, and first 4 visible actions.
- For batch work, run an anti-template check before drafting. Vary opening shell, scene shell, ending shell, emotional temperature, and reveal mechanic.
- Create or update data files, especially
src/data/voiceScript.ts,src/data/sentencePattern.ts, andsrc/data/episodeConfig.ts. - Configure
episodeConfig.ts, includinghook,bgmId,bgmVolume,voiceVolume, andsfxVolume. - Choose a strong local BGM from
bgmRegistry, defaultbgmVolume: 0.33, and plan the ducking check. - Build scenes from real beats, not from static teaching cards. Keep content, timing, motion state, emotion, and audience interaction intent separate.
- Generate TTS voiceover with DashScope CosyVoice. Never hardcode the API key.
- Use
ffprobedurations to generategeneratedVoiceTimeline.ts. - Drive scene timing, subtitle timing, replacement hits, compare-board rebalances, and motion bursts from
generatedVoiceTimeline. - Render still frames at key beats, especially 0-3 seconds, the first correction reveal, and the final wrong-vs-right lock.
- Verify hook interruption, audio/video sync, BGM pulse, ducking, motion density, frame fill, anti-template variation, and follow-worthy payoff before delivery.
Preferred Project Pattern
Keep these files data-driven:
src/data/voiceScript.ts: canonical narration and subtitle source for the sentence episodesrc/data/generatedVoiceTimeline.ts: generated from real audio durationssrc/data/bgmRegistry.ts: local BGM registry generated frompublic/bgm/src/data/episodeConfig.ts: per-episodehook,bgmId,bgmVolume,voiceVolume, andsfxVolumesrc/scenes/HookScene.tsxor equivalent opening scene: interruption-first opening that stretches with generated voice timingsrc/timeline.ts: derives scene timing fromgeneratedVoiceTimelinesrc/components/BackgroundMusic.tsx: loops BGM, ducks under voice, and fades out at the endsrc/utils/motion.ts: shared motion helpers such asslamIn,punchZoom,shake,flashOpacity,quickCut,highlightSweep
Sentence scenes should be built as evolving states, not static slides with narration on top.
Safety Rules
- Never write API keys into source files, templates, examples, logs, or docs.
- Use
DASHSCOPE_API_KEYfrom the environment. - Treat generated audio and timelines as replaceable artifacts.
- Do not rely on hardcoded second marks once a generated voice timeline exists.
- Do not start an episode with a normal title page. The first 0.5 to 1 second must interrupt scrolling with large text or a hard visual hit.
- Do not use low-energy BGM defaults copied from the word skill. Sentence episodes should default to
bgmVolume: 0.33with an allowed setup window of0.32to0.34. - Do not solve voice clarity by dropping BGM to explainer-video levels. Keep the stronger BGM bed and use ducking while speech is active.
- Do not allow more than 2 seconds where only subtitles change but the main frame composition does not meaningfully move.
- Do not let long English alternatives share one hero card if they cause overlap. One dominant correction should lead; secondary options can follow in later beats.
- Do not ship any frame where key text overlaps, clips, or competes with another large text block in the same focal area.
- Do not let adjacent episodes reuse the same opening shell, same reveal shell, and same ending shell together.
- Do not let every cover read like the same course-title formula.
- Do not auto-generate a batch where all clips have the same creator attitude or emotional temperature.
- Do not optimize only for "clear explanation" if the result loses surprise, sting, or replayability.
- If DashScope
instructionfails for a system voice, retry withoutinstructionwhile preservingrate,voice,model, and script structure. - Do not load BGM from remote URLs during Remotion preview or render.
- The sentence skill must feel like a Douyin edit first and an English lesson second.
Files To Load As Needed
- End-to-end procedure:
workflow.md - Hook audit rules:
references/hook_audit_rules.md - Word-skill borrowing rules:
references/word_skill_borrow_rules.md - Frame fill rules:
references/frame_fill_rules.md - Chinglish constraints:
references/chinglish_trap_rules.md - Contrast teaching rules:
references/contrast_teaching_rules.md - Kinetic visual rules:
references/kinetic_visual_rules.md - Text rhythm rules:
references/text_rhythm_rules.md - Douyin motion rules:
references/douyin_motion_rules.md - Topic bank:
references/trap_topic_bank.md - Hook structure:
references/hook_rules.md - Quality gate:
references/quality_rules.md - Content directing:
references/content_director_rules.md - Anti-PPT rules:
references/anti_ppt_rules.md - Visual rules:
references/visual_rules.md - Voice rules:
references/voice_rules.md - Audio rules:
references/audio_rules.md - Subtitle rules:
references/subtitle_rules.md - Template:
templates/sentence_pattern_template.ts - Template:
templates/sentence_voice_script_template.ts - Template:
templates/sentence_episode_brief_template.md - Prompt:
prompts/create_new_sentence_episode.md - Examples:
examples/chinglish_trap_examples.md - Examples:
examples/hook_fail_vs_pass.md - Batch example:
examples/auto_content_batch_example.md