1143 lines
51 KiB
TypeScript
1143 lines
51 KiB
TypeScript
import type { AssetTemplate, CharacterSpec, PackKind, TextTemplate } from './types';
|
||
|
||
export const FILENAME_SCHEMA = '{sessionId}_{characterSlug}_{pack}_{view}_{version}.{ext}';
|
||
export const TEMPLATE_FREEZE_VERSION = 'toy-pack-templates-v01';
|
||
|
||
export const PACK_LABELS: Record<PackKind, string> = {
|
||
patent: '专利包',
|
||
production: '生产打样包',
|
||
marketing: '宣发包',
|
||
accessories: '配件包',
|
||
};
|
||
|
||
export const PACK_ORDER: PackKind[] = ['patent', 'accessories', 'production', 'marketing'];
|
||
|
||
export const VIDEO_TEMPLATES = [
|
||
{
|
||
id: 'video_turntable',
|
||
title: '360 度旋转展示',
|
||
description: '45 秒,用于电商和内部评审,展示整体体积、正背侧轮廓。',
|
||
duration: 45,
|
||
ratio: '16:9',
|
||
promptTemplate: '生成 45 秒 360 度旋转展示视频:{character}. 白底或浅灰棚拍,镜头稳定,产品缓慢旋转,展示正面、侧面、背面、顶部细节,材质、表面质感、情绪屏和配件必须严格贴合角色设定。产品尺寸按 40cm+ 智能陪伴机器人摆件表现,正面宽约 28cm、侧深约 22cm,镜头中要能感知 40cm 以上实体体量。音乐氛围可参考韩流电子节奏和潮流鼓点,但不要使用真实受版权保护歌曲。',
|
||
},
|
||
{
|
||
id: 'video_unboxing',
|
||
title: '开箱短片',
|
||
description: '45 秒,用于新品宣发,展示包装到玩具出现的过程。',
|
||
duration: 45,
|
||
ratio: '9:16',
|
||
promptTemplate: '生成 45 秒玩具开箱短片:{character}. 竖版社媒风格,从礼盒或包装打开到产品出现,温暖但克制的棚拍光线,突出礼物感、收藏感、角色识别点和配件陈列。产品为 40cm+ 智能陪伴机器人摆件,包装和手部比例必须支持 40cm 以上尺寸。音乐氛围可参考韩流电子节奏和潮流鼓点,但不要使用真实受版权保护歌曲。',
|
||
},
|
||
{
|
||
id: 'video_touch_detail',
|
||
title: '触感细节',
|
||
description: '45 秒,展示材质、情绪屏、表面纹理和配件细节。',
|
||
duration: 45,
|
||
ratio: '9:16',
|
||
promptTemplate: '生成 45 秒玩具细节短片:{character}. 近景镜头,展示角色设定中的核心材质、橙色 visor 情绪屏、表面软壳或短绒触感、手脚细节、标志性配件和包装小物,节奏清楚,避免加入设定外材质或无关部件。必须体现 40cm+ 产品的厚实体量、柔和触感和稳定站立尺度。音乐氛围可参考韩流电子节奏和潮流鼓点,但不要使用真实受版权保护歌曲。',
|
||
},
|
||
{
|
||
id: 'video_story_intro',
|
||
title: '角色故事介绍',
|
||
description: '45 秒,用于 IP 设定和社媒发布。',
|
||
duration: 45,
|
||
ratio: '16:9',
|
||
promptTemplate: '生成 45 秒玩具角色故事介绍视频:{character}. 轻剧情镜头,围绕角色设定的核心使用场景登场,展示情绪屏变化、标志性配件、色彩气质和陪伴感,适合新品发布。故事中产品始终是 40cm+ 智能陪伴机器人摆件,可以被双手抱住或稳放在家居空间,不要缩成桌面小摆件。音乐氛围可参考韩流电子节奏和潮流鼓点,但不要使用真实受版权保护歌曲。',
|
||
},
|
||
{
|
||
id: 'video_factory_preview',
|
||
title: '工厂预览短片',
|
||
description: '45 秒,用于打样前内部沟通,展示外观、尺寸、材料、拆件和包装要点。',
|
||
duration: 45,
|
||
ratio: '16:9',
|
||
promptTemplate: '生成 45 秒工厂预览概念短片:{character}. 16:9,面向内部沟通,展示外观、尺寸、材料、拆件和包装要点,镜头清楚克制,不做消费者营销话术。尺寸基准写死为成品高度 40cm+,正面宽约 28cm,侧面深约 22cm,必须保持 40cm 以上实体产品尺度。音乐氛围可参考韩流电子节奏和潮流鼓点,但不要使用真实受版权保护歌曲。',
|
||
},
|
||
] as const;
|
||
|
||
export const CHARACTER_SPEC_FIELDS: Array<{ key: keyof CharacterSpec; label: string; hint: string }> = [
|
||
{ key: 'name', label: '名称', hint: '玩具/IP 名称' },
|
||
{ key: 'oneLiner', label: '一句话定位', hint: '面向谁、解决什么情绪或场景' },
|
||
{ key: 'targetUser', label: '目标用户', hint: '儿童、潮玩、礼品、品牌客户等' },
|
||
{ key: 'speciesShape', label: '物种/形态', hint: '动物、人形、怪兽、机甲、食物拟人等' },
|
||
{ key: 'bodyRatio', label: '身体比例', hint: '头身比、胖瘦、坐姿/站姿' },
|
||
{ key: 'faceFeatures', label: '五官表情', hint: '眼睛、嘴巴、腮红、表情、眉毛' },
|
||
{ key: 'colorPalette', label: '配色', hint: '主色、辅色、强调色、禁用色' },
|
||
{ key: 'materials', label: '材料', hint: '毛绒、刺绣、印花、塑料件、织带、金属件' },
|
||
{ key: 'accessories', label: '配件', hint: '衣服、帽子、背包、吊牌、电子件等' },
|
||
{ key: 'signatureElements', label: '识别元素', hint: '最能形成识别度的 3-5 个元素' },
|
||
{ key: 'manufacturingNotes', label: '生产提醒', hint: '避免过细尖角、过多小件等' },
|
||
{ key: 'patentFocus', label: '专利重点', hint: '希望保护的外观特征' },
|
||
{ key: 'marketingAngle', label: '营销角度', hint: '陪伴、治愈、收藏、科技感、礼物等' },
|
||
{ key: 'negativePrompt', label: '禁忌项', hint: '不要出现的元素' },
|
||
{ key: 'sourceImageId', label: '源图 ID', hint: '选中方案来源' },
|
||
{ key: 'sourceImageUrl', label: '源图链接', hint: '选中方案来源' },
|
||
{ key: 'lockedAt', label: '锁定时间', hint: '角色设定生成时间' },
|
||
];
|
||
|
||
const patentChecklist = [
|
||
'白底或浅灰底,产品居中',
|
||
'无营销文案、场景道具、水印和价格信息',
|
||
'五官、配色、配件位置与源图保持一致',
|
||
'视角和比例清楚,外观重点可见',
|
||
];
|
||
|
||
const productionChecklist = [
|
||
'有清晰标注线和中文说明',
|
||
'尺寸单位默认 cm,小部件可用 mm',
|
||
'材料、工艺、颜色或结构信息足以支持工厂沟通',
|
||
'不混入营销海报和场景背景',
|
||
];
|
||
|
||
const marketingChecklist = [
|
||
'角色与锁定设定一致',
|
||
'画面明确服务一个渠道或卖点',
|
||
'文案不遮挡产品关键外观',
|
||
'镜头、色温、背景质感与同包素材统一',
|
||
];
|
||
|
||
const textChecklist = [
|
||
'围绕锁定 CharacterSpec,不改核心外观设定',
|
||
'文字可直接复制给专利代理、工厂或宣发同事',
|
||
'不要编造真实商标、认证编号、价格和不存在的法律结论',
|
||
'保留待人工确认的尺寸、材料、色号或合规项',
|
||
];
|
||
|
||
export const TEXT_TEMPLATES: TextTemplate[] = [
|
||
{
|
||
id: 'text_project_design_brief',
|
||
kind: 'project',
|
||
title: '项目设计总说明',
|
||
description: '概括玩具定位、核心外观、目标用户和三类输出包用途。',
|
||
required: true,
|
||
outputFormat: 'paragraph',
|
||
filenamePart: 'project-design-brief',
|
||
promptTemplate: '根据角色设定生成项目设计总说明:{character}. 说明产品定位、目标用户、整体外观、材料倾向、专利/生产/宣发三类用途,中文 300-500 字。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_character_setting',
|
||
kind: 'project',
|
||
title: '角色设定说明',
|
||
description: 'IP 名称、性格、故事背景、识别元素和禁忌项。',
|
||
required: true,
|
||
outputFormat: 'bullets',
|
||
filenamePart: 'character-setting',
|
||
promptTemplate: '根据角色设定生成 IP 角色设定说明:{character}. 输出名称、性格、故事背景、3-5 个识别元素、禁忌项和后续生成一致性要求。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_patent_product_name',
|
||
kind: 'patent',
|
||
title: '外观设计产品名称',
|
||
description: '用于专利申请的产品名称建议。',
|
||
required: true,
|
||
outputFormat: 'paragraph',
|
||
filenamePart: 'patent-product-name',
|
||
promptTemplate: '根据角色设定生成外观设计专利产品名称建议:{character}. 名称应简洁、客观、避免营销词,给出 3 个候选和推荐理由。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_patent_product_use',
|
||
kind: 'patent',
|
||
title: '产品用途说明',
|
||
description: '外观设计专利“产品用途”字段草稿。',
|
||
required: true,
|
||
outputFormat: 'paragraph',
|
||
filenamePart: 'patent-product-use',
|
||
promptTemplate: '根据角色设定生成外观设计专利产品用途说明:{character}. 用客观语言说明该产品用于玩具、摆件、陪伴礼品或收藏展示等用途,中文 80-150 字。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_patent_design_points',
|
||
kind: 'patent',
|
||
title: '设计要点说明',
|
||
description: '外观设计专利“设计要点”字段草稿。',
|
||
required: true,
|
||
outputFormat: 'paragraph',
|
||
filenamePart: 'patent-design-points',
|
||
promptTemplate: '根据角色设定生成外观设计专利设计要点:{character}. 聚焦形状、图案、色彩或其结合,说明最应保护的外观特征,避免功能性表述,中文 100-200 字。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_patent_representative_view',
|
||
kind: 'patent',
|
||
title: '最能表明设计要点的图片',
|
||
description: '建议指定主视图或立体图作为代表图。',
|
||
required: true,
|
||
outputFormat: 'paragraph',
|
||
filenamePart: 'patent-representative-view',
|
||
promptTemplate: '根据角色设定和专利视图清单,生成“最能表明设计要点的图片”建议:{character}. 从主视图、前侧立体图、局部图中推荐一个,并说明理由。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_patent_view_brief',
|
||
kind: 'patent',
|
||
title: '各视图简要说明',
|
||
description: '对应主视图、后视图、左右视图、俯仰视图、立体图和局部图。',
|
||
required: true,
|
||
outputFormat: 'table',
|
||
filenamePart: 'patent-view-brief',
|
||
promptTemplate: '根据角色设定生成外观设计专利各视图简要说明表:{character}. 覆盖主视图、后视图、左视图、右视图、俯视图、仰视图、前侧立体图、后侧立体图、局部放大图、使用状态图、成套产品图。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_patent_color_claim',
|
||
kind: 'patent',
|
||
title: '色彩保护说明',
|
||
description: '是否请求保护色彩的说明建议。',
|
||
required: false,
|
||
outputFormat: 'paragraph',
|
||
filenamePart: 'patent-color-claim',
|
||
promptTemplate: '根据角色设定生成外观设计专利色彩保护建议:{character}. 判断是否建议请求保护色彩,说明理由,并标记需由专利代理最终确认。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_production_brief',
|
||
kind: 'production',
|
||
title: '工厂打样总说明',
|
||
description: '给工厂的打样目标、尺寸、材料、结构和注意事项。',
|
||
required: true,
|
||
outputFormat: 'paragraph',
|
||
filenamePart: 'production-brief',
|
||
promptTemplate: '根据角色设定生成工厂打样总说明:{character}. 说明目标尺寸档、整体形态、材料倾向、软硬度、配件固定、缝线和待确认事项,中文 300-500 字。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_production_cmf',
|
||
kind: 'production',
|
||
title: 'CMF 材料颜色工艺说明',
|
||
description: '颜色、材料、表面工艺、刺绣/印花和填充说明。',
|
||
required: true,
|
||
outputFormat: 'table',
|
||
filenamePart: 'production-cmf',
|
||
promptTemplate: '根据角色设定生成 CMF 表格:{character}. 列出部位、建议材料、颜色/色号占位、工艺、风险和待确认项。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_production_bom',
|
||
kind: 'production',
|
||
title: 'BOM 部件清单',
|
||
description: '头、身体、四肢、顶部冠盖、侧面模块、肩带、扣件和包装等部件清单。',
|
||
required: true,
|
||
outputFormat: 'table',
|
||
filenamePart: 'production-bom',
|
||
promptTemplate: '根据角色设定生成软壳/毛绒智能玩具 BOM 部件清单:{character}. 包含部件名称、数量、材料、工艺、尺寸占位、供应/打样注意事项;不要默认加入动物耳朵、鼻子或尾巴。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_production_qc',
|
||
kind: 'production',
|
||
title: '打样验收标准',
|
||
description: '尺寸偏差、颜色、刺绣、缝线、配件牢固度和安全提醒。',
|
||
required: true,
|
||
outputFormat: 'bullets',
|
||
filenamePart: 'production-qc',
|
||
promptTemplate: '根据角色设定生成工厂打样验收标准:{character}. 按尺寸、外观一致性、颜色、材料、刺绣印花、缝线、配件固定、包装和安全风险列出检查项。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_accessory_brief',
|
||
kind: 'accessories',
|
||
title: '配件设计说明',
|
||
description: '说明独立配件清单、外观特点、组合关系和保护/打样重点。',
|
||
required: true,
|
||
outputFormat: 'bullets',
|
||
filenamePart: 'accessory-brief',
|
||
promptTemplate: '根据角色设定生成配件设计说明:{character}. 列出所有独立配件、每个配件的外观特点、与主娃娃的组合关系、是否可拆、专利保护重点和打样注意事项。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_accessory_bom',
|
||
kind: 'accessories',
|
||
title: '配件 BOM 与工艺清单',
|
||
description: '独立配件的材料、数量、尺寸、连接方式和工艺。',
|
||
required: true,
|
||
outputFormat: 'table',
|
||
filenamePart: 'accessory-bom',
|
||
promptTemplate: '根据角色设定生成配件 BOM 与工艺清单:{character}. 表格列出配件名称、数量、材料、颜色、尺寸占位、连接方式、工艺、安全风险和待确认项。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_marketing_core_copy',
|
||
kind: 'marketing',
|
||
title: '核心卖点文案',
|
||
description: '主标题、副标题、3-5 个卖点和短描述。',
|
||
required: true,
|
||
outputFormat: 'bullets',
|
||
filenamePart: 'marketing-core-copy',
|
||
promptTemplate: '根据角色设定生成宣发核心文案:{character}. 输出主标题 5 个、副标题 5 个、3-5 个卖点、短描述 3 版,适合电商和社媒。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_marketing_detail_page',
|
||
kind: 'marketing',
|
||
title: '电商详情页文字结构',
|
||
description: '详情页模块标题、正文、卖点、尺寸、材料和包装说明。',
|
||
required: true,
|
||
outputFormat: 'table',
|
||
filenamePart: 'marketing-detail-page',
|
||
promptTemplate: '根据角色设定生成电商详情页文字结构:{character}. 按模块输出标题、正文、配图建议、卖点、尺寸/材料/包装说明,中文。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_marketing_social_posts',
|
||
kind: 'marketing',
|
||
title: '社媒发布文案',
|
||
description: '小红书、朋友圈、短视频标题和标签。',
|
||
required: false,
|
||
outputFormat: 'bullets',
|
||
filenamePart: 'marketing-social-posts',
|
||
promptTemplate: '根据角色设定生成社媒发布文案:{character}. 输出小红书标题 10 个、正文 3 版、短视频标题 10 个、标签建议,避免夸大宣传。',
|
||
checklist: textChecklist,
|
||
},
|
||
{
|
||
id: 'text_video_script_pack',
|
||
kind: 'video',
|
||
title: '视频脚本文字包',
|
||
description: '旋转展示、开箱、触感、角色故事、工厂预览的旁白和字幕。',
|
||
required: false,
|
||
outputFormat: 'script',
|
||
filenamePart: 'video-script-pack',
|
||
promptTemplate: '根据角色设定生成视频脚本文字包:{character}. 覆盖 360 旋转、开箱、触感细节、角色故事、工厂预览,每条包含镜头、字幕、旁白、时长和画面说明。',
|
||
checklist: textChecklist,
|
||
},
|
||
];
|
||
|
||
export const PATENT_TEMPLATES: AssetTemplate[] = [
|
||
{
|
||
id: 'patent_front',
|
||
kind: 'patent',
|
||
view: 'front',
|
||
title: '主视图',
|
||
description: '正面外观,是外观保护的核心视角。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'front',
|
||
promptTemplate: '生成外观设计专利主视图:{character}. 正面正交视角,白底,产品居中,比例统一,无文字无水印无场景道具,清楚展示五官、身体比例、配色和配件。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'patent_back',
|
||
kind: 'patent',
|
||
view: 'back',
|
||
title: '后视图',
|
||
description: '展示背部、后脑、背部装甲/软壳结构、标签和后侧配件。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'back',
|
||
promptTemplate: '生成外观设计专利后视图:{character}. 背面正交视角,白底,产品居中,比例与主视图一致,无文字无水印,清楚展示背部装甲/软壳结构、背部肩带走向、标签位和后侧配件;不要加入尾巴或动物器官。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'patent_left',
|
||
kind: 'patent',
|
||
view: 'left',
|
||
title: '左视图',
|
||
description: '展示侧面厚度、头盔轮廓、侧面模块和四肢外凸关系。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'left',
|
||
promptTemplate: '生成外观设计专利左视图:{character}. 左侧正交视角,白底,比例统一,无文字无水印,突出头部厚度、头盔轮廓、侧面圆形模块、肩带和手脚位置;不要加入鼻子、耳朵或尾巴。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'patent_right',
|
||
kind: 'patent',
|
||
view: 'right',
|
||
title: '右视图',
|
||
description: '确认侧面对称性或非对称外观。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'right',
|
||
promptTemplate: '生成外观设计专利右视图:{character}. 右侧正交视角,白底,比例统一,无文字无水印,确认侧面轮廓、配件和四肢关系。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'patent_top',
|
||
kind: 'patent',
|
||
view: 'top',
|
||
title: '俯视图',
|
||
description: '展示头顶冠盖、品牌识别条和顶部装甲/软壳轮廓。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'top',
|
||
promptTemplate: '生成外观设计专利俯视图:{character}. 从正上方观察,白底,产品居中,无文字无水印,展示头顶冠盖、竖向品牌识别条、侧面模块和顶部轮廓;不要加入动物耳朵、角、鼻子或尾巴。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'patent_bottom',
|
||
kind: 'patent',
|
||
view: 'bottom',
|
||
title: '仰视图',
|
||
description: '展示脚底、底部标签、底盘和坐姿稳定结构。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'bottom',
|
||
promptTemplate: '生成外观设计专利仰视图:{character}. 从正下方观察,白底,产品居中,无文字无水印,展示脚底、底部标签、底盘形态和底部轮廓。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'patent_perspective_front',
|
||
kind: 'patent',
|
||
view: 'perspective_front',
|
||
title: '前侧立体图',
|
||
description: '45 度前侧展示整体体积和外观印象。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'perspective-front',
|
||
promptTemplate: '生成外观设计专利前 45 度立体图:{character}. 白底,产品居中,无文字无水印,展示整体体积、正面五官、身体厚度和主要配件。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'patent_perspective_back',
|
||
kind: 'patent',
|
||
view: 'perspective_back',
|
||
title: '后侧立体图',
|
||
description: '45 度后侧补充背部和体积信息。',
|
||
required: false,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'perspective-back',
|
||
promptTemplate: '生成外观设计专利后 45 度立体图:{character}. 白底,产品居中,无文字无水印,展示背面轮廓、背部肩带走向、后侧配件和整体厚度;不要加入尾巴或动物器官。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'patent_detail_face',
|
||
kind: 'patent',
|
||
view: 'detail_face',
|
||
title: '脸部局部放大',
|
||
description: '放大眼睛、嘴巴、腮红和表情细节。',
|
||
required: false,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'detail-face',
|
||
promptTemplate: '生成外观设计专利脸部局部放大图:{character}. 白底,无文字无水印,只放大脸部区域,清楚展示眼睛、嘴巴、腮红、表情和刺绣/印花边界。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'patent_detail_accessory',
|
||
kind: 'patent',
|
||
view: 'detail_accessory',
|
||
title: '配件局部放大',
|
||
description: '放大肩带、扣件、徽章、侧面模块或机械/软壳识别部件。',
|
||
required: false,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'detail-accessory',
|
||
promptTemplate: '生成外观设计专利配件局部放大图:{character}. 白底,无文字无水印,放大最具识别度的肩带、扣件、胸前徽章、侧面模块或机械/软壳部件;不要加入尾巴或动物器官。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'patent_use_state',
|
||
kind: 'patent',
|
||
view: 'use_state',
|
||
title: '使用状态参考图',
|
||
description: '当有可拆、可变形、互动结构时,展示使用或组合状态。',
|
||
required: false,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'use-state',
|
||
promptTemplate: '生成外观设计专利使用状态参考图:{character}. 白底或浅灰底,无营销文案无水印,展示可拆卸配件、可互动结构、摆放或抱持状态;画面仅用于说明产品外观状态,不加入场景道具。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'patent_set_view',
|
||
kind: 'patent',
|
||
view: 'set_view',
|
||
title: '成套产品图',
|
||
description: '当娃娃与配件/包装成套申请时,展示组合状态。',
|
||
required: false,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'set-view',
|
||
promptTemplate: '生成外观设计专利成套产品图:{character}. 白底,无文字无水印,将主娃娃、核心配件和包装/说明卡按成套申请视角整齐摆放,比例统一,清楚表达组合外观。',
|
||
checklist: patentChecklist,
|
||
},
|
||
];
|
||
|
||
export const PRODUCTION_TEMPLATES: AssetTemplate[] = [
|
||
{
|
||
id: 'prod_front_spec',
|
||
kind: 'production',
|
||
view: 'front_spec',
|
||
title: '正面打样图',
|
||
description: '标注总高、头宽、身体宽和手脚位置。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'front-spec',
|
||
promptTemplate: '生成软壳/毛绒智能玩具生产正面打样图:{character}. 正面正交视角,白底,带清晰尺寸标注线和中文标注:总高 40cm+、正面宽约 28cm、头宽、身体宽、手长、腿长、关键配件位置。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_back_spec',
|
||
kind: 'production',
|
||
view: 'back_spec',
|
||
title: '背面打样图',
|
||
description: '标注背部结构、背部肩带、标签位和拼接线。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'back-spec',
|
||
promptTemplate: '生成软壳/毛绒智能玩具生产背面打样图:{character}. 背面正交视角,白底,带中文标注:后脑、背部装甲/软壳拼接、背部肩带、标签位、拼接线和后侧配件;不要加入尾巴。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_left_spec',
|
||
kind: 'production',
|
||
view: 'left_spec',
|
||
title: '左侧打样图',
|
||
description: '标注侧面厚度、头盔轮廓、侧面模块和肩带关系。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'left-spec',
|
||
promptTemplate: '生成软壳/毛绒智能玩具生产左侧打样图:{character}. 左侧正交视角,白底,带中文尺寸标注:头部厚度、身体厚度、侧面模块位置、肩带侧面走向、四肢侧面位置、侧深约 22cm;不要加入鼻子、耳朵或尾巴。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_right_spec',
|
||
kind: 'production',
|
||
view: 'right_spec',
|
||
title: '右侧打样图',
|
||
description: '确认侧面对称性或非对称细节。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'right-spec',
|
||
promptTemplate: '生成软壳/毛绒智能玩具生产右侧打样图:{character}. 右侧正交视角,白底,带中文尺寸标注,确认侧面厚度、侧面模块、配件位置和非对称细节,侧深约 22cm;不要加入动物器官。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_top_spec',
|
||
kind: 'production',
|
||
view: 'top_spec',
|
||
title: '俯视打样图',
|
||
description: '标注头顶结构、顶部配件和俯视轮廓。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'top-spec',
|
||
promptTemplate: '生成软壳/毛绒智能玩具生产俯视打样图:{character}. 从正上方观察,白底,带中文尺寸标注:头顶冠盖、竖向品牌识别条、侧面模块、顶部配件、头部宽深比例;不要加入动物耳朵、角或尾巴。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_bottom_spec',
|
||
kind: 'production',
|
||
view: 'bottom_spec',
|
||
title: '仰视打样图',
|
||
description: '标注脚底、防滑布、底部标签和底部结构。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'bottom-spec',
|
||
promptTemplate: '生成软壳/毛绒智能玩具生产仰视打样图:{character}. 从正下方观察,白底,带中文标注:脚底、防滑材料、底部标签、底盘结构、站立稳定接触面。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_dimension_overall',
|
||
kind: 'production',
|
||
view: 'dimension_overall',
|
||
title: '整体尺寸图',
|
||
description: '标注总高、坐高、臂展和头身比。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'dimension-overall',
|
||
promptTemplate: '生成软壳/毛绒智能玩具整体尺寸图:{character}. 白底,技术说明风格,标注总高 40cm+、正面宽约 28cm、侧面深约 22cm、臂展、头身比、头宽、身体宽,单位 cm。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_dimension_parts',
|
||
kind: 'production',
|
||
view: 'dimension_parts',
|
||
title: '部件尺寸图',
|
||
description: '标注头顶冠盖、侧面模块、肩带、扣件、徽章和四肢尺寸。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'dimension-parts',
|
||
promptTemplate: '生成软壳/毛绒智能玩具部件尺寸图:{character}. 技术说明版式,拆出头顶冠盖、侧面模块、肩带、扣件、胸前徽章、手臂、腿脚和脚底,标注长宽厚和数量,单位 cm,小部件可用 mm;不要加入动物耳朵、角、鼻子或尾巴。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_scale_reference',
|
||
kind: 'production',
|
||
view: 'scale_reference',
|
||
title: '比例参考图',
|
||
description: '用手持或常见物辅助工厂理解尺寸。',
|
||
required: false,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'scale-reference',
|
||
promptTemplate: '生成玩具比例参考图:{character}. 手持、桌面或 22cm 水瓶对比,只用于生产沟通,清楚表达 40cm+ 实体产品尺寸感,不加入营销海报元素。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_material_board',
|
||
kind: 'production',
|
||
view: 'material_board',
|
||
title: '材料工艺板',
|
||
description: '说明面料、刺绣、印花、塑料件和填充。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'material-board',
|
||
promptTemplate: '生成软壳/毛绒智能玩具材料工艺板:{character}. 干净版式,包含短绒/软硅胶/软壳样块、橙色 visor 透明件或发光屏说明、深灰结构件、织带、扣件说明、填充软硬度和站立稳定要求,中文标注。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_color_board',
|
||
kind: 'production',
|
||
view: 'color_board',
|
||
title: '颜色板',
|
||
description: '主色、辅色、五官、衣服和配件色。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'color-board',
|
||
promptTemplate: '生成软壳/毛绒智能玩具颜色板:{character}. 包含白色主体、深灰结构、黑色肩带、橙色 visor/功能扣、红色小点缀、徽章色,给出 HEX 色值和建议 Pantone 占位,中文标注。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_embroidery_detail',
|
||
kind: 'production',
|
||
view: 'embroidery_detail',
|
||
title: '刺绣印花细节',
|
||
description: '放大眼睛、嘴、腮红、图案和 Logo 工艺。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'embroidery-detail',
|
||
promptTemplate: '生成软壳/毛绒智能玩具标识/印花细节图:{character}. 放大橙色 visor 边界、胸前 M 徽章、头顶 MEEY 品牌条、肩带纹理和小标识,标注印刷/贴片/刺绣线色、边界、线宽占位和工艺注意事项。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_seam_map',
|
||
kind: 'production',
|
||
view: 'seam_map',
|
||
title: '缝线拼接图',
|
||
description: '标注头身、侧面模块、四肢和配件连接方式。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'seam-map',
|
||
promptTemplate: '生成软壳/毛绒智能玩具拼接线图:{character}. 白底技术图风格,用虚线或彩色线标注头身连接、侧面模块连接、四肢连接、肩带/扣件固定点和开口返口位置,中文说明;不要加入动物耳朵或尾巴。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_filling_spec',
|
||
kind: 'production',
|
||
view: 'filling_spec',
|
||
title: '填充说明图',
|
||
description: '说明软硬度、重心、坐姿稳定和填充区域。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'filling-spec',
|
||
promptTemplate: '生成软壳/毛绒智能玩具填充说明图:{character}. 剖面/分区技术说明风格,标注软壳包覆、短绒覆盖层、内部支撑/填充区域、软硬度、重心、站立稳定要求和不可过硬区域。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_part_breakdown',
|
||
kind: 'production',
|
||
view: 'part_breakdown',
|
||
title: '拆件图',
|
||
description: '拆分头盔/软壳、身体、四肢、侧面模块、肩带和扣件。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'part-breakdown',
|
||
promptTemplate: '生成软壳/毛绒智能玩具拆件图:{character}. 技术图风格,白底,将头盔/软壳、身体、四肢、侧面模块、肩带、扣件、胸前徽章、脚底分开展示,带中文部件名称和数量标注;不要加入动物耳朵、鼻子或尾巴。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_accessory_sheet',
|
||
kind: 'production',
|
||
view: 'accessory_sheet',
|
||
title: '配件单页',
|
||
description: '独立展示帽子、背包、吊牌、可拆物等。',
|
||
required: false,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'accessory-sheet',
|
||
promptTemplate: '生成玩具配件单页:{character}. 将头顶冠盖、侧面模块、肩带、橙色功能扣、胸前徽章、吊牌、电子件或装饰件独立展示,标注数量、材料、连接方式和尺寸建议,中文技术版式。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_packaging_structure',
|
||
kind: 'production',
|
||
view: 'packaging_structure',
|
||
title: '包装结构图',
|
||
description: '礼盒、吊卡、内托和说明卡草案。',
|
||
required: false,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'packaging-structure',
|
||
promptTemplate: '生成玩具包装结构草图:{character}. 展示礼盒、吊卡、内托、说明卡和包装尺寸建议,干净白底,中文标注,适合给工厂沟通。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'prod_label_tag',
|
||
kind: 'production',
|
||
view: 'label_tag',
|
||
title: '标签吊牌图',
|
||
description: '吊牌、水洗标和品牌标位置与内容草案。',
|
||
required: false,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'label-tag',
|
||
promptTemplate: '生成玩具标签吊牌说明图:{character}. 展示吊牌、水洗标、品牌标的位置和内容草案,包含尺寸建议和中文标注,白底技术版式。',
|
||
checklist: productionChecklist,
|
||
},
|
||
];
|
||
|
||
export const ACCESSORY_TEMPLATES: AssetTemplate[] = [
|
||
{
|
||
id: 'acc_inventory_sheet',
|
||
kind: 'accessories',
|
||
view: 'inventory_sheet',
|
||
title: '配件总览清单',
|
||
description: '识别并汇总所有独立配件、可拆件、包装随附物。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'inventory-sheet',
|
||
promptTemplate: '生成玩具配件总览清单图:{character}. 白底技术版式,识别并摆放所有独立配件、可拆件、头顶冠盖、侧面模块、肩带、扣件、徽章、吊牌、包装随附物,标注名称、数量、是否可拆和用途。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'acc_front',
|
||
kind: 'accessories',
|
||
view: 'front',
|
||
title: '配件主视图',
|
||
description: '独立配件正面视图。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'front',
|
||
promptTemplate: '生成独立配件外观主视图:{character}. 仅展示最核心独立配件或配件组,正面正交视角,白底,产品居中,无营销文案,比例统一。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'acc_back',
|
||
kind: 'accessories',
|
||
view: 'back',
|
||
title: '配件后视图',
|
||
description: '独立配件背面视图。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'back',
|
||
promptTemplate: '生成独立配件外观后视图:{character}. 仅展示最核心独立配件或配件组,背面正交视角,白底,产品居中,无营销文案,展示背部结构、连接点和标签位。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'acc_left',
|
||
kind: 'accessories',
|
||
view: 'left',
|
||
title: '配件左视图',
|
||
description: '独立配件左侧厚度和连接关系。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'left',
|
||
promptTemplate: '生成独立配件外观左视图:{character}. 左侧正交视角,白底,产品居中,无营销文案,展示配件厚度、扣件、绑带、卡扣或缝合连接结构。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'acc_right',
|
||
kind: 'accessories',
|
||
view: 'right',
|
||
title: '配件右视图',
|
||
description: '独立配件右侧厚度和非对称细节。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'right',
|
||
promptTemplate: '生成独立配件外观右视图:{character}. 右侧正交视角,白底,产品居中,无营销文案,确认配件侧面轮廓、厚度、扣件和非对称细节。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'acc_top',
|
||
kind: 'accessories',
|
||
view: 'top',
|
||
title: '配件俯视图',
|
||
description: '独立配件顶部轮廓。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'top',
|
||
promptTemplate: '生成独立配件外观俯视图:{character}. 从正上方观察配件,白底,产品居中,无营销文案,展示顶部轮廓、开口、扣件或装饰。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'acc_bottom',
|
||
kind: 'accessories',
|
||
view: 'bottom',
|
||
title: '配件仰视图',
|
||
description: '独立配件底部和固定结构。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'bottom',
|
||
promptTemplate: '生成独立配件外观仰视图:{character}. 从正下方观察配件,白底,产品居中,无营销文案,展示底部结构、固定点、标签或接触面。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'acc_perspective_front',
|
||
kind: 'accessories',
|
||
view: 'perspective_front',
|
||
title: '配件前侧立体图',
|
||
description: '45 度展示配件整体体积。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'perspective-front',
|
||
promptTemplate: '生成独立配件前 45 度立体图:{character}. 白底,产品居中,无营销文案,展示配件整体体积、正面细节、厚度和连接结构。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'acc_perspective_back',
|
||
kind: 'accessories',
|
||
view: 'perspective_back',
|
||
title: '配件后侧立体图',
|
||
description: '45 度展示配件背部和连接点。',
|
||
required: false,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'perspective-back',
|
||
promptTemplate: '生成独立配件后 45 度立体图:{character}. 白底,产品居中,无营销文案,展示配件背部轮廓、固定点、扣件、绑带或缝合连接结构。',
|
||
checklist: patentChecklist,
|
||
},
|
||
{
|
||
id: 'acc_detail_connection',
|
||
kind: 'accessories',
|
||
view: 'detail_connection',
|
||
title: '配件连接结构放大',
|
||
description: '放大卡扣、绑带、魔术贴、缝线或磁吸等连接方式。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'detail-connection',
|
||
promptTemplate: '生成配件连接结构局部放大图:{character}. 白底技术说明风格,放大卡扣、绑带、魔术贴、缝线、磁吸或插扣连接位置,中文标注连接方式和打样注意事项。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'acc_dimension_spec',
|
||
kind: 'accessories',
|
||
view: 'dimension_spec',
|
||
title: '配件尺寸标注图',
|
||
description: '标注配件长宽厚、连接点和安全尺寸。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'dimension-spec',
|
||
promptTemplate: '生成配件尺寸标注图:{character}. 技术图版式,标注每个独立配件的长、宽、厚、连接点距离、卡扣/绑带尺寸和安全圆角要求,单位 cm/mm。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'acc_material_process',
|
||
kind: 'accessories',
|
||
view: 'material_process',
|
||
title: '配件材料工艺说明图',
|
||
description: '说明配件材料、颜色、工艺和安全风险。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'material-process',
|
||
promptTemplate: '生成配件材料工艺说明图:{character}. 列出独立配件的材料、颜色、表面工艺、固定方式、边缘处理、安全风险和待确认项,中文标注。',
|
||
checklist: productionChecklist,
|
||
},
|
||
{
|
||
id: 'acc_with_doll_assembly',
|
||
kind: 'accessories',
|
||
view: 'with_doll_assembly',
|
||
title: '配件与主娃娃组合图',
|
||
description: '展示配件安装到主娃娃后的组合状态。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'with-doll-assembly',
|
||
promptTemplate: '生成配件与主娃娃组合说明图:{character}. 展示配件安装到主娃娃前后对比、安装位置、连接方向、组合状态和拆卸状态,白底,中文标注。',
|
||
checklist: productionChecklist,
|
||
},
|
||
];
|
||
|
||
export const MARKETING_TEMPLATES: AssetTemplate[] = [
|
||
{
|
||
id: 'mkt_hero_kv',
|
||
kind: 'marketing',
|
||
view: 'hero_kv',
|
||
title: '主视觉 KV',
|
||
description: '一眼讲清角色、气质和核心卖点。',
|
||
required: true,
|
||
aspectRatio: '16:9',
|
||
filenamePart: 'hero-kv',
|
||
promptTemplate: '生成玩具新品主视觉 KV:{character}. 高级商业摄影,干净但有情绪的背景,突出角色核心卖点,可加入简洁中文标题占位,但不要遮挡产品。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_white_front',
|
||
kind: 'marketing',
|
||
view: 'white_front',
|
||
title: '白底正面商品图',
|
||
description: '电商基础商品图。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'white-front',
|
||
promptTemplate: '生成电商白底商品图:{character}. 正面,产品居中,柔和阴影,高清质感,无多余文字,适合主图。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_white_45',
|
||
kind: 'marketing',
|
||
view: 'white_45',
|
||
title: '白底 45 度商品图',
|
||
description: '展示体积和可爱感。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'white-45',
|
||
promptTemplate: '生成电商白底 45 度商品图:{character}. 前侧 45 度,产品居中,柔和阴影,展示整体体积、软壳/短绒触感和主要配件。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_white_back',
|
||
kind: 'marketing',
|
||
view: 'white_back',
|
||
title: '白底背面商品图',
|
||
description: '展示背部和后侧细节。',
|
||
required: true,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'white-back',
|
||
promptTemplate: '生成电商白底背面商品图:{character}. 背面,产品居中,柔和阴影,展示背部结构、背部肩带、标签和后侧配件;不要加入尾巴。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_detail_face',
|
||
kind: 'marketing',
|
||
view: 'detail_face',
|
||
title: '脸部细节图',
|
||
description: '展示 visor 情绪屏、边框和面部结构。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'detail-face',
|
||
promptTemplate: '生成玩具面部情绪屏细节宣发图:{character}. 近景特写,突出橙色弧形 visor、深灰面部底层、黑色边框、发光纹理和温暖情绪反馈,可加入简短卖点文案。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_detail_material',
|
||
kind: 'marketing',
|
||
view: 'detail_material',
|
||
title: '面料触感图',
|
||
description: '展示软壳、短绒、填充和触感卖点。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'detail-material',
|
||
promptTemplate: '生成玩具面料触感宣发图:{character}. 微距商业摄影,突出短绒覆盖、软壳触感、柔软填充、可抱触感,同时保留机甲设计边界,可加入简短中文卖点。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_detail_accessory',
|
||
kind: 'marketing',
|
||
view: 'detail_accessory',
|
||
title: '配件卖点图',
|
||
description: '突出服装、配件、机关或标志性部件。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'detail-accessory',
|
||
promptTemplate: '生成玩具配件/机关细节宣发图:{character}. 近景商业摄影,突出最具识别度的肩带、灰色扣件、橙色功能扣、胸前 M 徽章、侧面模块或机械/软壳件,可加入简短卖点文案;不要加入尾巴或动物器官。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_scene_bedroom',
|
||
kind: 'marketing',
|
||
view: 'scene_bedroom',
|
||
title: '卧室陪伴场景',
|
||
description: '床头、儿童房或治愈陪伴场景。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'scene-bedroom',
|
||
promptTemplate: '生成玩具卧室陪伴场景图:{character}. 温暖床头或儿童房场景,柔和自然光,突出陪伴、治愈和礼物感。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_scene_desk',
|
||
kind: 'marketing',
|
||
view: 'scene_desk',
|
||
title: '桌面陪伴场景',
|
||
description: '办公桌、学习桌或创作桌场景。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'scene-desk',
|
||
promptTemplate: '生成玩具桌面陪伴场景图:{character}. 办公桌/学习桌/创作桌场景,清爽自然光,突出日常陪伴、桌搭和收藏展示感。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_scene_gift',
|
||
kind: 'marketing',
|
||
view: 'scene_gift',
|
||
title: '礼物开箱场景',
|
||
description: '礼物、节日、开箱和赠送场景。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'scene-gift',
|
||
promptTemplate: '生成玩具礼物/节日/开箱场景图:{character}. 温暖礼物氛围,展示包装、打开瞬间和产品露出,突出送礼、惊喜和治愈感。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_size_lifestyle',
|
||
kind: 'marketing',
|
||
view: 'size_lifestyle',
|
||
title: '尺寸对比图',
|
||
description: '用手持、桌面或沙发对比表达尺寸。',
|
||
required: true,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'size-lifestyle',
|
||
promptTemplate: '生成玩具尺寸对比宣发图:{character}. 手持、沙发或 22cm 水瓶生活方式场景,体现 40cm+ 真实大小和可抱感,可加入尺寸文案占位。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_social_square',
|
||
kind: 'marketing',
|
||
view: 'social_square',
|
||
title: '社媒方形封面',
|
||
description: '社媒 1:1 封面图。',
|
||
required: false,
|
||
aspectRatio: '1:1',
|
||
filenamePart: 'social-square',
|
||
promptTemplate: '生成社媒 1:1 方形封面图:{character}. 强视觉中心,适合小红书/微博/朋友圈,留出短标题区域,产品不变形,整体风格与宣发包统一。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_social_vertical',
|
||
kind: 'marketing',
|
||
view: 'social_vertical',
|
||
title: '竖版社媒封面',
|
||
description: '小红书、短视频封面,3:4 或 9:16。',
|
||
required: false,
|
||
aspectRatio: '9:16',
|
||
filenamePart: 'social-vertical',
|
||
promptTemplate: '生成竖版社媒封面图:{character}. 9:16,适合小红书/短视频,强视觉中心,留出标题区域,产品不变形,风格统一。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_packaging_render',
|
||
kind: 'marketing',
|
||
view: 'packaging_render',
|
||
title: '包装渲染图',
|
||
description: '展示包装外观、开窗、内托和礼盒质感。',
|
||
required: false,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'packaging-render',
|
||
promptTemplate: '生成玩具包装商业渲染图:{character}. 展示礼盒、开窗、内托、吊卡或说明卡,商业摄影质感,包装风格与角色一致,可加入品牌占位但不要真实商标。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_character_story',
|
||
kind: 'marketing',
|
||
view: 'character_story',
|
||
title: '角色故事图',
|
||
description: '表达 IP 性格、故事和情绪价值。',
|
||
required: false,
|
||
aspectRatio: '4:5',
|
||
filenamePart: 'character-story',
|
||
promptTemplate: '生成 IP 角色故事宣发图:{character}. 结构化版式,包含角色名字、性格关键词、故事短句、陪伴场景和核心识别元素,中文文案占位。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'mkt_ecommerce_longpage',
|
||
kind: 'marketing',
|
||
view: 'ecommerce_longpage',
|
||
title: '电商详情页模块',
|
||
description: '整合概念、尺寸、材质、卖点和包装。',
|
||
required: false,
|
||
aspectRatio: 'long',
|
||
filenamePart: 'ecommerce-longpage',
|
||
promptTemplate: '生成电商详情页长图模块:{character}. 结构化版式,包含角色故事、核心卖点、尺寸、材质、细节、包装展示,中文标题和短文案占位。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'video_turntable',
|
||
kind: 'marketing',
|
||
view: 'video_turntable',
|
||
title: '360 度旋转视频脚本',
|
||
description: '电商 360 度转台展示分镜。',
|
||
required: false,
|
||
aspectRatio: '16:9',
|
||
filenamePart: 'video-turntable',
|
||
promptTemplate: '生成 360 度旋转展示短视频分镜板:{character}. 16:9,包含 6 个镜头缩略画面和中文脚本:正面、左前 45 度、侧面、背面、右前 45 度、回到正面,适合电商展示。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'video_unboxing',
|
||
kind: 'marketing',
|
||
view: 'video_unboxing',
|
||
title: '开箱视频脚本',
|
||
description: '包装到娃娃展示的开箱流程。',
|
||
required: false,
|
||
aspectRatio: '16:9',
|
||
filenamePart: 'video-unboxing',
|
||
promptTemplate: '生成玩具开箱短视频分镜板:{character}. 16:9,包含包装特写、打开、取出、细节、抱持展示、结尾定格,中文脚本和镜头时长占位。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'video_touch_detail',
|
||
kind: 'marketing',
|
||
view: 'video_touch_detail',
|
||
title: '触感细节视频脚本',
|
||
description: '揉捏、触感和细节特写分镜。',
|
||
required: false,
|
||
aspectRatio: '16:9',
|
||
filenamePart: 'video-touch-detail',
|
||
promptTemplate: '生成玩具触感细节短视频分镜板:{character}. 16:9,展示揉捏、毛绒触感、刺绣细节、配件互动和恢复形态,中文脚本占位。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'video_story_intro',
|
||
kind: 'marketing',
|
||
view: 'video_story_intro',
|
||
title: '角色设定短片脚本',
|
||
description: '社媒角色介绍短片分镜。',
|
||
required: false,
|
||
aspectRatio: '9:16',
|
||
filenamePart: 'video-story-intro',
|
||
promptTemplate: '生成竖版角色设定短片分镜板:{character}. 9:16,适合社媒,包含角色登场、性格关键词、陪伴场景、卖点定格和结尾 CTA,中文脚本占位。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
{
|
||
id: 'video_factory_preview',
|
||
kind: 'marketing',
|
||
view: 'video_factory_preview',
|
||
title: '工厂预览视频脚本',
|
||
description: '打样前内部沟通概念展示分镜。',
|
||
required: false,
|
||
aspectRatio: '16:9',
|
||
filenamePart: 'video-factory-preview',
|
||
promptTemplate: '生成工厂预览概念短片分镜板:{character}. 16:9,面向内部沟通,展示外观、尺寸、材料、拆件和包装要点,中文说明占位,不做消费者营销话术。',
|
||
checklist: marketingChecklist,
|
||
},
|
||
];
|
||
|
||
function withPackAnchor(templates: AssetTemplate[], rootTemplateId: string): AssetTemplate[] {
|
||
return templates.map(template => ({
|
||
...template,
|
||
anchorTemplateId: template.id === rootTemplateId ? undefined : rootTemplateId,
|
||
}));
|
||
}
|
||
|
||
export const PACK_TEMPLATES: Record<PackKind, AssetTemplate[]> = {
|
||
patent: withPackAnchor(PATENT_TEMPLATES, 'patent_front'),
|
||
accessories: withPackAnchor(ACCESSORY_TEMPLATES, 'acc_inventory_sheet'),
|
||
production: withPackAnchor(PRODUCTION_TEMPLATES, 'prod_front_spec'),
|
||
marketing: withPackAnchor(MARKETING_TEMPLATES, 'mkt_white_front'),
|
||
};
|
||
|
||
export const PACK_TEMPLATE_SUMMARY = PACK_ORDER.map(kind => ({
|
||
kind,
|
||
label: PACK_LABELS[kind],
|
||
totalCount: PACK_TEMPLATES[kind].length,
|
||
requiredCount: PACK_TEMPLATES[kind].filter(template => template.required).length,
|
||
optionalCount: PACK_TEMPLATES[kind].filter(template => !template.required).length,
|
||
}));
|
||
|
||
export const TEMPLATE_SLOT_SUMMARY = {
|
||
templateFreezeVersion: TEMPLATE_FREEZE_VERSION,
|
||
imageAssetCount: PACK_TEMPLATE_SUMMARY.reduce((sum, pack) => sum + pack.totalCount, 0),
|
||
requiredImageAssetCount: PACK_TEMPLATE_SUMMARY.reduce((sum, pack) => sum + pack.requiredCount, 0),
|
||
optionalImageAssetCount: PACK_TEMPLATE_SUMMARY.reduce((sum, pack) => sum + pack.optionalCount, 0),
|
||
textAssetCount: TEXT_TEMPLATES.length,
|
||
requiredTextAssetCount: TEXT_TEMPLATES.filter(template => template.required).length,
|
||
optionalTextAssetCount: TEXT_TEMPLATES.filter(template => !template.required).length,
|
||
videoTaskCount: VIDEO_TEMPLATES.length,
|
||
storyboardAssetCount: MARKETING_TEMPLATES.filter(template => template.id.startsWith('video_')).length,
|
||
totalReservedSlotCount: PACK_TEMPLATE_SUMMARY.reduce((sum, pack) => sum + pack.totalCount, 0) + TEXT_TEMPLATES.length + VIDEO_TEMPLATES.length,
|
||
packSummary: PACK_TEMPLATE_SUMMARY,
|
||
};
|
||
|
||
export function getPackTemplates(kind: PackKind): AssetTemplate[] {
|
||
return PACK_TEMPLATES[kind];
|
||
}
|
||
|
||
export function renderCharacterSummary(spec: CharacterSpec): string {
|
||
return [
|
||
`${spec.name},${spec.oneLiner}`,
|
||
`目标用户:${spec.targetUser}`,
|
||
`形态:${spec.speciesShape}`,
|
||
`比例:${spec.bodyRatio}`,
|
||
`五官:${spec.faceFeatures}`,
|
||
`配色:${spec.colorPalette.join('、')}`,
|
||
`材料:${spec.materials.join('、')}`,
|
||
`配件:${spec.accessories.join('、')}`,
|
||
`识别元素:${spec.signatureElements.join('、')}`,
|
||
`专利重点:${spec.patentFocus.join('、')}`,
|
||
`营销角度:${spec.marketingAngle.join('、')}`,
|
||
`生成约束:${spec.negativePrompt}`,
|
||
].join(';');
|
||
}
|