SuperAPI AI Directory

short-video-copywriter

Design & creation

View repository

Updated 10-16 08:02

About this skill

Short Video Copywriter - Short Video Copy Generation Workflow

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_block to 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

  1. Hook first: The opening 3 seconds must grab attention and directly cut into the most valuable information.
  2. Colloquial: Remove written language and restructure sentences in a spoken way
  3. Short sentence rhythm: Each sentence no more than 20 characters, suitable for voice-over pauses
  4. Information distillation: The original draft may contain a lot of background/setup; keep only the core information
  5. 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:

  1. Get the image URL (for CLI, take the url field from the JSON output; MCP returns the URL directly)
  2. Use get_note_outline Refresh to get the table's block_id
  3. Whole-table replacement (edit_block replace), 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_block replace 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:

  1. Organize into the preferences note content
  2. Call create_note to create a note titled 短视频脚本偏好 's notes
  3. Write the preferences in a structured way (see the preferences note template below)
  4. Tell the user "Preferences have been saved to WPS Notes and will be loaded automatically next time"
  5. 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