Rewrite the original manuscript into a short video voiceover script, combining the user's personalized preferences to ensure consistent style and platform fit.
Iron Rules (Highest Priority)
1. Must write to Notes via tools. Outputting copy content in the conversation is absolutely prohibited.
AI is not allowed to output any copy, storyboard script, or image generation results in conversation messages, under any circumstances, without exception.
- Prohibited to output the main copy text, storyboard tables, or specific content of BGM suggestions in the conversation.
- Prohibited to directly output results in messages in any form such as "Here is the copy content" or "The storyboard is as follows".
- The only legal output method: call
create_note+batch_edit/edit_blockto write the content into WPS Notes - After successful writing, only the following may appear in the conversation: note title, word count, one-sentence summary, "written to Notes".
- Violating any of the above is an execution error and must be stopped immediately and rewritten via tools.
2. Questions must include options
Only two things may be done in the conversation:Ask questions + Status notification。
- When asking questions, 2-4 options must be attached so the user is not faced with a blank.
- Status notification: before calling a tool, inform in one sentence what is being done.
Core Process
加载偏好 → 接收原稿 → 生成文案(+分镜脚本)→ [可选] 分镜生图 → 确认是否更新偏好
Step 1: Load Preferences
Execute: use search_notes search keyword 短视频脚本偏好。
- find the preferences note → read the note content, extract the preference parameters from the table, and inform the user in the following format:
已加载短视频偏好:平台={平台} | 时长={时长} | 风格={风格} | CTA={类型} - Preferences note not found → enter first-time configuration process
The preferences note title is agreed as:
短视频脚本偏好
Step 2: Receive the Original Manuscript
If the user has not yet pasted the original manuscript, prompt:
"Please paste the original manuscript, and I will help you rewrite it into short video copy."
After the original manuscript is received, quickly analyze:
- Core information of the original manuscript (1 sentence)
- Word count and information density of the original manuscript
- Suggested video duration (calculated based on the default duration in preferences or the amount of the original manuscript)
Step 3: Generate Copy and Storyboard Script
Based on the preference parameters and the original manuscript, call create_note to create a new note (title:{原稿标题/主题} - 短视频文案), then use batch_edit to write the following structure:
Content structure written to Notes
<h1>{原稿标题} - 短视频文案</h1>
<p><tag>#短视频</tag></p>
<p>平台:{平台} | 时长:{预估时长} | 风格:{风格}</p>
<h2>开场钩子(0-3秒)</h2>
<p>{吸引注意力的开场白,提出悬念/冲突/利益点}</p>
<h2>主体内容</h2>
<p>{核心信息,分段口播,每段约15-20字}</p>
<h2>结尾 CTA</h2>
<p>{引导点赞/关注/评论/购买}</p>
<p>预估字数:{N}字 | 预估时长:{T}秒</p>
<h2>BGM 建议</h2>
<p>情绪:{情绪关键词}</p>
<p>搜索关键词:{词1} / {词2} / {词3}</p>
After writing is complete, in the conversationonly say: "The copy has been written to Notes《{note title}》, total {N} characters, estimated {T} seconds. Do you need me to split the storyboard script and generate illustrations for you?"
Do not display any copy content in the conversation.
Generation Principles
- Hook first: The opening 3 seconds must grab attention and directly cut into the most valuable information.
- Colloquial: Remove written language and restructure sentences in a spoken way
- Short sentence rhythm: Each sentence no more than 20 characters, suitable for voice-over pauses
- Information distillation: The original draft may contain a lot of background/setup; keep only the core information
- Platform adaptation: Adjust the tone according to platform characteristics (Douyin is more assertive, WeChat Channels is gentler)
BGM Keyword Reference Table
| Video style | Emotion | Recommended BGM keywords |
|---|---|---|
| Direct value delivery | Focused/Efficient | lo-fi hip hop / light electronic / focus background music |
| Emotional drive | Inspirational/Passionate | Inspirational instrumental / epic orchestral / motivational edit |
| Light and humorous | Upbeat/Fun | Light and cheerful / ukulele / funny bgm |
| Serious and professional | Steady/Authoritative | Corporate promotional music / business background music / corporate |
- User confirms they need storyboards → proceed to Step 3.5: Storyboard Script and Image Generation
- User does not need it → skip to Step 4
Step 3.5: Storyboard Script and Image Generation
Storyboard script format
Split the copy into several storyboards;when writing to WPS Notes, present it in table form, one storyboard per row:
| Column name | Content description |
|---|---|
| Storyboard | Sequence number, such as 01, 02 |
| Time | Time range for this shot, such as 0-3 seconds |
| Voice-over copy | The specific lines for this segment |
| Scene description | English description used directly as the image generation prompt(subject + scene + action/state + style + color tone + composition) |
| Illustration | Inserted via insert_image after generation; initially empty |
Recommended number of storyboards: 3-4 for a 15-second video, 5-6 for 30 seconds, 8-10 for 1 minute
Scene description writing guidelines(i.e., image generation prompt):
- Chinese, structure:
主体 + 场景/背景 + 动作/状态 + 风格 + 色调 + 构图 - Choose style words according to the video style:
电影感、写实照片、插画风格、动漫风格, etc. - Avoid: text, logo
Example:一个人在繁忙的城市街道上行走,夜晚霓虹灯倒映在湿润的地面上,电影感风格,冷蓝色调,广角镜头
Table XML template written to notes(placeholders first; fill in the illustration column one by one later):
<h2>分镜脚本</h2>
<table>
<tr>
<td><p><strong>分镜</strong></p></td>
<td><p><strong>时间</strong></p></td>
<td><p><strong>口播文案</strong></p></td>
<td><p><strong>场景说明</strong></p></td>
<td><p><strong>配图</strong></p></td>
</tr>
<tr>
<td><p>01</p></td>
<td><p>0-3秒</p></td>
<td><p>{台词}</p></td>
<td><p>{场景说明/生图prompt}</p></td>
<td><p>生成中…</p></td>
</tr>
<!-- 更多分镜行… -->
</table>
Storyboard image generation process
After the table is written to notes, take the content of the "Scene description" column for each storyboard one by one and use it directly as the prompt to generate images.Prefer CLI; if it fails, fall back to MCP:
Method 1: CLI (preferred)
wpsnote-cli gen-image \
--prompt "{场景说明列的中文内容}" \
--width 1080 --height 1920 \
--json
- Vertical (Douyin/WeChat Channels/Xiaohongshu):
1080×1920 - Horizontal (Bilibili/YouTube):
1920×1080
Method 2: MCP (fallback)
generate_image({ prompt: "{场景说明列的中文内容}", width: 1080, height: 1920 })
⚠️ Image generation is rate-limited to 1 per minute. Before generating multiple storyboards, inform the user of the estimated time (number of storyboards × about 60 seconds)
Illustration backfill steps
After each image is generated:
- Get the image URL (for CLI, take the
urlfield from the JSON output; MCP returns the URL directly) - Use
get_note_outlineRefresh to get the table's block_id - Whole-table replacement (
edit_blockreplace), replacing the placeholder text in the corresponding row's "illustration" column with the<img/>tag
The table must be replaced as a whole; you cannot edit
<td>internally. After filling in one image each time, refresh the outline before replacing the next one.
After each image is filled in, only say in the conversation: "Illustration {N} has been written." After all are complete, say: "The storyboard script and {N} illustrations have all been written into the note 《{note title}》."Do not display any storyboard content or images in the conversation.
Step 4: Confirm whether to update preferences
Ask: "The preferences used this time are: {platform}, {duration}, {style}. Are there any parameters you need to adjust? A. Update something B. No need"
- User says update →
edit_blockreplace the entire preferences note table, and after completion say "Preferences have been updated to the note" - User says no need → end
First-time configuration process
When no preferences note is found, ask for the following parameters:
我没有找到你的短视频脚本偏好,先帮你配置一下吧:
1. 主要发布平台?(抖音 / 视频号 / 小红书视频 / B站 / 其他)
2. 常用视频时长?(15秒 / 30秒 / 1分钟 / 3分钟)
3. 内容风格?(干货直给 / 情绪带动 / 轻松幽默 / 严肃专业)
4. 是否需要 BGM 建议?(需要 / 不需要)
5. 是否需要 CTA?(需要 / 不需要)
6. CTA 类型?(点赞 / 关注 / 评论 / 私信 / 购买)
After receiving the answer:
- Organize into the preferences note content
- Call
create_noteto create a note titled短视频脚本偏好's notes - Write the preferences in a structured way (see the preferences note template below)
- Tell the user "Preferences have been saved to WPS Notes and will be loaded automatically next time"
- Continue to Step 2
Preferences note template
Write the preferences into WPS Notes intable formfor easy viewing and partial updates:
<h1>短视频脚本偏好</h1>
<p><tag>#短视频</tag></p>
<table>
<tr>
<td><p><strong>配置项</strong></p></td>
<td><p><strong>当前值</strong></p></td>
<td><p><strong>可选项</strong></p></td>
<td><p><strong>说明</strong></p></td>
</tr>
<tr>
<td><p>主要平台</p></td>
<td><p>{平台}</p></td>
<td><p>抖音 / 视频号 / 小红书视频 / B站</p></td>
<td><p>影响语气节奏</p></td>
</tr>
<tr>
<td><p>默认时长</p></td>
<td><p>{时长}</p></td>
<td><p>15秒 / 30秒 / 1分钟 / 3分钟</p></td>
<td><p>15秒≈40字,1分钟≈160字</p></td>
</tr>
<tr>
<td><p>内容风格</p></td>
<td><p>{风格}</p></td>
<td><p>干货直给 / 情绪带动 / 轻松幽默 / 严肃专业</p></td>
<td><p>影响措辞和情绪</p></td>
</tr>
<tr>
<td><p>是否需要 BGM 建议</p></td>
<td><p>{是/否}</p></td>
<td><p>需要 / 不需要</p></td>
<td><p>每次生成文案时附上 BGM 推荐</p></td>
</tr>
<tr>
<td><p>是否需要 CTA</p></td>
<td><p>{是/否}</p></td>
<td><p>需要 / 不需要</p></td>
<td><p>结尾引导动作</p></td>
</tr>
<tr>
<td><p>CTA 类型</p></td>
<td><p>{类型}</p></td>
<td><p>点赞 / 关注 / 评论 / 私信 / 购买</p></td>
<td><p>可多选,用逗号分隔</p></td>
</tr>
</table>
<h2>备注</h2>
<p>(可记录特殊要求,如:某类题材特别处理方式)</p>
When updating preferences: replace the entire table (use the edit_block replace operation on the table block), do not modify row by row.
Preference parameter description
| Parameter | Description | Example value |
|---|---|---|
| Main platform | Determines tone and pacing | Douyin, WeChat Channels, Xiaohongshu video |
| Default duration | Determines information density | 15 seconds ≈ 40 characters, 30 seconds ≈ 80 characters, 1 minute ≈ 160 characters |
| Content style | Determines wording and emotion | Straightforward practical content, emotionally driven, light and humorous |
| CTA | Ending call to action | Like, follow, private message consultation |
Multi-version generation
If the user says "give me a few more versions" or "are there other styles", you can output 2-3 versions:
- Version A (current preferred style)
- Version B (stronger emotion)
- Version C (shorter and more concise)
Common issue handling
| Scenario | Handling method |
|---|---|
| Original draft too long (>3000 characters) | Prompt the user: it is recommended to first specify the key direction, otherwise only the most core information will be extracted |
| The original draft itself is a video script | Directly optimize the pacing and hook, do not significantly change the structure |
| User says "not good enough" | Ask specifically what they are dissatisfied with: hook/pacing/style/content trade-offs |
| Preferences note content format is messy | After reading, parse with AI and leniently match key fields |
| CLI image generation failed (command does not exist/timeout) | Automatically fall back to MCP generate_image tools |
| MCP image generation also fails | Inform the user that the image generation service is temporarily unavailable, and output only the text storyboard script |
| Image generation rate limit (1 time/minute) | Inform the user that images need to be generated one by one, each taking about 30-120 seconds, and ask whether to continue |