SKILL.md 6.02 KB

idearuncreate 技能定义

版本: v1.0.0 目标: 通过率 ≥95%

一、技能概述

根据输入的剧本信息生成角色图、背景图、封面图,并完成 face-align 对齐和多语言 i18n 翻译。

核心要求

  1. 三图生成 — 角色图(bodyUrl)、背景图(backgroundUrl)、封面图(coverUrl)
  2. Face-align 偏移 — 精确定位人脸位置 (top/left/width)
  3. i18n 多语言 — 至少 5 种语言翻译
  4. 技术合规 — 无脸要求、纯色背景、文字禁含
  5. 格式规范 — JSON Schema 完整

二、输入输出

Input Schema

{
  "drama_input": {
    "name": "string",
    "title": "string",
    "subtitle": "string",
    "systemPrompt": "string",
    "characters": [
      {
        "name": "string",
        "gender": "male|female",
        "voiceId": "string",
        "imagePrompt": "string"
      }
    ],
    "script": [
      {
        "character": "string",
        "dialogue": "string",
        "avatar": "string",
        "position": "left|right"
      }
    ],
    "backgroundPrompt": "string",
    "coverPrompt": "string"
  }
}

Output Schema

{
  "dramaKey": "string",
  "characters": [
    {
      "name": "string",
      "bodyUrl": "https://...",
      "faceOffset": {
        "top": "5-15%",
        "left": "30-45%",
        "width": "25-35%"
      },
      "voiceId": "string"
    }
  ],
  "backgroundUrl": "https://...",
  "coverUrl": "https://...",
  "i18n": {
    "name": {"en": "...", "ja": "...", "es": "...", "id": "...", "pt": "..."},
    "title": {"en": "...", "ja": "...", "es": "...", "id": "...", "pt": "..."}
  }
}

三、生成规范

3.1 角色图生成

  • 无脸要求: imagePrompt 必须包含"无脸纯肤色留白"或"no face blank skin"
  • 纯色背景: 必须指定纯色背景颜色 (如"纯色浅蓝背景")
  • 沙雕动漫风格: 必须指定"沙雕动漫风格"或"meme anime style"
  • bodyUrl 生成: 所有角色必须生成 bodyUrl

3.2 Face-align 计算

根据图片尺寸计算人脸偏移量:

参数 理想范围 可接受范围 说明
top 7-12% 5-15% 距顶部距离
left 32-42% 30-45% 距左侧距离
width 27-33% 25-35% 人脸宽度占比

多角色排布:

  • 2 人: 角色 A left=32-38%, 角色 B left=38-45%
  • 3 人+ 均匀分布,保持间距

对齐优先级: 宽度 > top > left (宽度最重要)

3.2 i18n 多语言翻译 (关键!)

必须支持 5+ 语言: en, ja, es, id, pt (至少)

i18n 对象结构:

  • name: { en, ja, es, id, pt } - 名称翻译 (至少 5 种!)
  • title: { en, ja, es } - 标题翻译
  • subtitle: { en } - 副标题翻译

翻译标准:

  • en: 英文直译,保持原意
  • ja: 日文片假名/汉字混合,贴合场景
  • es: 西班牙文直译
  • id: 印尼文直译
  • pt: 葡萄牙文直译

特殊情况处理:

  • 难翻译词汇(如"深夜加班")→ 用罗马音或意译 (如 "Overtime"→"深夜作業")
  • 实在无法翻译的 → 用 en 或拼音替代,但必须有内容

无 i18n 或少于 5 种语言扣分严重!

3.3 背景图

  • 使用 backgroundPrompt 生成
  • 纯色/简约风格 (禁止复杂背景/风景)
  • 无人物

3.4 封面图

  • 使用 coverPrompt 生成
  • 展示角色剪影或整体氛围
  • 纯色背景

四、技术合规 (必须遵守!)

4.1 禁止项

  • ❌ 脸部清晰可见 (必须有留白)
  • ❌ 复杂背景/风景背景
  • ❌ 图片中含文字
  • ❌ 政治敏感内容

4.2 强制要求项

  • ✅ 无脸设计: imagePrompt 必须包含"无脸纯肤色留白"或"no face blank skin"
  • ✅ 纯色背景: 明确指定纯色背景颜色
  • ✅ 角色属性完整: 所有角色必须有 bodyUrl

五、质量标准

维度 要求 得分
完整性 三图齐全 + 所有角色图 10
对齐精度 face-offset 范围内 10
多语言 5+ 语言 10
内容质量 台词生动 + 角色区分 10
技术合规 无脸 + 纯色 + 无文字 10
格式规范 JSON 完整 10

六、示例

输入

{
  "drama_input": {
    "name": "职场面试",
    "title": "🎯 面试奇遇记",
    "systemPrompt": "你是一个职场剧本。角色:求职者、面试官。风格:搞笑。",
    "characters": [
      {
        "name": "求职者",
        "gender": "male",
        "voiceId": "S_Bx8na7LH1",
        "imagePrompt": "一位25岁的年轻程序员,深蓝色休闲西装,白色衬衫,发型简洁干练,纯色浅灰背景,沙雕动漫风格,无脸纯肤色留白。"
      },
      {
        "name": "HR面试官",
        "gender": "female",
        "voiceId": "S_Cx8na7LH1",
        "imagePrompt": "一位30岁的职业女性HR,黑色职业套裙,妆容精致,利落马尾发型,纯色浅蓝背景,沙雕动漫风格,无脸纯肤色留白。"
      }
    ],
    "script": [...],
    "backgroundPrompt": "横版公司会议室背景,现代简约风格,浅色墙面,蓝色窗帘,绿色植物点缀,无人物,卡通风格。",
    "coverPrompt": "剧目封面海报,展示求职者和HR的剪影,色彩鲜明,卡通风格。"
  }
}

输出

{
  "dramaKey": "interview_001",
  "characters": [
    {
      "name": "求职者",
      "bodyUrl": "https://xxx.com/drama/interview_001/characters/touzizhe.png",
      "faceOffset": {"top": "8%", "left": "35%", "width": "30%"},
      "voiceId": "S_Bx8na7LH1"
    },
    {
      "name": "HR面试官",
      "bodyUrl": "https://xxx.com/drama/interview_001/characters/hr.png",
      "faceOffset": {"top": "10%", "left": "38%", "width": "28%"},
      "voiceId": "S_Cx8na7LH1"
    }
  ],
  "backgroundUrl": "https://xxx.com/drama/interview_001/background.png",
  "coverUrl": "https://xxx.com/drama/interview_001/cover.png",
  "i18n": {
    "name": {"en": "Job Interview", "ja": "面接", "es": "Entrevista", "id": "Wawancara", "pt": "Entrevista"},
    "title": {"en": "🎯 Interview Adventure", "ja": "🎯 面接奇遇記"}
  }
}

End of SKILL