Skill: npai10/product-video-script-skill-no-subtitles (version 1.0.0)

--- name: product-video-script-no-subtitles description: Generate ecommerce product video scripts from one or more product images and optional selling points, with video handoff notes that forbid subtitles, captions, text overlays, titles, and price stickers by default. Use when the user wants带货视频脚本, 产品视频脚本, 短视频脚本, 无字幕产品视频, TikTok/抖音/小红书/直播间/618/双11 product content ideas, or wants to choose directions such as带货口播、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货、商业广告/TVC before producing scripts. --- # Product Video Script - No Subtitles Turn product images and optional selling points into platform-ready short-video scripts and video handoff notes. Default text policy: generated videos must have no subtitles, no captions, no text overlays, no title cards, no price stickers, no floating labels, and no generated UI text. Put selling points in voiceover and visuals instead of on-screen text. ## Core Rule Use **research-enhanced generation when possible**, but never make research a hard dependency. - If the user asks for recent, trending, top-liked, platform-specific, or competitor-based scripts and the agent has browsing/search tools, research first and cite sources. - If browsing/search is unavailable, blocked, or the user wants speed, use the fallback playbooks in `references/direction-playbook.md` and clearly label the result as `未联网版本`. - Do not invent exact rankings, likes, creator names, or video URLs. Say when exact metrics could not be verified. ## Workflow State boundary: - Selecting a direction only authorizes script writing. It is not permission to generate a video. - After writing any script, stop and show `Next Actions`. Do not call LibTV or any video generation tool yet. - Enter video generation only after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or otherwise clearly asks to generate videos. 1. **Read the product input** - Inspect all provided images when image understanding is available. - Extract visible product category, appearance, use scene, likely audience, giftability, price/activity clues, and visual risks. - Incorporate user-provided selling points. If selling points conflict with the image, mention the uncertainty. - Campaign language is opt-in, not forbidden. Use 618, 双11, Black Friday, Christmas, summer, back-to-school, discounts, limited-time offers, or similar campaign framing only when the user explicitly requests it, selects a promotion direction, or the product image clearly contains that campaign. Otherwise keep the script evergreen. 2. **Offer directions if the user has not chosen one** Present 5-7 concise choices and wait for the user: - 带货口播 - 场景种草 - 促销活动（only when the user wants a campaign/deal angle） - 测评对比 - 海外 TikTok 风格 - 直播间真人带货 - 商业广告/TVC 3. **Research or fallback** - For research mode, search the chosen category + platform + time window + commerce intent. - Summarize reusable patterns: hook, pacing, camera style, proof, offer, CTA. - For fallback mode, read `references/direction-playbook.md`. 4. **Write the script** Use `references/output-template.md` unless the user requests another format. Default duration is 15 seconds and default ratio is 9:16 when not specified. Include: - concept title - why this direction fits the product - continuous script structure without timestamp tables - voiceover - continuous visual flow - no-subtitle/no-text-overlay policy - visual/reference notes - optional video handoff notes 5. **Offer next actions** After delivering a script, always stop and show next actions: - After one script, use the single-script next actions from `references/output-template.md`. - After multiple scripts, use the multi-script next actions from `references/output-template.md`. - For `商业广告/TVC`, use storyboard-first as the internal video handoff workflow, but keep the user-facing action as `直接生成视频`. - For every non-TVC direction, `直接生成视频` means: use the product image as a reference image and directly submit one complete 15s 9:16 video task. Do not create storyboard images, character design images, separate video clips, or a storyboard-confirmation checkpoint. - Do not execute any video generation action in this step unless the user's current message already explicitly asks to generate the video, not merely choose a direction. 6. **Quality checks** - Hook appears in the first 1-3 seconds. - Each claim is supportable from visible product traits or user-provided selling points. - Campaign context is explicit. If requested, use it confidently; if not requested, keep the script evergreen and do not add shopping-festival language. - Do not plan subtitles, captions, title cards, price stickers, or any generated text overlay. - Avoid dense subtitles, tiny price tables, and complex text overlays when the next step is AI video generation. In this no-subtitles variant, the default is no on-screen text at all. - Keep platform tone natural: TikTok should feel native and slightly messy; commercial ads can be more polished. ## When Coordinating With Video Skills Only coordinate with a video skill/tool after the user explicitly asks to generate video. A direction choice such as `1`, `场景种草`, or `TVC` means "write the script in this direction"; it does not mean "start LibTV generation". If the user asks to generate the video after the script, pass the confirmed script and reference-image notes to the video generation skill/tool. Preserve the selected script as the source of truth. Do not rewrite, expand, or optimize it into a new prompt during handoff. When image-to-video tools have trouble with text, use a no-text version and rely on voiceover. Default audio route: when the user wants sound or voiceover, ask the video model/LibTV to generate one complete video with native audio/voiceover directly. Do not create separate TTS audio, do not create a silent video, and do not use a later audio-video compose workflow unless the user explicitly requests separate voiceover production. When handing off any non-TVC script to a video generation skill/tool, use the product image as the reference image and directly generate the finished video. The first sentence must explicitly state the fixed generation target unless the user explicitly requests a different duration, ratio, or audio mode: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。` Do not rely on the earlier script table to carry duration, ratio, audio settings, or reference-image use. For every video handoff, add this explicit no-text constraint: `不要添加任何字幕、口播字幕、屏幕文字、标题卡、价格贴片、促销文字、漂浮标签或生成式文字。画面里只保留产品本身已有的包装文字/Logo，不额外生成新文字。` For non-TVC handoff prompts, add this explicit constraint: `不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。不要按镜头、时间段或脚本段落拆成多个视频片段，不要多段生成后合并。请一次性直接输出完整成片。` When the product changes from prior work, require a clean video-tool project/canvas before uploading the new product reference image. For LibTV, this means calling `change_project.py` first, then `upload_file.py`, then `create_session.py`. When only platform, campaign context, or language changes, recommend a clean project/session. Add an explicit isolation line to the handoff prompt: `This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.` For multiple scripts, do not merge all scripts into one generation request. Create a numbered batch manifest: each item must include concept title, duration, ratio, reference image, full voiceover, shot plan, text-overlay limits, and success criteria. For LibTV, each script must be submitted as a separate video task. Do not pack several scripts into one prompt. For multiple `商业广告/TVC` scripts, use serial batch execution by default: submit one TVC, wait for its storyboard images and final video to complete, record the result, then submit the next TVC. Do not submit multiple storyboard-first TVC jobs into the same video-tool session at once. For `商业广告/TVC` only, use a storyboard-first handoff by default: generate 5 key 9:16 storyboard images first, then use those storyboard images together as reference images for one complete video. After storyboard images are generated, continue to final video automatically unless the user explicitly asked to review/approve storyboards first. See `references/video-handoff.md`. ## References - Use `references/direction-playbook.md` for direction-specific structures when research is unavailable or when you need a baseline. - Use `references/output-template.md` for the default script output format. - Use `references/research-guide.md` for safe research behavior and source handling. - Use `references/video-handoff.md` when the user wants to generate one or many videos from the scripts.

