Part Five · 自媒体实战
12
WeChat Banners · 公众号头图与配图

公众号头图与配图

公众号是一套被尺寸框死的版式:头图死守 2.35:1,文内配图统一收在 1080 一档。这一章讲清楚怎么用接近比例的有效尺寸出底图、再本地裁到精确像素,以及一个常被忽略的判断——什么时候根本不该生图

公众号的视觉语言,本质上被三个尺寸框住:一张近 2.35:1 的头图、一批宽约 1080 的文内配图,以及偶尔出现的信息图。把这三类各自的"标准动作"练熟,图文就有了稳定的卖相。

与小红书、视频号不同,公众号的图不抢戏——它服务于阅读,而非滑动。所以这一章的关键词是克制与统一:尺寸要准、风格要齐,能用代码画清楚的就别让模型去"猜"。

三类素材:头图 2.35:1 / 文内配图 / 信息图

先把三类素材的规格摆清楚。公众号里最讲究、也最容易出错的是头图——它有一个经典的固定比例。

素材类型经典尺寸比例说明
头图(首图)900×383≈2.35:1列表页与分享卡片的门面,横向窄条,主体要居中、留白要狠。
文内配图宽≈10801:1 / 16:9正文里穿插,方图或 16:9 皆可,宽度对齐到约 1080。
信息图宽≈1080竖向不限流程、对比、数据;优先考虑能否用代码画(见第三节)。

头图是这三类里最"反直觉"的:2.35:1 是一条很扁的横条,比电影遮幅还宽。这意味着你不能把竖构图硬塞进去,主体必须横向铺开,并为标题文字留出呼吸空间。下面用一个版式框模拟它。

公众号头图 2.35:1
一句话标题压在视觉中心偏上
SUBTITLE · 副标题或栏目名
提示:头图上若要叠标题文字,配色须守住对比铁律——深绿/深褐底上的字只用奶白 #F3EEE2亮铜金 #F2C892,绝不用深松绿。文字最好在本地用代码或排版工具叠加,而不是让模型把字"画"进图里(字准确性见第 08、10 章)。
关键判断

头图的 2.35:1 不是 gpt-image-2 的有效尺寸——900 与 383 都不是 16 的倍数,这条窄比例直接生成既不稳又费劲。正确做法永远是:先在"接近比例的有效尺寸"生成宽幅底图,再本地裁切到精确像素。下一节就讲这套换算。

尺寸换算:宽幅有效尺寸 → 裁成 2.35:1

这是全章的"硬技术"。gpt-image-2 对尺寸有一组硬约束:最长边 ≤ 3840、两边都是 16 的倍数、长短比 ≤ 3:1、总像素在 655,360 到 8,294,400 之间。公众号的目标像素几乎都满足这些条件,所以走"两步走":生成接近比例的有效尺寸 → 本地裁/缩到精确像素

STEP 1 · 生成有效底图 2048 × 1152 16:9 · 有效尺寸 内置 image_gen 出图 本地裁切 STEP 2 · 裁成头图比例 900 × 383 2.35:1 · 精确像素 pillow 裁切 / 降采样
头图两步走 · 先出 16:9 宽幅有效底图,再上下裁掉、保留中间窄条得到 2.35:1。

记住几条最常用的换算,照着用就不会错。

目标平台像素先生成(有效尺寸)本地处理
头图 2.35:1900×3832048×1152(16:9)上下裁去、保留中间窄条,再降采样到 900 宽
头图(高清备份)1536×1024(3:2)裁成 2.35:1,留作高分辨率版本
文内方图1080×10801024×1024 或 2048×2048直接用或降采样到 1080
文内 16:91080×6082048×1152降采样到 1080 宽
为什么是 2048×1152

2048 与 1152 都是 16 的倍数,比例正好 16:9,总像素约 236 万——稳稳落在 gpt-image-2 的有效区间内;而且 16:9 比 2.35:1 "高"一些,裁的时候只需上下各切掉一条,主体不会被横向挤压。这就是"接近目标比例的有效尺寸"该有的样子。

内置模式对"精确 宽×高"的控制有限,所以默认用内置 image_gen 出接近比例的底图,再用 pillow 本地裁切就够了——这不需要 CLI,也不需要 API Key。只有当你需要精确像素或特殊比例、且明确要走命令行时,才用 CLI 回退的 --size 直接指定有效尺寸(仍要本地裁到平台精确像素)。下面是一条留在内置出底图、再纯本地裁切的示意:

terminal
$ codex exec "给这篇公众号文章做一张头图:横向宽幅、近 2.35:1,主体居中留白,2048x1152;生成后存进项目 output/imagegen/" # ↑ 留在内置 image_gen 出宽幅底图,并把成片 move 进工作区;下一步纯本地裁切,不调用任何 API $ python -c "from PIL import Image; im=Image.open('output/imagegen/hero-src.png'); w,h=im.size; ch=int(w/2.35); top=(h-ch)//2; im.crop((0,top,w,top+ch)).resize((900,383)).save('output/imagegen/hero-900x383.png')"
提示:裁切是纯本地操作,用 pillow 即可(uv pip install pillow),不需要 OPENAI_API_KEY。注意内置工具默认把成片存到 $CODEX_HOME/generated_images/,项目要用的资产收尾前务必 move/copy 进工作区——别把它只留在默认目录。终稿写进 output/imagegen/,文件名稳定且描述性;别覆盖已有资产,要新版就另存 hero-900x383-v2.png

