mcpField
L
lovstudio-image-creator

lovstudio-image-creator

github.com/lovstudio创意与媒体7385 次安装今天更新
代码仓库

关于 lovstudio-image-creator

lovstudio-image-creator 是一项图像创作技能,可直接生成图像、通过 HTML 渲染设计,或为外部模型编写提示词。它适用于艺术图像、可编辑版式和参考图驱动的设计,并支持修改后重新渲染。

主要功能

  1. 01通过 Gemini 生成图像
  2. 02将可编辑 HTML 设计渲染为 PNG
  3. 03为外部图像模型编写提示词
  4. 04根据参考图调整设计
  5. 05设置或推断输出宽高比

适用场景

  1. 01创作生成式艺术图像或插画
  2. 02制作可编辑的海报、卡片或横幅
  3. 03为外部图像模型准备提示词

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lovstudio/skills --skill lovstudio-image-creator

安装后在 Claude Code 中输入/lovstudio-image-creator确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CHANGELOG.md
gen_image.py
README.md
scripts/
render_to_png.py

详细介绍

图像创作 — 多机制框架

机制选择

根据用户意图选择机制:

机制使用场景输出
end-to-end用户想要 AI 生成的艺术作品、照片、插画PNG 图像
code用户想要可编辑内容的设计版式(海报、卡片、横幅)HTML 文件 + PNG
prompt用户想要用于外部模型(Midjourney、nano-banana-pro 等)的提示词文本提示词

如果用户没有指定,则根据上下文推断:

  • “生成一张猫的图片” → end-to-end
  • “做一张活动海报” → code
  • “帮我写一个 Midjourney prompt” → prompt

机制 1:端到端(Gemini)

python3 gen_image.py "PROMPT" [-o output.png] [-q low|medium|high] [--ascii]
  • 通过 ZenMux 使用 Gemini 3 Pro 直接生成图像
  • 需要设置 ZENMUX_API_KEY 环境变量
  • 首次运行时会通过 pip --user 自动安装 google-genai 和 Pillow(无需手动设置)
  • 生成后使用 Read 工具显示结果

机制 2:基于代码的渲染

步骤 1:生成 HTML

编写一个包含所有内联样式的独立 HTML 文件。使用:

  • 通过 CDN 提供的 React 19(https://cdn.jsdelivr.net/npm/react@19/umd/react.production.min.js)
  • 通过 CDN 提供的 ReactDOM 19
  • 通过 CDN 提供的 Tailwind CSS(https://cdn.tailwindcss.com)
  • 面向 CJK 的 Google Fonts:使用 <link> 引入 Noto Sans SC、Noto Serif SC

模板结构:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script src="https://cdn.jsdelivr.net/npm/react@19/umd/react.production.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/react-dom@19/umd/react-dom.production.min.js"></script>
  <script src="https://cdn.tailwindcss.com"></script>
  <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700;900&family=Noto+Serif+SC:wght@400;700&display=swap" rel="stylesheet">
  <script>
    tailwind.config = {
      theme: { extend: { /* custom theme */ } }
    }
  </script>
  <style>
    /* Reset & base styles */
    * { margin: 0; padding: 0; box-sizing: border-box; }
    body { width: {{WIDTH}}px; height: {{HEIGHT}}px; overflow: hidden; }
  </style>
</head>
<body>
  <div id="root"></div>
  <script type="text/babel" data-type="module">
    // React component here
    function Poster() {
      return (/* JSX */);
    }
    ReactDOM.createRoot(document.getElementById('root')).render(<Poster />);
  </script>
  <script src="https://cdn.jsdelivr.net/npm/@babel/standalone/babel.min.js"></script>
</body>
</html>

重要:Babel standalone 脚本必须放在 text/babel 脚本块之后。

步骤 2:渲染为 PNG
python3 scripts/render_to_png.py \
  /path/to/poster.html \
  -o output.png \
  -W 1200 -H 630 \
  --scale 2

常见宽高比:

宽高比尺寸用途
16:91200×675社交媒体横幅
4:31200×900演示文稿
1:11080×1080Instagram 帖子
9:161080×1920快拍 / 手机海报
3:4900×1200竖版海报
A4794×1123打印海报(210mm×297mm,@96dpi)
步骤 3:显示并迭代
  • 使用 Read 显示 PNG
  • 在 macOS 上使用 open output.png 打开
  • 用户可以请求修改 → 修改 HTML → 重新渲染

机制 3:提示词工程

为外部模型生成优化后的提示词。包括:

  • 正向提示词:主体、风格、光线、质量标签
  • 负向提示词:需要避免的常见缺陷

将输出格式化为可复制的代码块。

参考图支持

用户提供参考图时:

  • 端到端:在提示词中描述风格和构图
  • 代码:分析版式、颜色、排版 → 在 HTML/CSS 中复现
  • 提示词:提取风格关键词,供外部模型使用

宽高比

始终询问或推断所需的宽高比。使用上表映射为像素尺寸。

评论

支持 Markdown