crawl_config.json 3.15 KB
{
  "skill_name": "idearuncreate",
  "description": "从素材自动生成 classic 互动剧本(含角色图/背景图/封面图)",
  "version": "1.0.0",
  "created_at": "2026-04-13",
  "apis": [
    {
      "name": "Jimeng 文生图",
      "provider": "万界 (Wanjie)",
      "endpoint": "https://maas-openapi.wanjidedata.com/api/jimeng/v1",
      "action": "CVSync2AsyncSubmitTask",
      "req_key": "jimeng_t2i_v40",
      "mode": "async",
      "timeout": 120000,
      "params": {
        "prompt": "string",
        "width": 1024,
        "height": 1024
      },
      "fallback": {
        "name": "Nano Banana Pro",
        "endpoint": "https://maas-openapi.wanjidedata.com/api/v1beta/models/gemini-3-pro-image-preview:generateContent",
        "mode": "sync"
      }
    },
    {
      "name": "OSS 上传",
      "provider": "阿里云 OSS",
      "region": "oss-cn-beijing",
      "operations": [
        "put"
      ],
      "path_patterns": [
        "dramas/{dramaKey}/characters/{hex_name}.png",
        "dramas/{dramaKey}/background.png",
        "dramas/{dramaKey}/cover.png",
        "dramas/{dramaKey}/bundle.json"
      ]
    },
    {
      "name": "数据库写入",
      "provider": "MySQL (Sequelize)",
      "tables": [
        "dramas",
        "drama_characters",
        "drama_emotions",
        "drama_scripts"
      ]
    }
  ],
  "config": {
    "env_loading_priority": [
      "--env parameter",
      "DRAMA_ENV_PATH env",
      "script directory .env"
    ],
    "required_env_vars": [
      "DB_HOST",
      "DB_PORT",
      "DB_USER",
      "DB_PASSWORD",
      "DB_NAME",
      "OSS_REGION",
      "OSS_ACCESS_KEY_ID",
      "OSS_ACCESS_KEY_SECRET",
      "OSS_BUCKET",
      "WANJIE_API_KEY"
    ],
    "retry": {
      "image_api": {
        "max_attempts": 3,
        "backoff_ms": 3000
      }
    }
  },
  "data_schema": {
    "input": {
      "name": "string (required)",
      "title": "string",
      "subtitle": "string",
      "description": "string",
      "systemPrompt": "string",
      "tags": "string (comma separated)",
      "language": "zh|en|multi",
      "i18n": "object (optional)",
      "characters": [
        {
          "name": "string (required)",
          "gender": "male|female",
          "voiceId": "string (S_xxx)",
          "imagePrompt": "string (required for generation)"
        }
      ],
      "script": [
        {
          "character": "string (required)",
          "dialogue": "string (required)",
          "avatar": "string (default: normal.png)",
          "instruction": "string|null",
          "action": "none|shake|jump|spin|zoom-in",
          "position": "left|right"
        }
      ],
      "backgroundPrompt": "string",
      "coverPrompt": "string"
    },
    "output": {
      "dramaKey": "string",
      "characters": [
        {
          "bodyUrl": "https://...",
          "faceOffset": { "top": "x%", "left": "y%", "width": "z%" }
        }
      ],
      "backgroundUrl": "https://...",
      "coverUrl": "https://..."
    }
  },
  "limitations": [
    "Text Risk 审核失败需脱敏改写",
    "Jimeng 超时 120s 自动 fallback",
    "rembg 未安装时跳过去背景",
    "背景/封面禁含文字"
  ]
}