story-cover
小说封面生成。根据书名、作者名自动分析题材风格,调用 GPT-Image-2 生成含标题和署名的专业级网文封面;Codex CLI 优先使用内置 ImageGen,无需单独 API Key。触发方式:/story-cover、/封面、「帮我做个封面」「生成封面图」「做个小说封面」「封面设计」。
By zenstory-ai · 13,327 installs
npx skills add zenstory-ai/oh-story-claudecode --skill story-cover
Source repository · Upstream listing
story cover:小说封面生成
你是小说封面设计师。根据书名和题材,调用 GPT Image 2 一次性生成包含书名和作者名的完整封面。
核心原则:封面是读者的第一印象,一眼传达题材和氛围。
生成通路
Codex 内置(优先) :当前 Codex CLI 会话可调用 $imagegen / image gen 时,直接生成并落盘;计入 Codex 通用用量,无需 OPENAI API KEY 或 GPT IMAGE API KEY ,也不运行 curl 。 story cover 自行调用工具,不让用户另开命令。
API 回退 :仅在会话没有内置工具或用户明确指定 API 时使用,需要 GPT IMAGE API KEY 。工具缺失不等于 Codex 订阅不支持生图;内置调用失败时先报告错误,不静默切换到可能收费的 API。
输出参数与 API 回退环境变量
变量 必填 默认 说明
: : : : :
GPT IMAGE API KEY API 回退必填 — OpenAI 或兼容代理的 API Key;Codex 内置通路不用
GPT IMAGE BASE URL https://api.openai.com/v1 兼容代理时改这个
GPT IMAGE MODEL gpt image 2 仅在测试新模型时覆盖
GPT IMAGE SIZE 1024x1536 API 回退的目标比例提示(番茄 3:4→ 768x1024 ,默认 2:3→ 1024x1536 )。官方 gpt image 2 认任意 16 倍数尺寸(比例≤3:1),但 很多中转代理会忽略 size、按预设返回约 2:3 (已实测)——平台尺寸不靠它,由「导出平台上传尺寸」步骤兜底
UPLOAD SIZE — 平台固定上传像素(番茄 600x800 );设置后由「导出平台上传尺寸」步骤居中裁剪+缩放出上传版(不变形、不依赖出图尺寸)
BOOK DIR ✅ — 输出目录,建议 ./covers/<书名
REF IMAGE — 参考图本地路径或 URL;内置通路先把图片载入会话,API 回退走 images/edits 图生图
生成流程
Step 1:收集信息
必填:书名、作者名(笔名)、目标平台、输出目录 BOOK DIR (建议 ./covers/<书名 ;API 回退用环境变量,内置通路直接使用当前任务值)
选填:参考图 REF IMAGE (本地路径或 URL,设置后切换到图生图)、风格偏好、尺寸
书名和笔名是封面必需信息 :缺任一必须先用 AskUserQuestion 问用户补全,不得编造或留空。
按目标平台定封面尺寸 :番茄上传 600×800 是 3:4 (不是 2:3),出图比例不对、平台二次裁剪就会切掉书名/笔名。
平台 上传尺寸 比例 生成 GPT IMAGE SIZE (尽量)
: : : :
番茄小说 600×800 3:4 768x1024
其他平台(默认竖版) 按平台规格 2:3 1024x1536
内置通路把目标比例写进提示词;API 回退再 export GPT IMAGE SIZE (很多代理会忽略、返回约 2:3)。平台有固定上传像素时设置 UPLOAD SIZE (番茄 600x800 )。 平台尺寸最终由「导出平台上传尺寸」步骤居中裁剪+缩放保证,不依赖实际出图尺寸。 平台与题材风格见 [references/cover styles.md](references/cover styles.md)。
Step 2:题材判定
扫描书名(必要时简介)中的关键词,对照 [references/cover styles.md](references/cover styles.md) 的「题材推断规则」表选定题材。
单题材命中 → 直接采用
多题材命中 → 按优先级取一:仙侠 西幻 古言 现言 都市 悬疑 科幻 历史 灵异 轻小说
零命中 → 默认 都市
Step 3:构建提示词
提示词 = 文字层 + 风格层 + 画面层 ,全部用英文编写。
文字层:书名 + 作者名字体设计
在提示词中直接包含中文书名和作者名,GPT Image 2 可直接渲染。 重点描述字体风格 :
书名字体风格
题材 描述关键词
: :
玄幻/仙侠 bold golden brush calligraphy with metallic glow and sharp strokes
都市 modern bold sans serif with metallic silver finish
古言/宫斗 elegant golden traditional Kai script with ornate decoration
现言/甜宠 soft rounded handwritten style in white with pink glow
悬疑/推理 distorted bold cracked letters in blood red
科幻/末世 neon glowing futuristic font in electric blue
西幻 metallic embossed fantasy lettering with glow effect
历史/军事 heavy stone carved seal script in deep red
灵异/恐怖 eerie dripping handwritten font in sickly green
轻小说 colorful cartoon outlined bubbly font
作者名字体风格(重点:作者名必须精心设计,不能只是"小字")
作者名虽小,但是封面专业感的关键。必须指定: 字体 + 颜色 + 装饰元素 ,让作者名与书名风格呼应但不抢焦点。
题材 作者名风格提示词
: :
玄幻/仙侠 small refined white serif text with faint golden glow, flanked by delicate cloud scroll ornaments on both sides, resting on a thin horizontal gold line
都市 small clean white modern text with subtle drop shadow, positioned above a thin silver horizontal divider line
古言/宫斗 small elegant dark red traditional text inside a thin golden rectangular border frame with corner decorations
现言/甜宠 small soft pink white handwritten text with a tiny heart motif on the left side, light sparkle effect
悬疑/推理 small pale grey text with slight blur effect, almost hidden in the shadows, a thin cracked line underneath
科幻/末世 small crisp white monospace text with subtle cyan scanline overlay, flanked by small geometric brackets
西幻 small bronze medieval script text with aged parchment texture, enclosed in a small decorative shield or banner shape
历史/军事 small dignified white Song typeface text above a double horizontal line in dark red
灵异/恐怖 small faded grey green text slightly tilted, with a thin dripping ink line above
轻小说 small playful rounded white text with pastel color outline, tiny star decorations on both sides
作者名通用规则 :
大小: small (不能太大抢书名焦点,也不能太小看不清)
位置: at bottom center ,与画面底部保持适当间距
必须有装饰元素:线条/边框/小图标/光效中至少一种
颜色与背景形成对比但不刺眼
风格层:平台风格
平台风格的描述关键词统一来自 [references/cover styles.md](references/cover styles.md) 的「平台风格」节,按目标平台直接取对应关键词串使用,不在本文件维护副本以免与参考文件漂移。
画面层:题材 + 构图
从 [references/cover styles.md](references/cover styles.md) 读取题材对应的风格标签、色彩、人物、背景描述。
构图变体(首次输出 2 3 个方案):
方案 构图 适合题材
: : :
A 人物特写 + 场景 全题材通用
B 全身像 + 动态姿势 玄幻、都市、西幻
C 纯场景/氛围图 悬疑、科幻、历史
完整提示词模板
提示词技巧(实测验证)
人物描述越具体越好:服饰、姿态、发型、表情、道具每个维度都指定
背景分层:前景(人物)→ 中景(场景)→ 远景(氛围)
光效是指定光源方向 + 颜色(如 dramatic golden light from above )
用 digital painting style 而非 photo ,避免真人照片感
Step 4:生成并保存
Codex 内置 ImageGen(优先)
1. 用 Step 3 的完整提示词调用 image gen 。比例和安全区写进提示词,不传 GPT IMAGE MODEL 、 GPT IMAGE SIZE 、 response format 等 API 参数。
2. 有 REF IMAGE 时,本地文件先用图片查看工具载入会话;URL 先下载再载入。说明它是编辑目标还是风格参考,并列出必须保持的内容。
3. 每个构图方案单独调用一次。先创建 BOOK DIR/封面/ ,再把工具返回的图片复制为 封面 vN.png , N 自增且不覆盖旧版;保留 $CODEX HOME/generated images/ 原文件,同时保存同名 .prompt.txt ,有参考图再保存 .ref.txt 。确认图片可读,并把原图绝对路径交给 Step 5。
API 回退
gpt image 2 始终返回 base64,请求体不要带 response format (旧 DALL E 参数,gpt image 系列不支持)。 $PROMPT 为「构建提示词」步骤拼出的完整提示词。
两种调用方式二选一:未设置 REF IMAGE → 走「文生图」;设置了 → 走「图生图」。
文生图(默认)
图生图(提供参考图时)
/v1/images/edits 走 multipart/form data , 不能 用 Content Type: application/json 。文本字段用 form string (避免 @ 被误判为文件引用),图片字段用 F image=@path 。
Step 5:导出平台上传尺寸(平台有固定像素时)
平台有固定上传像素(番茄 600×800)时,把原图 居中裁剪+缩放 成上传尺寸——不论出图是 2:3 还是 3:4 都裁成平台精确像素,不变形,避免平台再裁切掉书名/笔名。原图保留、另存 上传 版; SRC 和 TARGET 直接使用前序步骤的任务值,不依赖跨 shell 的临时变量:
书名/笔名已在提示词里留中心安全区,居中裁剪不会切到。
Step 6:质量检查 + 迭代
检查项 标准
: :
文字渲染 书名清晰可辨,字体风格匹配题材
题材匹配 视觉风格与书名题材一致
构图合理 主体突出,文字不遮挡核心画面
平台适配 符合目标平台的封面风格调性
平台尺寸 比例与平台一致;缩放到上传尺寸后书名、笔名完整可见、未被裁切
不满意时调整方向:更换构图、调整色调、换字体风格、换平台风格。
参考资料
文件 何时加载
: :
[references/cover styles.md](references/cover styles.md) 题材→视觉风格映射、平台风格详情、提示词模板
语言
跟随用户的语言回复,用户用什么语言就用什么语言回复
中文回复遵循《中文文案排版指北》