返回顶部
t

text-preserve文字保留

비라틴 문자(한글, 일본어, 중국어 등)를 AI 이미지에 정확히 렌더링하는 스킬. Canvas 프리렌더링과 Gemini를 활용하여 텍스트 깨짐 없이 이미지를 생성합니다.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.3
安全检测
已通过
1,690
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

text-preserve

多语言文本预渲染技能

AI图像模型在直接绘制韩文、汉字、日文等非拉丁文字时,会出现文字破损或错别字的问题。
本技能提供与Web应用完全相同的处理流程

  1. 1. detect(检测) — 检测提示词中是否包含非拉丁文字
  2. analyze(分析) — 通过Gemini LLM从提示词中提取文本和样式
  3. render(渲染) — 使用Canvas和精确字体将文本预渲染为PNG图片
  4. generate(生成) — 将预渲染的PNG作为输入提供给Gemini图像生成,生成最终图像

初始设置(仅需一次)

bash
cd {baseDir} && node setup.mjs

  • - 安装 canvas + @google/generative-ai npm包
  • 将Noto Sans字体文件准备到 {baseDir}/fonts/ 目录

环境变量

变量必填说明
GEMINIAPIKEY⭐ 必填用于Gemini Flash(分析)和Gemini Image(生成)
GEMINIIMAGEMODEL
可选 | 图像生成模型(默认:gemini-3-pro-image-preview) |

使用流程(分步说明)

一键执行:pipeline

通过一条命令执行整个流程:

bash
node {baseDir}/render.mjs pipeline 帮我制作一个名为욎홎 뙤앾뼡的地区节日海报 \
--output /tmp/final-image.png --no-base64

结果:
json
{
detect: { needsRendering: true, primaryScript: hangul, ... },
analyze: { texts: [...], style: {...}, reasoning: ... },
render: { success: true, outputPath: /tmp/text-render-xxx.png, ... },
generate: { success: true, outputPath: /tmp/final-image.png, ... }
}

分步执行

步骤1:检测非拉丁文字(detect)

bash
node {baseDir}/render.mjs detect 用户完整提示词

  • - needsRendering: false → 无需预渲染,直接进行普通图像生成
  • needsRendering: true → 进入步骤2

步骤2:Gemini LLM提示词分析(analyze)

bash
node {baseDir}/render.mjs analyze 帮我制作一个名为욎홎 뙤앾뼡的地区节日海报

Gemini Flash分析提示词后:

  • - 提取需要放入图像的文本(基于引号、标签、上下文)
  • 根据设计上下文确定合适的样式(字体、大小、颜色)
  • 指定每个文本的角色(标题/副标题/正文/说明文字)
  • 自动检测每个文本的文字系统·语言

如果没有GEMINIAPIKEY,将使用基于规则的备用方案。

步骤3:Canvas预渲染(render)

将analyze结果直接传递给render:

bash
node {baseDir}/render.mjs render \
--json {texts:[...],style:{...}} \
--output /tmp/rendered-text.png

或使用JSON文件:
bash
node {baseDir}/render.mjs render --input /tmp/analysis.json --output /tmp/rendered-text.png

步骤4:Gemini图像生成(generate)

将预渲染的文本PNG作为输入图像提供给Gemini,生成最终图像。

bash
node {baseDir}/render.mjs generate \
--prompt 帮我制作一个名为욎홎 뙤앾뼡的地区节日海报 \
--rendered /tmp/rendered-text.png \
--analysis {texts:[...],style:{...}} \
--output /tmp/final-image.png \
--no-base64

此命令内部执行:

  1. 1. 将预渲染的PNG作为第一张参考图像传递给Gemini
  2. 通过buildTextRenderFinalPrompt构建提示词(文本列表 + 样式 + 不要重新绘制文本,直接使用原样指令)
  3. Gemini生成将文本自然整合的最终图像

如有额外参考图像,可通过--ref传递:
bash
node {baseDir}/render.mjs generate \
--prompt 帮我制作海报 \
--rendered /tmp/rendered-text.png \
--ref /tmp/user-reference.jpg \
--output /tmp/final-image.png



支持的字体


语言无衬线体衬线体展示体手写体
韩语Noto Sans KRNoto Serif KRBlack Han SansNanum Pen Script
日语
Noto Sans JP | Noto Serif JP | Noto Sans JP | Noto Sans JP |
| 中文 | Noto Sans SC | Noto Serif SC | Noto Sans SC | Noto Sans SC |
| 泰语 | Noto Sans Thai | — | — | — |
| 英语 | Inter | Georgia | Impact | Comic Sans MS |

文本角色对应的字号

角色用途大小比例
headline主标题1.0x
subheadline
副标题 | 0.7x | | body | 正文 | 0.5x | | caption | 说明文字 | 0.4x |

字体大小映射

fontSize像素值
small24px
medium
36px | | large | 48px | | xlarge | 72px |

触发关键词

当用户提示词包含以下关键词时,本技能将自动激活:

文本、文字、字样、标志、水印、品牌、字体、标题、头条、
text、logo、title、headline、
或提示词中包含韩文/汉字/日文/泰文/阿拉伯文等非拉丁文字时。

规则(应做事项)

  • - 检测到非拉丁文字时,必须执行完整流程(detect→analyze→render→generate)
  • 通过analyze让LLM提取文本和样式
  • 通过render生成Canvas预渲染PNG
  • 通过generate将预渲染PNG作为输入提供给Gemini,生成最终图像

禁止事项(不应做事项)

  • - 不要要求AI模型直接绘制非拉丁文字
  • 不要未经预渲染就将韩文/汉字/日文文本包含在图像提示词中
  • 不要跳过render步骤直接进行generate
  • 不要随意修改analyze结果中的文本

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 nano-banana-korean-rendering-1776360312 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 nano-banana-korean-rendering-1776360312 技能

通过命令行安装

skillhub install nano-banana-korean-rendering-1776360312

下载

⬇ 下载 text-preserve v1.0.3(免费)

文件大小: 17.56 KB | 发布时间: 2026-4-17 14:17

v1.0.3 最新 2026-4-17 14:17
Fixed: font download URLs updated to Google Fonts GitHub (no more 404), setup.mjs async/await bug fixed, font download caching for same-family fonts

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部