AI商业海报设计不是“输入一句话生成一张图”那么简单。商业海报必须满足品牌一致性、信息层级、转化引导与合规要求。专业做法是:可控生成 + 精准排版 + 多端适配。本文拆解完整工作流,并给出可运行的 Python 代码。
商业海报提示词应结构化:主体 + 场景 + 风格 + 光影 + 色彩 + 构图 + 画质 + 负面。例如:
商业护肤海报背景,产品位于画面下方三分之一,上方大面积留白,极简高级,柔和自然光,浅灰与香槟金,影棚质感,无文字,无水印,超清,4k。负面:文字、水印、畸形、杂乱、低分辨率。
安装依赖:pip install openai pillow requests。以下代码调用 DALL·E 3 生成竖版背景,再用 Pillow 完成专业排版。
import os, io, requests
from openai import OpenAI
from PIL import Image, ImageDraw, ImageFont
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def generate_bg(prompt):
resp = client.images.generate(
model="dall-e-3",
prompt=prompt,
size="1024x1792", # 竖版,接近 9:16
quality="hd",
n=1
)
url = resp.data[0].url
return Image.open(io.BytesIO(requests.get(url).content)).convert("RGB")
prompt = ("商业护肤海报背景,产品位于画面下方三分之一,上方大面积留白,"
"极简高级,柔和自然光,浅灰与香槟金,影棚质感,"
"无文字,无水印,超清,4k")
bg = generate_bg(prompt).resize((1080, 1920))
def draw_poster(bg, title, subtitle, cta, brand,
font_path="SourceHanSansCN-Bold.otf"):
img = bg.copy()
draw = ImageDraw.Draw(img)
W, H = img.size
title_font = ImageFont.truetype(font_path, 88)
sub_font = ImageFont.truetype(font_path, 42)
cta_font = ImageFont.truetype(font_path, 38)
brand_font = ImageFont.truetype(font_path, 32)
# 安全区:左右 8%,顶部 10%,底部 12%
margin = int(W * 0.08)
y = int(H * 0.12)
def wrap(text, font, max_w):
lines, cur = [], ""
for ch in text:
if draw.textlength(cur + ch, font=font) <= max_w:
cur += ch
else:
lines.append(cur); cur = ch
if cur: lines.append(cur)
return lines
for line in wrap(title, title_font, W - margin * 2):
draw.text((margin, y), line, font=title_font, fill="#1A1A1A")
y += 110
y += 20
for line in wrap(subtitle, sub_font, W - margin * 2):
draw.text((margin, y), line, font=sub_font, fill="#555555")
y += 60
# CTA 按钮
btn_w, btn_h = 360, 96
btn_x, btn_y = margin, H - int(H * 0.18)
draw.rounded_rectangle([btn_x, btn_y, btn_x + btn_w, btn_y + btn_h],
radius=48, fill="#C9A96A")
draw.text((btn_x + 48, btn_y + 28), cta, font=cta_font, fill="#FFFFFF")
draw.text((margin, H - int(H * 0.08)), brand,
font=brand_font, fill="#1A1A1A")
return img
poster = draw_poster(bg, "焕活新肌", "28天见证透亮光感",
"立即体验", "AURORA")
poster.save("poster_9x16.jpg", quality=95)
# 多尺寸导出
for ratio, size in {"1:1": (1080, 1080), "16:9": (1920, 1080)}.items():
poster.resize(size).save(f"poster_{ratio.replace(':','x')}.jpg",
quality=95)AI商业海报设计是策略、生成、排版、合规的系统工程。代码把重复劳动自动化,设计师聚焦创意与品牌调性,才能稳定产出可交付的商业作品。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。