一键导入
meitu-poster
"一句话生成海报图片。支持封面图、营销图、信息图、活动海报等多种类型,自动识别行业风格,适配各平台尺寸(小红书、微信、抖音等)。有参考图时进行风格洗稿或模仿重构,无参考图时从零创意规划。当用户提到海报设计、做张海报、封面图、cover image、设计方案、文章转海报时触发。"
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
"一句话生成海报图片。支持封面图、营销图、信息图、活动海报等多种类型,自动识别行业风格,适配各平台尺寸(小红书、微信、抖音等)。有参考图时进行风格洗稿或模仿重构,无参考图时从零创意规划。当用户提到海报设计、做张海报、封面图、cover image、设计方案、文章转海报时触发。"
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
用于基于用户原图制作规格化证件照、证件照换底色或单人写真套图。当用户要证件照、一寸照、二寸照、护照/签证照、白底/蓝底/红底证件版、写真照、三宫格写真、主题/场景写真时触发。不适用于多人合影、卡通化转绘、普通人像轻修。执行时会读取 Meitu 凭证、调用本地 `meitu` CLI,把人像照片、生成提示词与任务参数发送到 Meitu OpenAPI,并把结果写入本地输出目录。
Unified Meitu CLI capability skill. Covers credentials, command mapping, execution pattern, and user-facing error guidance for built-in image/video commands plus auth/account/recharge CLI capabilities.
生成无人声、无歌词的纯音乐 / BGM,适合背景音乐、氛围铺垫、情绪渲染,时长 30–120 秒。仅在用户明确要求生成纯音乐/背景音乐时触发。执行时会读取 Meitu 凭证、调用本地 `meitu` CLI,并把音频生成请求发送到 Meitu OpenAPI,结果写入本地输出目录。
歌词驱动的完整歌曲生成(含人声),也支持强节奏成品级纯音乐。仅当用户明确要求生成歌曲/音频成品,并提供或同意补充风格与歌词参数时触发;普通音乐讨论、歌词创作、闲聊式演唱请求不触发。
替换图片整体背景/换场景,保留前景主体不变。当用户说换背景、替换背景、换成 xx 背景、商品换场景、人像换背景、证件照换底色、换底时触发。本工具不能输出透明背景。执行时会使用本地 meitu CLI、Meitu OpenAPI 凭证并写入本地输出目录。
图片前景主体与背景精准分离,输出透明底 PNG(标准四类:人物、宠物、商品、图形印章)或白底图(非标准主体或用户明确要白底)。仅在用户明确要求抠图、去背景、透明背景/透明底、提取主体,或明确要求把已有图片抠成白底时触发。执行时会使用本地 meitu CLI、Meitu OpenAPI 凭证并写入本地输出目录。
| name | meitu-poster |
| description | "一句话生成海报图片。支持封面图、营销图、信息图、活动海报等多种类型,自动识别行业风格,适配各平台尺寸(小红书、微信、抖音等)。有参考图时进行风格洗稿或模仿重构,无参考图时从零创意规划。当用户提到海报设计、做张海报、封面图、cover image、设计方案、文章转海报时触发。" |
Art-director 级别的海报设计 Skill。分析文本输入,锚定风格方向,规划视觉层级,输出结构化 AI 生成指令并调用 meitu-cli 生成海报图片。两种模式:无参考图时从零创意规划,有参考图时风格洗稿或模仿重构。
npm install -g meitu-cli@latest(包名 meitu-cli)MEITU_OPENAPI_ACCESS_KEY / MEITU_OPENAPI_SECRET_KEY~/.meitu/credentials.jsonmeitu config set-ak --value "..." + meitu config set-sk --value "..."(会写入本地文件)meitu auth verify --jsontext-to-image — 文生图 / 参考图辅助生成 / 风格迁移image-poster-generate — 带文字排版的海报(输出需要嵌入文字时使用)DESIGN.md 或 openclaw.yaml 显式引用品牌资产或平台规则,还可能额外读取用户启用的 $VISUAL/assets/brands/ 与 $VISUAL/rules/platforms/{OPENCLAW_HOME}/workspace/visual/
路径别名: 下文中
$VISUAL={OPENCLAW_HOME}/workspace/visual/
流程按实际执行顺序排列:
Preflight → [Context] → Execute → Refine → Deliver → [Record]
↑ 创意型任务执行 ↑ 项目模式时执行
↑ 工具型任务跳过 [Context: 跳过] ↑ 一次性模式跳过
↑ 一次性模式跳过(仅读输入+硬约束)
meitu --version → 未安装则提示 npm install -g meitu-cli@latestmeitu auth verify --json → 凭证无效则引导配置openclaw.yaml → project mode; else → one-off
can_record = cwd 有 openclaw.yaml AND $VISUAL 存在(两者缺一即 false)./output/ | else → $VISUAL/output/meitu-poster/
mkdir -p {output_dir}
硬约束:output_dir MUST NOT 指向 skill 文件夹内部mode = one-off → 跳过此步,直接到 Execute。以下仅限 project 模式:
逐步读取上下文(均 skip if missing):
需求分析
路由 — 判断场景
Creative Direction(无参考图)
品牌信息层级分类
| 层级 | 用户提供 | 动作 |
|---|---|---|
| B1 | 品牌调性 + 色彩体系 | 以调性和色彩为锚点 |
| B2 | 调性 + 色彩 + logo | 额外分析 logo 进行视觉关联 |
| Basic | 无品牌资产 | 从文本中提取气质,使用行业映射 |
| Franchise | 引用知名 IP | 锁定 IP 视觉 DNA 作为风格锚点 |
行业识别 + 风格锚定
创意构思 + 深化
无参考图的创意方向模式 → 读取 references/creative-framework.md 获取完整创意方法论。按顺序执行:
输出设计方案
按 references/output-formats.md 中场景 1 格式生成结构化输出:
project_manifest、visual_style_system、scene_elements、typography_layout、ai_generation_prompts输出前质量检查:
Poster Analyse(有参考图)
意图路由
通过分析用户意图确定模式(优先级:显式命令 > 隐式场景 > 歧义默认):
触发词不足以判断意图时 → 参考 references/poster-analyse.md Step 0 的完整触发词表和场景示例。
逆向工程参考图
提取完整视觉 DNA:
Soul Anchor 提取(仅 Washing)
识别最不可替代、设计价值最高的单一元素:
深度思考 + 重构
自我纠正
输出前验证:
输出设计方案
按 references/output-formats.md 中场景 2 格式生成 JSON:
mission_logic — 意图 + soul 提取推理design_blueprint — 概念、风格、色彩、布局、字体、构图、检测模式content_firewall — 丢弃的参考物体 + 解锁的特征prompt — 最终英文 prompt:[New Color Palette], [reconstructed concept], [anchor description], [mutated elements]. Negative: [ignored ref objects], simple layout, template, stock photonegative_prompt — 来自 content_firewall 和设计约束生成图片
从 Creative Direction JSON(ai_generation_prompts.primary_prompt)或 Poster Analyse JSON(prompt)提取 prompt
合并 negative_prompt:meitu-cli 不支持独立 negative prompt 参数。将 negative_prompt 中的关键禁忌转化为正向描述融入 prompt 末尾(例:"vintage, watercolor" → "contemporary modern aesthetic, clean digital rendering")。保留 JSON 中的 negative_prompt 字段用于设计方案存档。
确定输出分辨率和宽高比(text-to-image 用小写 2k,可选 1K|2K|4K;image-poster-generate 用大写 2K,可选 auto|512|1K|2K|4K):
3:4 | 微信朋友圈 → 1:1 | 微信公众号封面 → 16:9 | 抖音/TikTok/Stories → 9:16 | 电商横幅 → 16:9 | 未指定平台 → 3:4选择命令和参数(详见 references/meitu-cli-guide.md):
| 场景 | 命令 | --image_list | 说明 |
|---|---|---|---|
| Creative Direction(无参考图) | text-to-image | 不传 | 纯文生图 |
| Poster Analyse — Mimicry | text-to-image | 必须传参考图 URL | 保留原图风格 |
| Poster Analyse — Washing + Vibe Anchor | text-to-image | 推荐传参考图 URL | 保留质感氛围 |
| Poster Analyse — Washing + Typography/Layout Anchor | text-to-image | 不传 | 避免参考图污染新布局 |
| 输出需嵌入文字排版(用户明确要求文字在图上 OR 设计方案文字与图形为 overlay/fusion 关系) | image-poster-generate | 可选 | 带文字排版 |
约束说明:
text-to-image 传 --image_list 时,不再传 --ratioimage-poster-generate,不要让 text-to-image 承担完整海报版面职责image-poster-generate 模型选择(通过 --model 指定,默认 Praline_2):
| 优先级 | 模型 | 适用场景 | 输出风格 |
|---|---|---|---|
| 1 | Nougat | 风格化海报:卡通、3D 人偶、动漫、插画风 | 艺术化海报 |
| 2 | GummyV4.5 | 人像海报:真人作为主视觉 | 写实人物海报 |
| 3 | Praline_2(默认) | 通用商业海报:产品 + 文字排版 | 标准商业海报 |
# 确保 output_dir 存在(使用 Preflight 解析的 output_dir)
mkdir -p {output_dir}
# 文生图
meitu text-to-image --prompt "{prompt}" --size 2k --ratio {ratio} --json --download-dir {output_dir} --skill_name skill_meitu-poster
# 确保 output_dir 存在(使用 Preflight 解析的 output_dir)
mkdir -p {output_dir}
# 带参考图(Mimicry / Washing+Vibe)
meitu text-to-image --image_list "{ref_url}" --prompt "{prompt}" --size 2k --json --download-dir {output_dir} --skill_name skill_meitu-poster
# 确保 output_dir 存在(使用 Preflight 解析的 output_dir)
mkdir -p {output_dir}
# 带文字排版的海报
meitu image-poster-generate --prompt "{prompt}" --size 2K --ratio {ratio} --json --download-dir {output_dir} --skill_name skill_meitu-poster
注意:
--download-dir保存的文件名为 task_id(如t_mt1a3i...-1.jpg),Deliver 步骤负责 rename。
检查 --json 输出:成功(ok: true)→ 文件已下载到 {output_dir};失败(ok: false)→ 按降级策略重试
错误降级策略(每次仅降一级,最多 2 次重试):
| 级别 | 操作 | 具体做法 |
|---|---|---|
| L1 | 移除低优先级修饰词 | 从 prompt 中删除环境氛围词(如 "dreamy haze", "ethereal glow"),保留 [核心主体] + [风格关键词] + [构图] |
| L2 | 降级枚举参数 | text-to-image: --size 2k → 更小尺寸或默认值;image-poster-generate: --size 2K → --size 1K |
| L3 | 移除可选输入 | 移除 --image_list(如有),回退到纯文生图 |
| L4 | 最小化核心要素 | prompt 仅保留 [核心主体], [介质类型], professional photography |
| L5 | 停止报错 | 先输出 CLI 原始字段 code + hint;若原始错误经 meitu-tools 归类为 ORDER_REQUIRED → 提示用户充值并提供 action_url;若归类为 CREDENTIALS_MISSING → 提示先使用环境变量或预置 ~/.meitu/credentials.json,仅在用户明确要求写入本地凭证时再执行 meitu config set-ak + meitu config set-sk |
创意型 Skill 必须有独立的迭代精炼循环:
展示 — 展示生成图片 + 设计方案 + 简要设计理由(为什么选择这个风格方向、构图逻辑、色彩策略)
等待反馈 — 用户反馈分流:
反馈分类与调整 — 不同类型的反馈对应不同调整路径:
| 反馈类型 | 示例 | 调整方式 |
|---|---|---|
| Prompt 微调 | "颜色再暖一点"、"加点光影"、"氛围感不够" | 修改 prompt 中的色彩/光影/氛围描述词,保持其他不变,重新生成 |
| 参数调整 — 换比例 | "换成竖版"、"改成 16:9"、"换个比例" | 基于已生成的图片,使用 image-edit --model praline_pro --image_list {已生成图片 URL} --prompt "将画面调整为 {ratio} 比例,保持整体风格和内容不变" --ratio {ratio} 做海报比例适配,而非重新生成。这里的 image-edit 仅用于 poster-specific refinement,不是通用图片编辑入口 |
| 元素增删 | "去掉背景的人"、"加个 logo"、"产品再大一点" | 修改 prompt 中的场景元素描述,或切换到 image-edit 进行局部编辑 |
| 风格偏移 | "太冷了,要活泼一点"、"再高级一些" | 回到 Creative Direction / Poster Analyse 调整风格锚定,重新构建 prompt |
| 布局重构 | "文字放上面"、"换个构图"、"左右分栏" | 重写 prompt 中的构图/布局描述,可能需要重新进入深度思考 |
| 方向否定 | "完全不是我要的"、"重新来" | 回到 Execute 起点,重新分析需求和风格方向 |
重新展示 — 调整后回到步骤 1
迭代节奏 — 建议最多 3 轮迭代。超过 3 轮说明方向未对齐,主动建议:
output_dir 已在 Preflight 解析,此处仅做重命名。
mv {file} {output_dir}/{date}_{name}.{ext}{date}_{effect-name}_design.json + {date}_{effect-name}_design.mdcan_record = false → 跳过。(can_record = cwd 有 openclaw.yaml AND $VISUAL 存在,两者缺一即 false)一次性模式下反馈仅当前对话有效。
例外: 一次性模式下用户反复表达同一偏好(如多次说"不要渐变"),MAY 提议写入 $VISUAL/rules/quality.yaml。
项目模式下:
更新 DESIGN.md(每次执行后)— 追加 Context References、Project Decisions、Iteration Log(保持最近 5 条,超出则压缩)。详见 references/memory-protocol.md § DESIGN.md Structure。
偏好记录(仅在用户反馈时):
用户认可风格 →
read $VISUAL/memory/observations/observations.yaml → scan similar key → merge or append → write back. len(projects) >= 2 → propose promotion (non-blocking)
「非阻塞」在回复末尾提议晋升到 scenes/ 或 global.md,不打断主流程
用户拒绝 → has openclaw.yaml → 问范围:仅项目 → ./DESIGN.md Constraints / 全局 → quality.yaml;无 openclaw.yaml → 仅当前任务
无反馈 → 跳过,零开销
详见 references/memory-protocol.md § Observation Lifecycle + Recording Behavior。
output_dir(命名格式 {date}_{effect-name}.{ext})