1. 首页 > 技术教程 > 正文

AI 文章配图自动化流程:封面图、示意图和 alt 文案生成

写文章配图最烦人。封面图要吸睛、示意图要清晰、alt 文案还要考虑 SEO,三个环节拆开做,一篇文章能折腾半小时。这个流程完全可以交给 AI 自动化跑通,从标题到生成封面图、插入示意图、补全 alt 文案,一条命令搞定。下面直接说怎么在 VPS 上搭这个自动化流程。

zhujixuan TASK 154

AI 文章配图自动化流程选型:API 调用 + 本地脚本

不推荐在低配 VPS 上跑文生图模型,显存和推理速度都不够。AI 文章配图自动化流程的合理结构是:调用云端绘图 API(如 DALL·E 3、Midjourney Proxy、Stable Diffusion API)+ 本地脚本做文案生成和文件管理。

用到的工具:

OpenAI API(GPT-4o 或 GPT-4o-mini)负责从文章标题和摘要生成封面图 prompt 和 alt 文案。

绘图 API(推荐 DALL·E 3 API,出图稳定、无需显卡)。

Python 脚本串联流程:读取文章 → 生成 prompt → 调 API 出图 → 写入 alt 文案 → 输出 markdown 插入标签。

这套流程跑在 1C2G 的 VPS 上完全够用,关键是 API Key 配置和脚本逻辑。

Docker 部署自动化配图服务

用 Docker 封装脚本和依赖,部署最省心。先拉一个 Python 环境镜像,把脚本和依赖写进 Dockerfile。

FROM python:3.11-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install –no-cache-dir -r requirements.txt

COPY . .

CMD ["python", "auto_image.py"]

`requirements.txt` 里要写 `openai`、`requests`、`python-frontmatter`。`python-frontmatter` 用来解析 markdown 文件的 YAML 头信息,方便提取 title 和 description。

端口放行和 API Key 配置

脚本不对外暴露端口,不需要放行。但 API Key 不能硬编码在脚本里,用环境变量传入:

docker run -d \
–name article-img-gen \
-e OPENAI_API_KEY="sk-xxxx" \
-e IMAGE_API_KEY="your-image-api-key" \
-v /path/to/articles:/app/articles \
article-img-gen:latest

`/path/to/articles` 是文章目录,脚本会轮询里面的 `.md` 文件。老鸟叮嘱:API Key 别贴到 GitHub 公开仓库,用 `.env` 文件加 `docker compose` 管理。

自动化流程脚本核心逻辑

脚本是整套流程的大脑。核心逻辑分三步:

1.读取文章:用 `python-frontmatter` 提取 `title` 和 `description`,如果没有 description,就取正文前 200 字。
2.生成 prompt 和 alt 文案:调用 GPT-4o-mini,传一个系统 prompt,要求返回 JSON 格式,包含 `cover_prompt`、`cover_alt`、`diagram_prompt`、`diagram_alt`。
3.调绘图 API 出图:用 DALL·E 3 API,请求 `cover_prompt` 生成封面图,请求 `diagram_prompt` 生成示意图,下载到本地 `images/` 目录,文件名用文章 slug 加时间戳防重名。

生成 prompt 的 prompt 设计

这里有个坑:直接让 AI 写绘图 prompt,容易出抽象画。需要给一个结构化的模板:

你是一个专业配图文案生成助手。根据文章标题和摘要,生成以下 JSON:
{
"cover_prompt": "简洁的封面图 prompt,适合 DALL·E 3,风格扁平插画,包含核心概念",
"cover_alt": "封面图的 alt 文案,包含文章核心关键词,不超过 120 字",
"diagram_prompt": "示意图 prompt,展示流程或关系,风格清晰易懂",
"diagram_alt": "示意图的 alt 文案,描述图中关键步骤"
}
文章标题:{title}
文章摘要:{description}

实测这个模板出图质量最稳定。老鸟叮嘱:prompt 里不要出现“详细”“真实摄影”这类容易触发 DALL·E 3 拒绝生成的内容,保持“扁平插画”“简洁图标”风格最安全。

自动化流程:从文章目录到配图完成

脚本跑起来后,会轮询 `/app/articles` 目录。每次检测到新的 `.md` 文件,就执行上述流程,生成两张图片,然后把 markdown 文件更新,在 YAML 头里加上 `cover_image: images/cover_xxx.png` 和 `diagram_image: images/diagram_xxx.png`,并在正文适当位置插入 `![cover_alt](images/cover_xxx.png)` 和 `![diagram_alt](images/diagram_xxx.png)`。

日志排查

如果出图失败或脚本卡住,先看日志:

docker logs article-img-gen –tail 50

常见错误:

• `openai.RateLimitError`:API 调用频率超限,脚本里加 `time.sleep(1)` 限流。

• `json.decoder.JSONDecodeError`:GPT 返回的 JSON 格式不对,加 `response_format={"type": "json_object"}` 强制输出 JSON。

• `FileNotFoundError`:文章路径不对,检查挂载卷映射。

老鸟叮嘱:避坑与安全

API Key 安全:用 Docker 环境变量或 secrets 管理,不要写进代码。

出图成本:DALL·E 3 每张图约 $0.04,控制好频率,一天跑几十篇文章成本可控。

文件命名冲突:用 `uuid` 或 `文章slug_时间戳` 做文件名,避免覆盖。

不裸露后台端口:脚本不提供 Web 界面,纯后台运行,不需要暴露端口。

不要用 root 跑容器:在 Dockerfile 里加 `USER nobody` 降低权限。

FAQ

Q1:低配 VPS 能跑这个流程吗?
能。脚本只做 API 调用和文件读写,1C1G 的 VPS 都够用,不需要显卡。

Q2:DALL·E 3 出图慢怎么办?
DALL·E 3 平均出图时间 5-15 秒,可以改用 Stable Diffusion API(如 Replicate 或 Together AI),响应更快,但 prompt 需要调整。

Q3:alt 文案怎么保证 SEO 友好?
在 GPT 的系统 prompt 里加限制:“alt 文案必须包含文章核心关键词,不超过 120 字,自然描述图片内容”。脚本生成后可以手动微调一下。

Q4:脚本怎么处理已有配图的文章?
可以在 YAML 头加 `auto_image: false` 字段,脚本检测到该字段跳过处理。或者脚本只处理 `cover_image` 和 `diagram_image` 为空的文件。

Q5:示意图 prompt 生成的图不准确怎么办?
示意图用 DALL·E 3 效果一般,建议换成专门画流程图的 API,比如 `excalidraw` 的 AI 插件,或者用 `Mermaid` 语法自动生成图表更靠谱。

Q6:怎么接入 n8n 自动化工作流?
用 n8n 的 HTTP Request 节点调用本地脚本的 API 接口,或者用 n8n 的 Execute Command 节点直接跑 Python 脚本。主机选之前写过 n8n 部署教程,可以参考那个配置。

AI 文章配图自动化流程不是非要上高端显卡,用 API 调用加轻量脚本就能跑通。关键是把 prompt 模板和文件管理逻辑写稳,后面只需要把文章丢进目录,脚本自动帮你出图、写 alt、更新 markdown,省下的时间足够多写两篇干货。

转载请注明出处:https://www.zhujixuan.com/jishujiaocheng/9922.html 商家投稿邮箱:zhujixuanblog@qq.com