
Byted Ind Ecom Product Video Prompt
- 6 installs
- 411 repo stars
- Updated August 4, 2026
- bytedance/agentkit-samples
Byted ind-ecom product video prompt is a Claude skill that generates Seedance 2.0 video-generation prompts turning e-commerce product photos into structured video scripts.
About
This skill generates structured video-generation prompts for e-commerce products using a Seedance 2.0 three-layer skeleton methodology. It converts one or more static product photos into a professional product-showcase video script with global settings, a five-segment storyboard, and consistency and output-spec constraints. A developer or marketer uses it to produce ready-to-run Seedance prompts, with templates for apparel, bags, beauty and 3C accessories.
- Generates Seedance 2.0 video-generation prompts for e-commerce products using a three-layer skeleton methodology
- Turns single or multiple product photos into structured product-showcase video scripts
- Ships category-specific templates for apparel/shoes, bags, beauty and 3C accessories with a five-segment storyboard
Byted Ind Ecom Product Video Prompt by the numbers
- 6 all-time installs (skills.sh)
- Ranked #1,096 of 1,335 Generative Media skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
byted-ind-ecom-product-video-prompt capabilities & compatibility
Generates prompts locally; no API keys stated for the prompt-generation step.
- Capabilities
- video generation · copywriting
- Use cases
- video generation · copywriting · marketing
- Runs
- Runs locally
- Pricing
- Free
What byted-ind-ecom-product-video-prompt says it does
本技能使用 **Seedance 2.0 "三层骨架" 方法论** 将静态商品图片转换为专业的视频生成提示词。
**时间片分镜(第二层)**:使用 "五段式分镜框架" 设计叙事节奏(0-3s, 3-6s, 6-9s, 9-12s, 12-15s)
需要品类专属模板(鞋服、箱包、美妆、3C配件)
npx skills add https://github.com/bytedance/agentkit-samples --skill byted-ind-ecom-product-video-promptAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 6 |
|---|---|
| repo stars | ★ 411 |
| Last updated | August 4, 2026 |
| Repository | bytedance/agentkit-samples ↗ |
What it does
Generate Seedance 2.0 video prompts that turn e-commerce product photos into structured product-showcase video scripts.
Who is it for?
Creating professional e-commerce product-showcase video prompts from single or multiple product images.
Skip if: Actually rendering the video; it produces prompts for Seedance 2.0, not the final video output.
When should I use this skill?
The user wants to create a video prompt from product images, needs a product-showcase video script, or wants Seedance prompts.
What you get
Produces a structured Seedance 2.0 prompt with global settings, a five-segment storyboard and output constraints.
- Structured Seedance 2.0 video prompt
- Five-segment storyboard script
By the numbers
- Three-layer skeleton methodology
- Five-segment storyboard (0-3s, 3-6s, 6-9s, 9-12s, 12-15s)
- 4 product-category templates
Files
商品视频提示词生成器
本技能使用 Seedance 2.0 "三层骨架" 方法论 将静态商品图片转换为专业的视频生成提示词。它提供结构化模板、品类专属示例以及质量标准,用于创建引人注目的电商商品视频。
何时使用本技能
- 将单张或多张商品图片转换为视频提示词
- 创建专业商品展示视频脚本
- 为 Seedance 2.0 视频生成生成结构化提示词
- 需要品类专属模板(鞋服、箱包、美妆、3C配件)
- 希望遵循行业标准的 "三层骨架" 方法论
方法论概述
"三层骨架" 方法论包括:
1. 全局设定(第一层):定义商品、人物、场景、构图、光线和风格 2. 时间片分镜(第二层):使用 "五段式分镜框架" 设计叙事节奏(0-3s, 3-6s, 6-9s, 9-12s, 12-15s) 3. 约束与输出规格(第三层):设置一致性规则、质量标准和参数
快速开始:30秒配方
1. 选择模板:单图模板或多图模板 2. 填充核心槽位:商品名称 + 参考图片 3. 定义关键元素:人物、场景、光线 4. 生成:第一版使用模板默认设置 5. 迭代:根据结果进行调整
模板
模板一:单图生成视频
适用于只有一张核心商品图,需要AI围绕其进行创意延伸的场景。
## 全局设定
- **商品**: [你的商品名称] (参考[图1])
- **人物**: [模特风格、气质、着装描述,或"无人物"]
- **场景**: [具体场景描述,如"简约明亮的原木风室内工作室"]
- **构图**: [构图风格,如"中心构图,画面极简平衡"]
- **光线**: [光线描述,如"清晨自然侧向柔光"]
- **风格**: 写实风格,真实拍摄,电影级质感
## 时间片分镜脚本
1. **0s-3s (引出主体)**: [远景/全景]展示[模特状态或商品陈列],镜头[推/拉/移]至[中景/近景],呈现[商品名称]的整体[廓形/外观]。
2. **3s-6s (核心质感)**: [中景/近景]拍摄[模特动作或商品细节],展示[商品材质/设计特点],[固定机位/慢速推近]。
3. **6s-9s (场景交互)**: [中景/全景]捕捉[商品与环境元素(如光影、微风、道具)的互动],展现其[动态美/氛围感]。
4. **9s-12s (多角度展示)**: [中景/近景]采用[环绕/旋转/弧线]运镜,多角度呈现[商品名称]的[立体感/侧面细节]。
5. **12s-15s (品牌收尾)**: [全景/中景]定格[模特或商品]在[场景描述]下的最终画面,营造[品牌氛围,如"高端极简"或"活力时尚"]氛围。
## 约束与输出规格
- **一致性**: [商品名称]必须与参考图[图1]严格一致,无变形、无穿模。
- **人物稳定性 (如需要)**: [人物描述]动作真实流畅,面部五官稳定清晰,无异常姿态,手部无畸变。
- **美学要求**: 8K超清画质,光影自然通透,色彩真实,背景适当虚化。
- **Seedance 2.0 参数**: 时长[15s], 画幅[16:9], 风格强度[中], 节奏[舒缓]。模板二:多图生成视频
适用于提供多个角度的商品图,需要AI严格保持各角度特征一致性的场景。
## 全局设定
- **商品**: [你的商品名称] (参考[图1], [图2], [图3]...)
- **人物**: [模特风格、气质、着装描述,或"无人物"]
- **场景**: [具体场景描述]
- **构图**: [构图风格]
- **光线**: [光线描述]
- **风格**: 写实风格,真实拍摄,商业大片质感
## 时间片分镜脚本
1. **0s-3s (引出主体)**: [全景/远景]展示[商品名称](参考[图1]的整体外观)在[场景]中,镜头[拉远/推近],展示商品与空间的[开阔感/和谐感]。
2. **3s-6s (核心质感)**: [中景/近景]侧面拍摄[模特穿着/使用着商品名称],展示其[关键特点如"厚底廓形"或"皮革纹理"],(参考[图2])。
3. **6s-9s (场景交互)**: 中景捕捉[模特/商品]在[场景元素如"窗边"]位置,[光线/环境元素]在商品表面产生[效果],(参考[图3]),映射出[材质/设计]的层次变化。
4. **9s-12s (多角度展示)**: [中景/全景]采用[环绕/摇臂]等运镜方式,全面展示[商品名称]的(参考[图4])[空间立体轮廓/多维细节]。
5. **12s-15s (品牌收尾)**: [全景]镜头下,[商品名称](参考[图5])定格在[光影环境]中,[背景虚化/焦点]处理,营造出[品牌调性]氛围。
## 约束与输出规格
- **一致性**: [商品名称]必须在所有参考角度([图1]-[图5])之间严格保持特征一致,细节、颜色、Logo完全匹配,无穿模。
- **人物稳定性 (如需要)**: [人物描述]动作连贯自然,面部五官稳定清晰,表情一致,无手部畸变。
- **美学要求**: 超清8K画质,光线通透,色彩精准。
- **Seedance 2.0 参数**: 时长[15s], 画幅[9:16], 风格强度[高], 节奏[动感]。品类专属示例
品类1:鞋服类(运动鞋,有人物)
## 全局设定
- **商品**: A品牌运动休闲鞋 (参考[图1], [图2], [图3])
- **人物**: 一位阳光活力的时尚运动风男模
- **场景**: 极简主义都市现代工业风展厅,带有几何展示台和大落地窗
- **构图**: 中心构图配合稳定的平衡构图
- **光线**: 通透的自然柔光与细腻边缘光
- **风格**: 写实风格,真实拍摄,商业广告级质感
## 时间片分镜脚本
1. **0s-3s (引出主体)**: 全景展示白色运动鞋(参考[图1])置于极简几何展示台上,镜头平滑拉远,展示产品与空间的开阔感。
2. **3s-6s (核心质感)**: 中景侧面拍摄男模稳健迈步穿着鞋子(参考[图2]),镜头平移跟随,强调厚底廓形与落地时的稳重支撑感。
3. **6s-9s (场景交互)**: 中景捕捉男模站立于窗边,自然午后光影在鞋面缓缓流动,映射出鞋身材质(参考[图3])的层次变化。
4. **9s-12s (多角度展示)**: 运用中景全景环绕运镜,随着镜头平滑右移,全面展示运动鞋的空间立体轮廓与运动线条。
5. **12s-15s (品牌收尾)**: 全景镜头下,产品定格于优雅光影环境中,背景虚化处理,营造出高端极简时尚休闲氛围。
## 约束与输出规格
- **一致性**: 视频中的运动休闲鞋需要与输入参考图片严格保持一致。
- **人物稳定性**: 模特动作真实无异常,面部五官清晰,无手部畸变。
- **美学要求**: 超清8K画质,真实风格。
- **Seedance 2.0 参数**: 时长15s, 画幅16:9, 严格遵循分镜脚本描述。品类2:3C配件(手机壳,概念风)
## 全局设定
- **商品**: X品牌未来科技感手机壳 (参考[图1])
- **人物**: 无需展示全身人物,仅需干净优雅的手部特写
- **场景**: 赛博朋克风格的城市夜景,充满霓虹灯光和金属质感
- **构图**: 特写和中特写相结合,配合中心构图,强调产品细节
- **光线**: 高对比度的戏剧性光影效果,如锐利的边缘光、动态光束
- **风格**: 写实风格,真实拍摄,带有未来科技感
## 时间片分镜脚本
1. **0s-3s (引出主体)**: 特写在黑暗背景中一束光扫过手机壳的一角,缓缓揭示其金属光泽和精准纹理;配合慢速拉远镜头,突显未来科技质感并营造悬念。
2. **3s-6s (核心质感与贴合)**: 中特写展示手机安装过程,聚焦手机壳与手机边框的精准贴合;配合稳定推入镜头和轻微"咔嗒"声效,强化严谨工艺与高度适配性。
3. **6s-9s (场景交互与氛围)**: 中特写到近中景展示手持手机,在充满霓虹灯的未来城市夜景中滑动屏幕;配合轻柔跟随镜头和霓虹灯光变幻,流光在手机壳磨砂表面流动,强化未来科技氛围。
4. **9s-12s (多角度展示)**: 中景到全景运用"子弹时间"式快速环绕镜头,展示手机在空中旋转;配合定格+环绕机位切换,全面展示手机壳的立体保护结构与纤薄设计。
5. **12s-15s (品牌收尾与记忆点)**: 特写手机静静放置于金属控制台上,一束顶光精准照亮中心品牌Logo;配合慢速收光,背景逐渐暗下,仅剩高亮度Logo,营造神秘、专业的科技收尾画面。
## 约束与输出规格
- **一致性**: X品牌未来科技感手机壳必须与参考图[图1]严格匹配,无变形,无穿模。
- **人物稳定性 (如需要)**: 手部动作必须真实流畅,如出现面部则面部五官必须稳定清晰,无异常姿态,无手部畸变。
- **美学要求**: 超清8K画质,自然通透光影,真实色彩;背景适当虚化以突出主体;手机壳品牌Logo需在需要呈现时始终清晰可见。
- **Seedance 2.0 参数**: 时长 [15s], 画幅 [9:16], 风格强度 [中], 节奏 [舒缓]。
- **严格遵循分镜脚本描述**品类3:箱包(手提包,无人物)
## 全局设定
- **商品**: B品牌帆布托特包 (参考[图1], [图2])
- **人物**: 无人物
- **场景**: 极简主义现代暖阳露台,带有木质咖啡桌和绿植
- **构图**: 经典平衡中心构图
- **光线**: 自然明亮侧逆柔光
- **风格**: 写实风格,真实拍摄,生活杂志质感
## 时间片分镜脚本
1. **0s-3s (引出主体)**: 全景镜头下,多个托特包(参考[图1])错落有致地摆放在纯净石阶上,镜头平滑推入,展示产品整体廓形与场景和谐美感。
2. **3s-6s (核心质感)**: 中景,粉色格纹包(参考[图2])静静置于木质咖啡桌上,微风吹过,光影在帆布材质上流动,展示其挺括与柔软兼具的质感。
3. **6s-9s (场景交互)**: 特写镜头,焦点从背景虚化的绿植过渡到包的提手部分,展示其皮革缝线细节。
4. **9s-12s (多角度展示)**: 全景环绕镜头,从侧后方平滑弧线至正面,展示不同颜色包在空间的立体廓形与色彩层次。
5. **12s-15s (品牌收尾)**: 中景定格,多个包静静伫立于柔和的午后光影中,通过稳定镜头拉远,营造高端极简时尚品牌情调。
## 约束与输出规格
- **一致性**: 视频中的托特包需要与输入参考图片严格保持一致。
- **美学要求**: 超清8K画质,色调柔和,避免过度锐化。
- **Seedance 2.0 参数**: 时长15s, 画幅9:16, 严格遵循分镜脚本描述。品类4:美妆(口红,手部出镜)
## 全局设定
- **商品**: C品牌丝绒口红 (参考[图1])
- **人物**: 无需展示全身人物,仅需干净优雅的女性手部特写
- **场景**: 柔光摄影棚,背景为纯净的裸粉色
- **构图**: 特写和中特写相结合,配合中心构图,强调产品细节
- **光线**: 干净柔和的摄影棚灯光,无明显阴影
- **风格**: 写实风格,真实拍摄,高端美妆广告级质感
## 时间片分镜脚本
1. **0s-3s (引出主体)**: 特写镜头,口红管身在纯净背景中缓缓旋出膏体,展示其完美的丝绒质地和精准切面,镜头缓缓推入。
2. **3s-6s (核心质感)**: 特写镜头,干净的手指轻轻抚过口红管身的哑光材质,感受其高端品质。
3. **6s-9s (场景交互)**: 特写镜头,口红膏体在手臂肌肤上滑过,留下一条色彩饱和、质地均匀的印记。
4. **9s-12s (多角度展示)**: 运用"子弹时间"式快速环绕镜头,展示口红在空中旋转,全面展示其设计细节和品牌Logo。
5. **12s-15s (品牌收尾)**: 口红静静放置于控制台上,一束顶光精准照亮中心品牌Logo,画面渐渐暗下,Logo保持高亮,营造神秘、专业的科技氛围。
## 约束与输出规格
- **一致性**: 视频中的口红需要与输入参考图片严格一致,特别是颜色和质地。
- **人物稳定性**: 手部动作必须流畅自然,无畸变,指甲干净。
- **美学要求**: 超清8K画质,确保口红色号准确还原,无色差。
- **Seedance 2.0 参数**: 时长15s, 画幅1:1, 严格遵循分镜脚本描述。生成前质量检查清单
在生成之前,根据以下标准检查你的提示词:
- 清晰度:指令简单直接,无歧义词汇
- 具体性:提供足够细节(例如,"下午4点巴黎街角咖啡馆" vs "不错的场景")
- 语义一致性:全局设定、分镜脚本和约束在风格上统一
- 商品焦点:所有描述都服务于"展示商品"
- 一致性锚点:使用最严格的措辞要求商品/人物与参考图保持一致
- 核心卖点:分镜脚本清晰规划展示关键卖点的镜头
- 风格真实性:明确指定"写实、真实拍摄"
- 格式规格:确认目标平台的画幅和时长
风险防控:常见问题与应对策略
问题1:主体不一致
- 表现:生成的商品在颜色、形状或Logo上与参考图存在差异
- 解决:加强绑定,使用"视频中的商品必须与参考图[图1]的形态、颜色、Logo等所有细节100%严格一致"
问题2:人物/几何异常
- 表现:出现多余的手指、不自然的姿态、商品不自然地弯曲
- 解决:增加负面约束:"避免任何手部或面部畸变"、"确保模特四肢比例正常"、"商品形态需保持几何稳定"
问题3:过度风格化
- 表现:画面过于卡通或油画感,失去"真实拍摄"的商业质感
- 解决:固定风格为"写实风格,真实拍摄",增加"电影级画质"、"商业广告级质感"
问题4:信息遮挡
- 表现:模特的姿态、手部或场景中的物体遮挡了商品的关键部位
- 解决:优化分镜描述:"模特自然地将包垂于身侧,避免手部遮挡包身Logo"
问题5:节奏与时长
- 表现:整体节奏过快或过慢,或者时长不符合预期
- 解决:调整分镜时间戳:将"0s-3s"改为"0s-2s"加快节奏,或改为"0s-4s"放慢节奏
迭代策略
策略1:微调分镜描述
如果只有一个镜头不理想(角度不对、动作幅度过大),精确修改那个分镜的核心内容或运镜方式。例如,将"模特大幅度转身"改为"模特轻微侧身"。
策略2:锁定随机性,固定关键帧
如果某一帧(如分镜3)已经完美,但其他分镜需要调整,可以尝试告诉AI"保持分镜3的画面风格和构图不变",或者提供该帧的截图作为新的参考图。
策略3:调整风格权重
如果整体氛围与预期有偏差(太"假"或太平淡),调整场景、光线等风格化描述的强度。如果太"假",减少修饰词,向"自然"、"简约"靠拢。
策略4:善用"减法",增加负面约束
如果反复出现同样的问题(如手部畸变),不要反复修改正面描述。而是直接在约束部分增加一条"负面清单",明确告诉AI"不要做什么"。负面提示往往比正面引导更有效。
使用流程
1. 分析输入:确定用户是单图还是多图 2. 选择模板:选择模板1(单图)或模板2(多图) 3. 填充槽位:用具体内容填充所有[括号]占位符 4. 应用品类指引:如适用,参考品类专属示例 5. 质量检查:根据生成前检查清单验证 6. 生成与迭代:创建视频,然后使用优化策略迭代
输出格式
本技能输出完整的、即用的提示词,遵循三层骨架结构:
- 定义了所有6个元素的全局设定
- 带有详细镜头描述的5段分镜时间线
- 约束条件和技术规格
此提示词可直接用于 Seedance 2.0 或类似的视频生成模型。
{
"skill_name": "byted-ind-ecom-product-video-prompt",
"description": "Generate high-quality video generation prompts for e-commerce products using Seedance 2.0 methodology",
"evals": [
{
"id": 1,
"name": "single_image_footwear",
"prompt": "Generate a video prompt for these white running shoes. I have one product image. The shoes are for athletic use, should show a sporty male model wearing them in a modern urban setting. Target platform is TikTok so needs 9:16 aspect ratio.",
"expected_output": "Complete Three-Layer Skeleton prompt with Global Setup (product, character, scene, composition, lighting, style), 5-shot timeline (0-3s, 3-6s, 6-9s, 9-12s, 12-15s), and Constraints section with 9:16 aspect ratio specification",
"files": [],
"assertions": []
},
{
"id": 2,
"name": "multiple_images_handbag",
"prompt": "I have 3 images of a leather handbag showing front, side, and detail views. I want a video prompt for Instagram Reels (9:16) showing the bag in a warm, lifestyle setting without any models. The bag should be the hero of the video.",
"expected_output": "Multi-image template prompt with references to [Image1], [Image2], [Image3], no character specification, warm lifestyle scene description, and 9:16 format for Instagram Reels",
"files": [],
"assertions": []
},
{
"id": 3,
"name": "beauty_cosmetics_lipstick",
"prompt": "Generate a prompt for a luxury velvet lipstick product video. The video should focus on the product texture and color application. Use a hand model only, no full face. We need 1:1 aspect ratio for Instagram feed posts. The style should be high-end beauty advertisement.",
"expected_output": "Beauty category template with hand-only character specification, focus on texture and color, clean studio scene, soft lighting, 1:1 aspect ratio, and high-end beauty ad quality specifications",
"files": [],
"assertions": []
},
{
"id": 4,
"name": "tech_accessories_phone_case",
"prompt": "I need a video prompt for a futuristic tech phone case. The style should be cyberpunk with dramatic lighting. Show the precise fit and installation process. Target is YouTube Shorts so 9:16 format. Include neon lights and tech atmosphere.",
"expected_output": "3C accessories template with cyberpunk scene, dramatic high-contrast lighting, hands-only character, installation process demonstration, 9:16 for YouTube Shorts, and tech atmosphere specifications",
"files": [],
"assertions": []
},
{
"id": 5,
"name": "apparel_fashion_dress",
"prompt": "Generate a video prompt for an elegant evening dress. I have one hero image of the dress on a model. The video should showcase the dress movement and fabric flow. Use a female model in an elegant setting. 16:9 format for website hero video. The style should be luxury fashion editorial.",
"expected_output": "Apparel template with elegant female model, focus on dress movement and fabric flow, elegant scene setting, 16:9 for website, luxury fashion editorial style, and premium quality specifications",
"files": [],
"assertions": []
}
]
}
Product Category Reference Guide
This reference provides category-specific defaults and best practices for different product types.
Category Overview
1. Apparel & Footwear (鞋服)
Typical Setup:
- Character: Fashion model (full body or partial)
- Scene: Modern showroom, studio, or lifestyle environment
- Composition: Center composition with dynamic framing
- Lighting: Natural soft light with rim lighting
- Key Focus: Product fit, material texture, movement
Shot Patterns: 1. Full shot establishing product in environment 2. Medium shot showing product in use/motion 3. Close-up of material details 4. Dynamic angle showing product features 5. Brand closing shot with atmosphere
2. Bags & Luggage (箱包)
Typical Setup:
- Character: Often no character, hands-only, or lifestyle context
- Scene: Minimalist modern, warm lifestyle settings
- Composition: Classic balanced center composition
- Lighting: Natural soft side-back light
- Key Focus: Product shape, material, craftsmanship details
Shot Patterns: 1. Multiple products arranged in scene 2. Close-up of material and stitching 3. Detail shots of handles, zippers, hardware 4. Dynamic angles showing shape 5. Atmospheric closing with brand mood
3. Beauty & Cosmetics (美妆)
Typical Setup:
- Character: Hands-only or close-up partial face
- Scene: Clean studio, soft color backgrounds
- Composition: Tight close-ups, center composition
- Lighting: Clean soft studio lighting, no harsh shadows
- Key Focus: Product texture, color, application effect
Shot Patterns: 1. Extreme close-up of product revealing texture 2. Product application process 3. Color swatch and effect demonstration 4. Dynamic rotation showing packaging design 5. Brand logo highlight closing
4. 3C Accessories (数码配件)
Typical Setup:
- Character: Hands-only or product-only
- Scene: Tech/cyberpunk or minimalist modern
- Composition: Dynamic angles, dramatic lighting
- Lighting: High-contrast dramatic lighting, rim lights
- Key Focus: Product design, precision fit, tech features
Shot Patterns: 1. Dramatic reveal with light sweep 2. Installation/fit demonstration 3. Product in tech environment interaction 4. "Bullet time" dynamic rotation 5. Tech-focused brand closing
Category-Specific Keywords
Apparel & Footwear
- Scene: urban, modern, showroom, studio, lifestyle, street
- Lighting: natural soft light, rim light, golden hour
- Action: walking, running, posing, movement, dynamic
Bags & Luggage
- Scene: minimal, warm, lifestyle, terrace, studio, natural
- Lighting: soft side light, natural, warm
- Action: still, arranged, gentle movement, breeze
Beauty & Cosmetics
- Scene: studio, clean, soft, minimal, professional
- Lighting: soft, even, no shadows, clean
- Action: applying, swatching, rotating, revealing
3C Accessories
- Scene: tech, cyberpunk, futuristic, modern, minimal
- Lighting: dramatic, high contrast, neon, rim light
- Action: installing, rotating, glowing, revealing
Aspect Ratio Recommendations
- 16:9 (Landscape): Product pages, websites, presentations
- 9:16 (Portrait): TikTok/Douyin, Instagram Reels, Stories
- 1:1 (Square): Instagram feed, product grids
- 4:3: Traditional presentations, some social platforms
Duration Guidelines
- 15 seconds: Standard for social media, quick showcases
- 10 seconds: Short-form platforms, teasers
- 20-30 seconds: Detailed product showcases, tutorials
Seedance 2.0 Parameter Reference
| Parameter | Options | Default |
|---|---|---|
| Duration | 5s, 10s, 15s | 15s |
| Aspect Ratio | 16:9, 9:16, 1:1, 4:3, etc. | 16:9 |
| Style Intensity | Low, Medium, High | Medium |
| Rhythm | Slow, Relaxed, Dynamic, Fast | Relaxed |
Common Constraints Checklist
- [ ] Product consistency with reference images
- [ ] No deformation or clipping
- [ ] Character stability (if applicable)
- [ ] Authentic actions, no facial/hand distortion
- [ ] 8K ultra-clear quality
- [ ] Natural transparent light/shadow
- [ ] Authentic colors, no color difference
- [ ] Background blur appropriate
- [ ] Logo clearly visible when needed
- [ ] Strict following of shot descriptions
#!/usr/bin/env python3
"""
Product Video Prompt Generator
This script generates video generation prompts for e-commerce products
using the Seedance 2.0 "Three-Layer Skeleton" methodology.
Usage:
python generate_prompt.py --product "White Sneakers" --images img1.jpg --category footwear
"""
import argparse
import json
from typing import List, Optional
from dataclasses import dataclass, asdict
from enum import Enum
class Category(Enum):
FOOTWEAR = "footwear"
APPAREL = "apparel"
BAGS = "bags"
BEAUTY = "beauty"
ACCESSORIES_3C = "3c_accessories"
GENERAL = "general"
@dataclass
class GlobalSetup:
"""Layer 1: Global Setup - Worldview of the video"""
product: str
reference_images: List[str]
character: str
scene: str
composition: str
lighting: str
style: str = "Realistic style, authentic filming, cinematic quality"
def to_prompt(self) -> str:
refs = ", ".join([f"[Image{i+1}]" for i in range(len(self.reference_images))])
return f"""## Global Setup
- **Product**: {self.product} (Reference {refs})
- **Character**: {self.character}
- **Scene**: {self.scene}
- **Composition**: {self.composition}
- **Lighting**: {self.lighting}
- **Style**: {self.style}"""
@dataclass
class Shot:
"""Individual shot in the timeline"""
start_time: int
end_time: int
goal: str
shot_type: str
content: str
camera_move: str
visual_effect: str
reference_image: Optional[str] = None
def to_prompt(self) -> str:
ref = f" (Reference {self.reference_image})" if self.reference_image else ""
return f' **{self.start_time}s-{self.end_time}s ({self.goal})**: {self.shot_type} displays {self.content}{ref}, camera {self.camera_move}, {self.visual_effect}.'
@dataclass
class ShotTimeline:
"""Layer 2: Shot List Timeline - Story rhythm"""
shots: List[Shot]
def to_prompt(self) -> str:
shots_text = "\n".join([shot.to_prompt() for shot in self.shots])
return f"""## Shot Timeline Script
{shots_text}"""
@dataclass
class Constraints:
"""Layer 3: Constraints & Output Specs - Quality assurance"""
consistency: str
character_stability: Optional[str]
aesthetic: str
duration: str = "15s"
aspect_ratio: str = "16:9"
style_intensity: str = "Medium"
rhythm: str = "Relaxed"
def to_prompt(self) -> str:
char_stab = f"- **Character Stability**: {self.character_stability}\n" if self.character_stability else ""
return f"""## Constraints & Output Specifications
- **Consistency**: {self.consistency}
{char_stab}- **Aesthetic Requirements**: {self.aesthetic}
- **Seedance 2.0 Parameters**: Duration [{self.duration}], Aspect Ratio [{self.aspect_ratio}], Style Intensity [{self.style_intensity}], Rhythm [{self.rhythm}]."""
@dataclass
class VideoPrompt:
"""Complete video generation prompt"""
global_setup: GlobalSetup
shot_timeline: ShotTimeline
constraints: Constraints
def to_prompt(self) -> str:
return f"""{self.global_setup.to_prompt()}
{self.shot_timeline.to_prompt()}
{self.constraints.to_prompt()}
"""
def get_category_defaults(category: Category) -> dict:
"""Get default values for specific categories"""
defaults = {
Category.FOOTWEAR: {
"scene": "Minimalist modern urban industrial showroom with geometric display platforms",
"composition": "Center composition with stable balanced composition",
"lighting": "Transparent natural soft light with delicate rim light",
"character": "A sunny, energetic, fashion-sporty male model",
},
Category.APPAREL: {
"scene": "Minimalist bright indoor studio with soft background",
"composition": "Center composition with stable balanced composition",
"lighting": "Natural soft light with subtle rim light",
"character": "A fashionable young model with natural styling",
},
Category.BAGS: {
"scene": "Minimalist modern warm sunshine terrace with wooden coffee table and green plants",
"composition": "Classic balanced center composition",
"lighting": "Natural bright side-back soft light",
"character": "No character",
},
Category.BEAUTY: {
"scene": "Soft light photography studio with pure flesh pink background",
"composition": "Center composition emphasizing product details",
"lighting": "Clean and soft studio lighting with no obvious shadows",
"character": "Clean and elegant female hand close-ups only",
},
Category.ACCESSORIES_3C: {
"scene": "Cyberpunk-style urban night scene full of neon light and metal texture",
"composition": "Center composition with dramatic lighting",
"lighting": "High-contrast dramatic lighting with sharp rim light",
"character": "Clean and elegant hand close-ups only",
},
Category.GENERAL: {
"scene": "Clean minimalist studio environment",
"composition": "Center composition with balanced framing",
"lighting": "Natural soft lighting",
"character": "No character",
},
}
return defaults.get(category, defaults[Category.GENERAL])
def create_five_shot_timeline(product: str, ref_images: List[str], category: Category) -> ShotTimeline:
"""Create standard 5-shot timeline (0-15s)"""
# Map category to shot content patterns
shot_patterns = {
Category.FOOTWEAR: {
"intro": f"Full shot displays {product} placed on minimalist geometric display platform, with smooth camera pull-back, demonstrating product and space openness",
"core": f"Medium shot side-films model walking steadily wearing {product}, camera pan following, emphasizing thick sole silhouette and stable support feeling on landing",
"interaction": f"Medium shot captures model standing still by window, natural afternoon light/shadow slowly shifting on shoe surface, mapping out shoe material layer changes",
"multi_angle": f"Uses medium-long shot surround camera movement, as camera smoothly moves right, comprehensively displays {product}'s spatial stereoscopic contour and movement lines",
"closing": f"Under full shot lens, {product} freezes in elegant light/shadow environment, background blur processing, creating high-end minimalist fashion casual atmosphere"
},
Category.BAGS: {
"intro": f"Full shot lens, multiple {product} arranged staggered on pure stone steps, with smooth camera push-in, demonstrating product overall shape and scene harmonious beauty",
"core": f"Medium shot, {product} quietly placed on wooden coffee table, breeze blows, light/shadow moves on canvas material, demonstrating its firmness and soft texture",
"interaction": f"Close-up lens, focus transitions from background blurred green plants to {product}'s handle part, demonstrating its leather stitching details",
"multi_angle": f"Full shot surround lens, smoothly arcs from side-back to front, demonstrating different color {product} in space's stereoscopic silhouette and color layers",
"closing": f"Medium shot freeze-frame, multiple {product} in soft afternoon light/shadow quietly placed, through stable camera pull-back, creating high-end minimalist fashion brand mood"
},
"default": {
"intro": f"Full shot displays {product} in clean environment, with smooth camera movement, establishing overall visual impression",
"core": f"Medium/close-up shot focuses on {product}'s key features and textures, demonstrating core selling points",
"interaction": f"Medium shot captures {product} with environmental elements interaction, creating authentic atmosphere",
"multi_angle": f"Dynamic camera movement shows {product} from multiple angles, satisfying exploration desire",
"closing": f"Full/medium shot freeze frame with elegant lighting, completing brand tonality transmission"
}
}
patterns = shot_patterns.get(category, shot_patterns["default"])
shots = [
Shot(0, 3, "Introduce Subject", "Full shot/Full shot", patterns["intro"], "smooth pull-back/push-in", "establishing overall visual impression"),
Shot(3, 6, "Core Texture", "Medium shot/Close-up", patterns["core"], "fixed camera/slow push", "demonstrating key selling points"),
Shot(6, 9, "Scene Interaction", "Medium shot/Full shot", patterns["interaction"], "follow/pan", "creating authentic atmosphere"),
Shot(9, 12, "Multi-Angle Display", "Medium shot/Close-up", patterns["multi_angle"], "surround/rotate/arc", "showing from multiple angles"),
Shot(12, 15, "Brand Closing", "Full shot/Medium shot", patterns["closing"], "freeze frame with elegant lighting", "completing brand transmission")
]
return ShotTimeline(shots)
def main():
parser = argparse.ArgumentParser(
description="Generate video generation prompts for e-commerce products using Seedance 2.0 methodology"
)
parser.add_argument("--product", "-p", required=True, help="Product name/description")
parser.add_argument("--images", "-i", nargs="+", required=True, help="Reference image paths/URLs")
parser.add_argument("--category", "-c", type=Category, default=Category.GENERAL,
choices=list(Category), help="Product category")
parser.add_argument("--character", help="Character description (auto-selected by category if not provided)")
parser.add_argument("--aspect-ratio", "-ar", default="16:9", choices=["16:9", "9:16", "1:1", "4:3"],
help="Video aspect ratio")
parser.add_argument("--duration", "-d", default="15s", help="Video duration")
parser.add_argument("--output", "-o", help="Output file path (default: print to stdout)")
args = parser.parse_args()
# Get category defaults
defaults = get_category_defaults(args.category)
# Build Global Setup
global_setup = GlobalSetup(
product=args.product,
reference_images=args.images,
character=args.character or defaults["character"],
scene=defaults["scene"],
composition=defaults["composition"],
lighting=defaults["lighting"]
)
# Build Shot Timeline
shot_timeline = create_five_shot_timeline(args.product, args.images, args.category)
# Build Constraints
constraints = Constraints(
consistency=f"{args.product} must strictly match reference image(s), no deformation, no clipping",
character_stability="Actions authentic and normal, facial features stable and clear, no hand distortion" if "No character" not in (args.character or defaults["character"]) else None,
aesthetic="Ultra-clear 8K quality, natural transparent light/shadow, authentic colors, appropriate background blur",
duration=args.duration,
aspect_ratio=args.aspect_ratio
)
# Build complete prompt
video_prompt = VideoPrompt(global_setup, shot_timeline, constraints)
final_prompt = video_prompt.to_prompt()
# Output
if args.output:
with open(args.output, 'w', encoding='utf-8') as f:
f.write(final_prompt)
print(f"Prompt saved to: {args.output}")
else:
print(final_prompt)
if __name__ == "__main__":
main()
Related skills
FAQ
What methodology does it use?
The Seedance 2.0 three-layer skeleton: global settings, time-slice storyboard, and constraints/output specs.
Which product categories are covered?
Apparel/shoes, bags, beauty, and 3C accessories, each with dedicated templates.
Does it render the video?
No, it outputs a structured prompt for Seedance 2.0 video generation.