当前位置: 首页 > 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.jsqmd.com/news/1015399/

相关文章:

  • 大专非科班拿下汇丰外包Java岗,我的IKM笔试180分钟地狱难度通关实录(附真题解析)
  • 洞察2026年当下评价高的吉安大平层设计服务商市场格局与优选指南 - 品牌鉴赏官2026
  • 地信/遥感专业转开发,面试官到底想听什么?——以天津测绘院24春招为例拆解求职策略
  • 【GEO优化实战】2026全域AI流量体系:向量知识库+意图预测模型在地推行业的落地架构
  • DIY四轴无人机硬件避坑指南:从MPU6050布线到电源模块设计的那些事儿
  • 告别黑屏!手把手教你用易至天工插件在ArcMap 10.8稳定加载谷歌影像(附离线文件加载技巧)
  • 别再死记硬背了!eNSP里这10个BGP命令,帮你快速定位网络故障
  • Spring全家桶面试进阶宝典,普通程序员必备!
  • [智能体-399]:AI 智能体 vs 流程自动化(RPA)核心对比
  • 2026年不锈钢管道修补器行业选择参考:多品牌维度分析与应用案例分享 - 优质品牌商家
  • 第3次作业
  • 给技术人的实验室认证扫盲贴:CNAS、CMA、CAL到底有啥区别?看完这篇就懂了
  • SV DPI接口避坑指南:从‘import/export‘语法到VCS编译,一次讲清那些让人头疼的细节
  • 窗帘辅料怎么收费,哪些配件没必要花钱
  • Linux 网络管理全解:图形、命令、配置文件一站式实操
  • 2026 中山管道疏通与异味治理机构精选 5 家 马桶 / 厨卫下水 / 地漏除臭服务参考 - 宅安选房屋修缮
  • R语言中的字符串处理技巧
  • 联想机器学习岗面试官亲述:我们如何在45分钟技术面里考察你的真实水平?
  • SAP BAPI_PRODORD_CREATE避坑指南:批量创建生产订单时,这5个参数千万别填错
  • 车载以太网之要火系列 - 番外篇6:四十岁学艺不算晚,AI相伴破万难
  • 北森/赛马题库图形推理10分钟速成:互联网技术岗校招必考的行测题怎么破?(附旋转/对称/笔画规律图解)
  • vSphere集群服务vCLS深度排错指南:当DRS罢工、虚拟机报‘已固定到主机’时该怎么办?
  • 别再乱改Cartographer的Lua文件了!深入理解revo_lds.lua关键参数与建图效果的关系
  • 读懂AI Agent:颠覆当下AI格局,从被动聊天到主动帮你搞定一切
  • RWKV 批量推理中 Prefill 的正确打开方式
  • ArcMap 10.7/10.8启动加载界面后闪退?可能是这个隐藏的Normal.mxt模板文件在搞鬼
  • Spring Cloud Alibaba 速成笔记,普通程序员必备!
  • 软考高级系统架构师备考:信号量与PV操作常考题型的3种破解思路与避坑指南
  • 避坑指南:FR4板材做2.4G微带天线,这些仿真与实测的误差你遇到了吗?
  • [智能体-417]:数字化造浪,智能化分野:生产体系中硅基替代碳基的效率必然