path: agents/openai.yaml
content: display_name: Product Video Script No Subtitles
short_description: Turn product images into ecommerce video scripts with video handoff rules that forbid subtitles and text overlays.
default_prompt: Upload product images and optional selling points, then choose a video direction such as口播带货、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货 or商业广告. Generated videos should have no subtitles or text overlays by default.


path: references/direction-playbook.md
content: # Direction Playbook

Use these patterns when live research is unavailable or as a baseline before adapting to research.

## 带货口播

Best for products with clear appearance, price/activity appeal, or giftability.

Structure:
1. Hook: name the buying scenario or pain point.
2. Product close-up.
3. One fast use/demo moment.
4. Emotional or practical payoff.
5. Offer/occasion CTA.

Tone: direct, fast, conversational.

## 场景种草

Best for lifestyle products, beauty, food, home, fashion, gifts.

Structure:
1. Everyday scene.
2. Product appears naturally.
3. Before/after mood shift.
4. Detail close-up.
5. Soft recommendation.

Tone: lived-in, aspirational but not too polished.

## 促销活动

Best for 618, 双11, Black Friday, launch deals, bundles.

Use this direction when the user explicitly chooses促销活动 or mentions a campaign/deal context. Promotion language is allowed here; outside this direction, keep scripts evergreen unless the user requested a campaign.

Structure:
1. Urgency hook.
2. One-sentence product reason.
3. Best use/gift scenario.
4. Deal reminder.
5. Simple CTA.

Tone: energetic, clear, no overclaiming.

## 测评对比

Best for products with visible effects, durability, texture, convenience, or price/value contrast.

Structure:
1. Skeptical hook.
2. Test setup.
3. Product demo.
4. Result close-up.
5. Verdict.

Tone: believable, slightly critical, evidence-first.

## 海外 TikTok 风格

Best for US/EU TikTok Shop style ads, beauty, gadgets, fashion, food, novelty products.

Structure:
1. Native UGC hook.
2. Unexpected reaction or weird twist.
3. Fast demo.
4. Meme-like payoff.
5. Deal/CTA.