信息图:生图还是写代码

公众号里信息图很常见:流程、对比、数据榜单。技能里有一个对应的生成用例 slug——infographic-diagram。但在掏出它之前,请先问自己一个问题,这个问题第 09 章会反复出现。

先问:这张图,是"画"出来的,还是"算"出来的?

如果内容主要是规整的方框、箭头、表格、文字标签、数据条——那它本质是结构化信息,用 SVG / HTML / CSS 画会更清晰、文字更准,还能随时改字改色。生图模型最不擅长的就是把字写对、把框对齐。只有当你要的是带插画感、有质感氛围、文字寥寥的"视觉化信息图"时,才让模型出手。

用代码画信息图

适合:流程图、对比表、数据条、带精确文字与数字的图表、需要与正文反复对齐改动的版式。

好处:文字 100% 准确、矢量清晰可无限放大、改一个数字只动一行代码、天然吃品牌色变量。

代价:需要你写 SVG/HTML,纯插画质感做不出来。

用生图做信息图

适合:文字极少、以插画/质感/氛围为主的"概念信息图",比如一张有手绘感的知识科普图。

好处:风格丰富、有温度、出图快,省去画矢量的功夫。

代价:文字常出错、难精确对齐、改动要重画;密集文字或数据务必走 mediumhigh 画质并逐字校验。

判断清楚后,如果确实落在"生图"这一侧,用下面这张配方卡把需求结构化。注意它把文字尽量压到最少,并明确要求"留出标题区",这样后续叠精确文字时更从容。

RECIPE

概念型信息图 · 公众号文内

Use case
infographic-diagram(概念/插画型,非纯图表)
Asset type
公众号文内竖向信息图,宽对齐 1080
Primary request
一张"什么是图像生成技能"的科普向信息图,插画质感、文字极简
Scene-backdrop
米白纸张质感背景,温暖、安静
Subject
三个并排的图标化卡片:一支笔 / 一张照片 / 一个齿轮,由细线连接
Style-medium
扁平细线手绘风,少量纹理,编辑插画感
Composition-framing
竖向三段式,顶部留出空白标题区,元素居中对齐
Color palette
松绿主色、铜金点缀、米白底,整体克制
Text(verbatim)
不在图内写文字(标题与标注后续用代码叠加)
Constraints
先出 1024×1536 竖向有效尺寸;内置 image_gen;medium 画质
Avoid
花哨渐变、拥挤元素、任何模型自己写的文字、品牌色之外的颜色
提示词 · 概念信息图内置 image_gen
画一张扁平细线手绘风的科普信息图,竖向三段式,米白纸张质感背景,温暖安静。三个并排的图标化卡片——一支钢笔、一张照片、一个齿轮——由细线连接。顶部留出整片空白作为标题区。配色仅用松绿、铜金与米白,整体克制。图内不要出现任何文字,不要花哨渐变与拥挤元素。竖向构图,元素居中对齐。
infographic-diagram文字极简1024×1536
关键判断

信息图的默认答案,偏向代码。只要内容是规整的框/箭头/表格/数字,就别生图——交给 SVG/HTML(第 09 章详解)。把生图留给那些"以插画与氛围取胜、文字寥寥"的版本,并且文字永远后期用代码叠,绝不让模型替你写中文标题。

文内配图:让一整篇看起来出自一人之手

单张图好看不算赢,一整篇图看起来出自同一只手才算。公众号文章往往要插三到五张配图,它们若风格各异,整篇就显得潦草。统一靠的不是玄学,而是把若干变量固定下来。

具体落地时,每张配图都是一个独立资产,要发一次独立的内置调用——它们提示词不同(画的东西不同),但共享同一段风格描述。这正是技能里反复强调的:n 是"同一句提示词的变体",不同资产要用不同提示词,而不是把 n 调大。把"共享风格串"写成一段可复制的英文 tokens,贴在每张图后面:

Shared Style Tokens · 复用到每张配图built-in image_gen
flat editorial illustration, fine line work, warm paper texture; muted palette of pine green, copper accent, cream paper; soft even daylight from upper-left; centered subject with generous margins; calm, restrained, no text, no harsh gradients
style-transfer 思路逐图复用
成套,不靠运气,靠复用

把"共享风格串"当成模板:每张配图 = 这段固定 tokens + 一句"这张画什么"。需要时也可以先定一张满意的"基调图",再以它为风格参考(style reference)去生成其余几张——但参考图只借风格,主体仍由各自的提示词决定。所有终稿统一落进 output/imagegen/,并始终汇报最终保存路径、最终提示词、用了哪种模式。

本章 TL;DR

公众号三类素材各有规矩:头图死守 2.35:1(≈900×383),文内配图与信息图宽对齐 1080。头图不能直接生成——用内置 image_gen 出 2048×1152 宽幅底图,再用 pillow 上下裁成 2.35:1、降采样到精确像素,全程纯本地、不用 Key。信息图先问"画的还是算的":规整的框/箭头/表格/数字交给 SVG/HTML,只有插画氛围型、文字寥寥的才生图,且文字永远后期叠。文内配图靠固定色板、风格、构图、光线四件套取得成套感;每张是独立资产、独立调用、共享同一段风格串。