当前位置: 首页 > news >正文

用 AI 自动生成文章封面:我的真实工作流

每次写完文章,最痛苦的不是写——是做封面。

找图、裁剪、调色、加文字、导出——一套流程至少 30 分钟。设计师报价一张封面 200 块。我不是出不起这个钱,是我一周一篇,一个月 800 块,一年小一万。作为一个还在冷启动期的副业号,这个成本不合理。

于是我开始让 AI 帮我做封面。三个月了,现在做一张封面平均3 分钟

这篇文章把我的流程全部公开——包括 Prompt、代码、以及对比数据。


我的封面生成流程

写完文章 → 提取核心概念,生成图片 Prompt → AI 生成图片(DALL-E / Midjourney / 本地 SD) → 加文字叠层(品牌色 #E85A3A) → 导出 3 个尺寸(公众号 / B站 / 抖音) → 完

核心就三步:Prompt → 生图 → 叠字。我写了一个 Go 工具串起全流程。


第一步:从文章标题生成图片 Prompt

不能让 AI 直接「做一个封面」,那样出来的图千篇一律。正确做法是先让 LLM 把文章主题翻译成视觉描述

funcgenerateImagePrompt(articleTitle,abstractstring)(string,error){systemPrompt:=`你是视觉设计师。根据文章标题和摘要,生成一个用于 AI 图片生成的 Prompt。 要求: 1. 描述具体的视觉元素,不要抽象概念 2. 指定风格(扁平/3D/极简/复古/科技感) 3. 指定色调(与 #E85A3A 龙虾橘红协调) 4. 不要包含任何文字(文字我会后期叠加) 5. 英文输出,50 词以内 6. 结尾加上 --ar 16:9`userPrompt:=fmt.Sprintf("标题:%s\n摘要:%s",articleTitle,abstract)returncallLLM(systemPrompt,userPrompt)}

实测案例——我这篇《多模态模型入门》的 Prompt:

A futuristic digital interface showing a split screen -- left side is a code screenshot, right side is the same code but with AI-generated analysis annotations floating around it. Style: clean tech illustration, glowy accents, minimal. Color palette: deep navy #1F3A5F background, coral orange #E85A3A highlights. No text in the image. --ar 16:9

第二步:调 AI 图片生成 API

DALL-E 3 有 API,可以直接用 Go 调:

import("bytes""encoding/json""fmt""net/http""os")typeDalleRequeststruct{Modelstring`json:"model"`Promptstring`json:"prompt"`Nint`json:"n"`Sizestring`json:"size"`}typeDalleResponsestruct{Data[]struct{URLstring`json:"url"`B64JSONstring`json:"b64_json"`}`json:"data"`}funcgenerateCover(promptstring)(string,error){apiKey:=os.Getenv("OPENAI_API_KEY")req:=DalleRequest{Model:"dall-e-3",Prompt:prompt,N:1,Size:"1792x1024",}body,_:=json.Marshal(req)httpReq,_:=http.NewRequest("POST","https://api.openai.com/v1/images/generations",bytes.NewReader(body),)httpReq.Header.Set("Authorization","Bearer "+apiKey)httpReq.Header.Set("Content-Type","application/json")resp,err:=http.DefaultClient.Do(httpReq)iferr!=nil{return"",err}deferresp.Body.Close()varresult DalleResponse json.NewDecoder(resp.Body).Decode(&result)iflen(result.Data)>0{returnresult.Data[0].URL,nil}return"",fmt.Errorf("未生成图片")}

跑一次大概 6-8 秒,生成的图片 URL 可以直接下载。


第三步:叠文字——用 Go 图片库加标题

Go 的标准库没有图片处理能力,我用github.com/fogleman/gg库在图片上叠文字:

import("github.com/fogleman/gg""github.com/nfnt/resize""image""net/http")funcaddTextOverlay(imageURL,title,subtitlestring)(image.Image,error){// 下载原图resp,_:=http.Get(imageURL)deferresp.Body.Close()img,_,_:=image.Decode(resp.Body)// 缩放到 1920x1080img=resize.Resize(1920,1080,img,resize.Lanczos3)dc:=gg.NewContext(1920,1080)// 把原图画上去dc.DrawImage(img,0,0)// 底部半透明遮罩dc.SetRGBA(0,0,0,0.5)dc.DrawRectangle(0,720,1920,360)dc.Fill()// 加载中文字体iferr:=dc.LoadFontFace("fonts/NotoSansSC-Bold.ttf",52);err!=nil{returnnil,fmt.Errorf("加载字体失败: %w",err)}// 标题——品牌主色dc.SetHexColor("#FFFFFF")dc.DrawStringWrapped(title,// 文章标题80,780,// x, y 起点0,0,// ax, ay1760,// 最大宽度1.5,// 行间距gg.AlignLeft,)// 副标题 / 标签dc.LoadFontFace("fonts/NotoSansSC-Regular.ttf",28)dc.SetHexColor("#E85A3A")dc.DrawStringAnchored(subtitle,80,970,0,0)returndc.Image(),nil}

最终输出三张图——公众号(900x383)、B站(1280x720)、抖音(1920x1080),全部从同一张原图裁剪。


成本和时间对比

方案时间/张成本/张一个月(4 张)
找设计师等 1-3 天¥200¥800
自己手做(Canva/PS)30-40 min02-3 小时
AI 生成 + Go 叠字2-3 min¥0.15-0.60¥2 + 12 分钟

DALL-E 3 一张图约 ¥0.30(按图片分辨率计费)。Midjourney 月费 $30 无限生成。本地 SD 零成本但需要显卡。

我现在用的是DALL-E 3 + Midjourney 混合:技术类文章用 DALL-E(精准),思考类用 Midjourney(好看)。


我的 Prompt 模板库(直接抄)

经过三个月调试,积累了这几个高复用率的模板:

技术教程类:

Clean tech illustration, [topic] visual metaphor, dark navy background with coral orange accents, minimal geometric shapes, no text, 16:9

工具测评类:

Side-by-side comparison visual, [tool A] vs [tool B], split screen, modern flat design, neutral gray background with accent colors, no text, 16:9

副业方法论类:

Abstract visualization of [concept], warm tone paper texture background (#F7F2EA), hand-drawn style arrows and icons in navy blue, personal notebook aesthetic, no text, 16:9

一个你可能没想到的用途

封面图上没有文字的时候,你可以同一张图用 100 遍——不同文章叠不同标题。一张高质量底图可以做成系列模版。

我的「工具链合集」系列所有文章用同一张底图,只换文字。视觉效果统一,品牌感强,每篇只花 30 秒——改个标题搞定。

AI 生成封面的真正价值不是省了设计费,而是把封面做成可复用的资产。


踩过的坑

  1. AI 不听「别放文字」——部分模型会无视这条,在画面里塞乱码。解决:Prompt 加一句「absolutely no text in the image」并降低 creativity 参数。
  2. 中文标题叠在复杂背景上读不清——解决:加半透明遮罩层,跟 YouTube 缩略图学的。
  3. AI 生成的人脸看起来很恐怖——解决:不要让 AI 画人。用抽象图形、代码元素、几何图案。

下一篇做一件狠事:同一个 Prompt 丢给 DALL-E、Midjourney、Stable Diffusion,看谁的图最好、谁最便宜。真实数据,不是玄学。

http://www.gsyq.cn/news/1527218.html

相关文章:

  • 洞察2026年当下评价高的吉安大平层设计服务商市场格局与优选指南 - 品牌鉴赏官2026
  • [智能体-399]:AI 智能体 vs 流程自动化(RPA)核心对比
  • Spring全家桶面试进阶宝典,普通程序员必备!
  • SV DPI接口避坑指南:从‘import/export‘语法到VCS编译,一次讲清那些让人头疼的细节
  • Linux 网络管理全解:图形、命令、配置文件一站式实操
  • R语言中的字符串处理技巧
  • 北森/赛马题库图形推理10分钟速成:互联网技术岗校招必考的行测题怎么破?(附旋转/对称/笔画规律图解)
  • ArcMap 10.7/10.8启动加载界面后闪退?可能是这个隐藏的Normal.mxt模板文件在搞鬼
  • [智能体-417]:数字化造浪,智能化分野:生产体系中硅基替代碳基的效率必然
  • 脑电信号视觉解码技术:AVDE框架的创新与实践
  • 第11篇:CSS盒模型深度解析
  • 从面试官视角拆解K8s:除了背题,面试官到底想考察你什么?(附真实场景问题)
  • 避坑指南:从杭高院到东南,我踩过的那些保研‘海王’与‘鸽王’学校的坑
  • 男生吉他入门后的实际音色表现与音准稳定性数据如何?
  • Hudi技术内幕:Write Operations 深度解析
  • Linux下MySQL 8安装后启动失败?一个`--initialize`参数的坑我帮你踩了
  • 如何永久保存微信聊天记录:WeChatMsg完整指南,守护你的数字记忆
  • PID调参像开手动挡?用‘响应曲线诊断法’快速定位问题(附MATLAB/Simulink仿真)
  • STM32F103C8T6省掉外部晶振,用内部HSI跑36MHz的完整配置流程(附代码)
  • 2026年有源滤波器柜品牌怎么选?从技术、案例到服务,这份行业分析不容错过 - 优质品牌商家
  • 新手队首次打CCPC省赛,3题收尾的复盘与心态调整指南
  • 别再死记硬背了!用项目实战复盘法,搞定硬件单板面试中的模电数电难题
  • 深圳国际学校哪家好?明湾校园见证全球青少年AI创造力
  • 68.数据链路层
  • 2026中山上门奢侈品回收机构综合实力排行 - 互联网科技品牌测评
  • 别再死磕技术了!用HR的KSA模型,重新规划你的程序员成长路线图
  • 2026香港全屋定制性价比高的品牌推荐:基于跨境供应链与小户型空间扩容的实证分析
  • 2026年沈阳高考集训班怎么选?多维度对比分析与真实案例参考 - 优质品牌商家
  • AI科技热点日报 | 2026年6月14日
  • CSP-J复赛真题保姆级刷题路线图(附洛谷题号与避坑指南)