Tone: casual, funny, self-aware, not too salesy.

Avoid heavy Chinese shopping-festival language unless the campaign specifically targets Chinese-speaking users.

## 直播间真人带货

Best for products that need high trust, host demonstration, or urgency.

Structure:
1. Host calls attention.
2. Product in hand near camera.
3. 2-3 selling points.
4. Use/gift scenario.
5. Limited-time close.

Tone: warm, energetic, real-time.

## 商业广告/TVC

Best for premium products, brand assets, gift boxes, hero products.

Structure:
1. Visual hero shot.
2. Lifestyle aspiration.
3. Product detail montage.
4. Emotional payoff.
5. Brand/activity end frame.

Tone: polished, sensory, cinematic.

Video-generation workflow, only after the user explicitly chooses `直接生成视频`: storyboard first. Ask the video tool to generate 5 key visual frames, then use those 5 frames as multi-reference images to generate the final 15s video.


path: references/output-template.md
content: # Output Template

Use this structure by default. Keep it concise.

## Product Diagnosis

- Category:
- Visible traits:
- Likely buyer/use case:
- Best script angle:
- Risks/uncertainties:
- Campaign context: if requested, name the campaign; otherwise write `无明确活动，按长期通用脚本处理`.

## Direction Options

Only include this section when the user has not chosen a direction.

1. 带货口播 - ...
2. 场景种草 - ...
3. 促销活动 - only if the user wants an event/deal angle
4. 测评对比 - ...
5. 海外 TikTok 风格 - ...
6. 直播间真人带货 - ...
7. 商业广告/TVC - ...

## Research Summary

Use this section when research was performed.

- Sources checked:
- Reusable patterns:
- What to copy structurally:
- What not to copy:

If research was not possible, write: `未联网版本：以下脚本基于通用平台内容规律与产品图分析生成。`

## Recommended Script

- Title:
- Duration:
- Ratio:
- Platform/style:
- Why it fits:

Write the script as a continuous sequence, not a timestamp table. Do not use rows such as `0-2s`, `2-5s`, or numbered clip segments.

- Opening hook:
- Visual flow:
- Voiceover:
- Subtitle / on-screen text policy: none. Do not add subtitles, captions, title cards, price stickers, floating labels, or generated text overlays.
- Closing CTA:

## Full Voiceover

Write the full spoken script in one paragraph.

## Video Handoff Notes

Write concise handoff notes for a later video generation step. These notes are not permission to generate video and are not a replacement prompt. When the user later asks to generate video, preserve the confirmed script as the source of truth and pass these notes as constraints.

Include:
- product reference notes
- for non-TVC directions, explicitly say to use the product image as the reference image and directly generate one complete 15s 9:16 video
- for non-TVC directions, explicitly forbid storyboard images, character design images, separate clips, timestamp-based generation, and storyboard confirmation
- explicitly say to generate sound/voiceover natively inside the video generation request; do not create separate TTS audio or compose audio and video later
- explicitly say no subtitles, no captions, no text overlays, no title cards, no price stickers, no floating labels, and no generated UI text
- camera style
- model/hand/action notes
- overall pacing only, without timestamp segments
- ratio and duration
- voiceover language
- no-text-overlay constraints

## Variants

Optionally provide 2-3 hook or CTA variants.

## Next Actions

Use short user-facing labels. Do not expose backend workflow details in option names.

Mandatory stop rule:
- After outputting a script, stop here and wait for the user's next selection.
- Do not call LibTV or any video generation tool from the same response that writes the script.
- A user selecting a direction means "write a script in this direction"; it is not permission to generate the video.
- Only start video generation after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or clearly asks to generate videos.

After a single script, use exactly:

1. 直接生成视频
2. 重写一版（可提要求）
3. 多给几个脚本/创意方向
4. 改成其他视频方向（口播/种草/促销/测评/TikTok/直播/TVC）

If the chosen direction is商业广告/TVC, still write `直接生成视频`; the storyboard-first workflow belongs in the internal video handoff, not the user-facing option text.

For every non-TVC direction, `直接生成视频` means: use the product image as the reference image, then directly generate one complete 15s 9:16 video. Do not expose or create a storyboard-first workflow.

After multiple scripts or creative directions, use exactly:

1. 选其中一条去生成视频
2. 把这几条全部交给 LibTV 批量生成
3. 继续重写更多版本
4. 先优化其中某一条脚本


path: references/research-guide.md
content: # Research Guide

Use research only when the agent has tools that can access current public sources.

## Search Targets

