AI广告文案配置:用提示词模板和API批量生成广告语
先明确要解决什么问题
AI广告文案配置不是装一个软件就完事,而是把“产品信息 + 生成规则 + 模型调用”串成一套可重复使用的流程。
适合的场景是:你需要为同一批商品定期产出多版本文案,手动写效率低,希望用脚本批量生成初稿,再由人工筛选和润色。
本文将用 Python 调用大模型 API,配合提示词模板,完成一个最小可用的文案生成工具。
开始前需要准备:
一台能运行 Python 3.8 以上版本的电脑或服务器、
一个可用的大模型 API 密钥(以你实际使用的服务商为准)、
以及待生成文案的产品信息表格(CSV 格式即可)。
准备运行环境与依赖
在项目目录下创建虚拟环境并安装依赖,避免污染系统 Python:
python3 -m venv ad_env
source ad_env/bin/activate # Windows 使用 ad_env\Scripts\activate
pip install openai pandas
这里用 openai 库作为通用调用示例,如果你使用其他兼容接口的服务,只需替换 base_url 和模型名称。
把 API 密钥写入环境变量,不要硬编码在脚本里:
export AI_API_KEY="你的密钥"
Windows 可以用 set AI_API_KEY=你的密钥 临时设置,或写入系统环境变量。
设计可复用的提示词模板
提示词模板决定了文案的风格和结构。
一个实用的模板至少包含:产品名称、核心卖点、目标人群、语气要求、字数限制和输出格式。
建议把模板单独存为 prompt_template.txt,方便后续修改:
你是一名广告文案撰稿人。请为以下产品生成3条不同风格的广告语:
产品:{product}
卖点:{selling_point}
目标人群:{audience}
要求:每条不超过30字,语气活泼,避免夸大宣传,不要使用“第一”“最”等绝对化词语。
输出格式:每条一行,以数字编号开头。
模板中不要写死具体产品,用 {product} 这类占位符,脚本读取 CSV 时逐行替换。
这样同一套模板可以复用到不同商品。
编写批量生成脚本
创建 generate_ads.py,读取产品表格,逐行填充模板并调用接口:
import os
import pandas as pd
from openai import OpenAI
client = OpenAI(api_key=os.getenv("AI_API_KEY"), base_url="https://api.openai.com/v1")
df = pd.read_csv("products.csv")
template = open("prompt_template.txt", encoding="utf-8").read()
results = []
for _, row in df.iterrows():
prompt = template.format(
product=row["product"],
selling_point=row["selling_point"],
audience=row["audience"]
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}],
temperature=0.8
)
text = response.choices[0].message.content.strip()
results.append({"product": row["product"], "copy": text})
pd.DataFrame(results).to_csv("output.csv", index=False)
print("生成完成,共", len(results), "条")
products.csv 至少包含 product、selling_point、audience 三列,示例:
product,selling_point,audience
便携榨汁杯,无线充电、一键清洗,上班族
护眼台灯,无频闪、三档调光,学生家长
运行 python generate_ads.py,脚本会在当前目录生成 output.csv,每条产品对应一段包含 3 条广告语的文本。
常见问题与避坑
接口报错 401:检查环境变量是否生效,在脚本中打印 os.getenv("AI_API_KEY") 确认非空。
生成内容重复或空洞:适当提高 temperature 到 0.8–1.0,或在模板中增加“每条文案从不同角度切入”的约束。
输出包含绝对化用语:广告法对“最”“第一”等有限制,模板中明确禁止后仍出现,需要在脚本里加一层关键词过滤,例如检测到“最”就重新生成或标记人工复核。
批量调用超时:一次处理几十条以上时,建议在循环中加入 time.sleep(1) 控制请求频率,或改用异步调用,避免触发接口限流。
验证生成结果是否可用
打开 output.csv,重点检查三件事:每条产品是否都有输出、文案字数是否在设定范围内、是否出现模板禁止的词语。
随机抽取几条与产品卖点对照,确认没有偏离事实。
批量生成的文案只能作为初稿,最终投放前仍需人工审核合规性和品牌调性。
如果后续需要调整风格,只改 prompt_template.txt 重新运行即可,不用改动脚本逻辑。
这样一套 AI 广告文案配置就具备了重复使用和迭代的基础。