Prefer official or platform-native sources:
- TikTok Creative Center
- TikTok Shop / marketplace pages
- Meta Ads Library or platform ad libraries when relevant
- YouTube/TikTok public pages when accessible
- Brand/product official pages for factual claims
- Recent credible trend reports when platform pages are incomplete

## Query Pattern

Combine:
- category: lipstick, sunscreen, snack, coffee, gadget
- platform: TikTok US, Douyin, Xiaohongshu
- commerce intent: shop, haul, review, deal, top ads
- recency: last 7 days, this week, 2026

## Safe Claims

Do:
- Summarize visible content patterns.
- Cite links used.
- Say when exact likes/ranking cannot be verified.
- Use “in the researched sample” instead of “the whole platform” when coverage is incomplete.

Do not:
- Invent creators, likes, rankings, or video links.
- Claim “guaranteed viral” or “guaranteed sales”.
- Copy a creator’s exact script line-by-line. Replicate structure, pacing, and function instead.

## Research Output

For 3-5 references, capture:
- hook type
- opening frame
- product proof/demo
- pacing
- text style
- CTA
- why it works


path: references/video-handoff.md
content: # Video Handoff

Use this when scripts are handed to a video generation skill/tool.

Entry condition:
- Use this file only after the user explicitly asks to generate video.
- Do not use this file immediately after the user merely selects a script direction.
- Script approval/selection and storyboard approval are different. A script must be shown first; storyboard review can be skipped only inside the video-generation phase.
- Preserve the confirmed script as the source of truth. Do not rewrite, expand, translate, or optimize it into a new creative prompt during handoff.

Default audio route:
- Generate native audio/voiceover inside the video generation request.
- Put the full voiceover and audio direction directly in the video prompt.
- Do not create separate TTS audio.
- Do not create a silent video and compose it with audio later.
- Do not use a `video + TTS + compose` workflow unless the user explicitly requests separate voiceover production.
- The final deliverable must be one complete video with audible sound/voiceover.

Default visual text route:
- Do not add subtitles, captions, karaoke captions, title cards, price stickers, promotional text, floating labels, lower thirds, UI panels, or generated text overlays.
- Do not burn the voiceover into the video as subtitles.
- Product packaging text and logos already present in the reference image may remain, but do not invent new text.
- Put all selling points in the voiceover and visual demonstration, not on-screen text.

## Single Video Handoff

Use this for all non-TVC directions, including 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, and 直播间真人带货.

Core rule:
- Use the product image as the reference image.
- Directly submit one complete video generation task for the full 15s video.
- Generate the video with native audio/voiceover directly.
- Do not generate storyboard images, character design images, or separate video clips.
- Do not split the script into timestamp segments, shot segments, or clip segments.
- Do not generate separate TTS audio or use later audio-video composition.
- Do not add a storyboard review/confirmation step.

Include:
- first sentence with fixed generation target: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播、无字幕、无屏幕文字的完整短视频。`
- title
- selected direction
- duration and ratio
- reference image URLs or local paths
- context isolation line
- product appearance constraints
- continuous visual flow, without timestamps or clip segments
- full voiceover
- native audio instruction
- no-subtitles/no-text-overlay instruction
- avoid list
- success criteria

Required non-TVC constraint line:

`不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。不要按镜头、时间段或脚本段落拆成多个视频片段，不要多段生成后合并。请一次性直接输出完整成片。`

Required audio constraint line:

`请在视频生成时直接生成声音/口播，不要单独生成TTS音频，不要先生成无声视频再后期合成。最终交付必须是一条带声音的完整视频。`

Required no-text constraint line:

`不要添加任何字幕、口播字幕、屏幕文字、标题卡、价格贴片、促销文字、漂浮标签或生成式文字。画面里只保留产品本身已有的包装文字/Logo，不额外生成新文字。`

## Batch Video Handoff

For multiple videos, create one manifest item per video. Keep each item self-contained so a downstream video skill can submit separate tasks without reading prior items.

For LibTV, one script equals one video task. Do not merge multiple scripts into one prompt or ask LibTV to choose among concepts.

If prior tasks in the same agent/session used another product, create or switch to a clean video-tool project/canvas before uploading the new product reference image. For LibTV, call `change_project.py`, then upload the product image, then submit the generation task. If prior tasks used another campaign or language, recommend a clean project/session before generation.

Template:

```markdown
## Batch Manifest

### Video 1: <title>
- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.
- Direction:
- Duration:
- Ratio:
- Reference image:
- Product constraints:
- Voiceover:
- Continuous visual flow:
- Subtitle / on-screen text policy: none. Do not add subtitles, captions, title cards, price stickers, floating labels, or generated text overlays.
- Avoid:
- Success criteria:

### Video 2: <title>
...
```

## Generation Strategy

- Treat each script variant as a separate video task.
- For LibTV, submit scripts sequentially or as separate tasks; do not pack multiple scripts into one prompt.
- Each video task must generate one complete 15s video. Do not split a single script into several clip tasks or merge generated clips afterward.
- Require a new project/canvas when changing products. For LibTV, call `change_project.py` before uploading the new product reference image.
- Prefer a new session when changing language, platform, or removing a previously used campaign context.
- If the tool has unknown concurrency limits, avoid promising a batch size. Say that batching means preparing multiple self-contained tasks, not guaranteeing simultaneous execution.
- For AI video tools that often garble text, use no text. Put detailed selling points in voiceover.
- Every video task must explicitly forbid subtitles, captions, title cards, price stickers, floating labels, and generated text overlays.
- For sound/voiceover, use native audio in the video generation request. Do not split into separate TTS and later composition.
- For product-reference fidelity, include exact visible traits from the product image in every item.
- If campaign language is not wanted, repeat the avoid list in every item: no 618, no 双11, no限时促销, no价格贴片, no shopping festival language.

## Commercial/TVC Storyboard-First Handoff

Use this only when the selected direction is `商业广告/TVC`. Do not use this workflow for 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, or 直播间真人带货.

Workflow:
1. Generate 5 key 9:16 storyboard images.
2. Check that each storyboard preserves product identity and has no unwanted text. This is an internal check, not a required user confirmation step.
3. Use the 5 storyboard images together as reference images for one complete 15s 9:16 video.
4. Continue from storyboard images to final video automatically unless the user explicitly asked to review/approve storyboard images first.

Storyboard slots:
- Frame 1: hero product establishing shot
- Frame 2: lifestyle/user scene
- Frame 3: product texture/detail/macro
- Frame 4: emotional payoff or use result
- Frame 5: final product/brand end frame

Handoff prompt must include:
- first sentence with fixed generation target: `请生成一条15秒、9:16竖屏、带声音/口播、无字幕、无屏幕文字的商业广告/TVC视频。`
- original product image
- 5 storyboard descriptions
- instruction to create storyboard images first
- instruction to use all storyboard images together as references for final video
- instruction to continue to final video automatically after storyboard images unless the user explicitly requested storyboard approval
- instruction to generate native audio/voiceover inside the final video request, not as separate TTS plus composition
- no subtitles, no captions, no title cards, no price stickers, no floating labels, and no generated text overlays
- full voiceover or music direction

## Commercial/TVC Batch Execution

When the user chooses to generate multiple TVC scripts, keep the user-facing action as `把这几条全部交给 LibTV 批量生成`, but execute internally as a serial batch.

Rules:
- Use unique IDs: `TVC-01`, `TVC-02`, `TVC-03`.
- Submit only one TVC storyboard-first job at a time.
- The first sentence of every submitted TVC prompt must include: `15秒、9:16竖屏、带声音/口播`.
- Every submitted TVC prompt must require native audio/voiceover in the final video and must not request separate TTS plus composition.
- Every submitted TVC prompt must forbid subtitles, captions, title cards, price stickers, floating labels, and generated text overlays.
- Wait until that TVC has final video URL(s), or reaches a clear failure/timeout state, before submitting the next.
- Prefer a new video-tool session for each TVC when the tool is conversational or likely to merge multiple tasks.
- Record results before moving on: storyboard status, final video URL, failure reason, or timeout.
- Do not pack several TVC concepts into one prompt.

Timeout guidance:
- If storyboard images are created but final video is not complete after a reasonable wait, report that state and continue only if the user asked for continued autonomous batching.
- If the tool asks for confirmation because it sees multiple tasks, confirm only for the current TVC, not the whole batch.

## Parameter Loss Check

If a generated video returns with the wrong duration, ratio, or no sound, first inspect the actual message sent to the video tool. The script output may contain the correct values, but the handoff prompt must also explicitly include:
- 15秒
- 9:16竖屏
- 带声音/口播
- 直接生成声音/口播，不要单独TTS或后期合成
- 无字幕、无屏幕文字、无文字贴片

If any of these are missing from the actual handoff prompt, regenerate with a corrected prompt before changing the creative script.

## Regeneration Strategy

When the user is unhappy with a script, ask for the failure type only if it is unclear:
- hook weak
- too salesy
- not native to platform
- product selling points inaccurate
- too generic
- tone mismatch
- needs more drama/funniness/premium feeling

Then regenerate with one of these changes:
- new hook, same structure
- same hook, different scenario
- different direction
- more restrained text overlay
- more product close-ups
- stronger CTA


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)