fix(ai): 图片创作自由模式改用 _FREE_VARIATIONS,第2张起不再凭空出广告文案

纯文生图同批多张时复用了套图的 _COVER_VARIATIONS,其中"卖点文案分区/
留出标题价签区"等指令让模型在第2张起自己画出护肤广告文案。自由模式
新建 _FREE_VARIATIONS(只换视角/景别/光线/机位),并显式禁止画面加任何
文字/卖点/标题/价签。套图 mode=cover 仍用 _COVER_VARIATIONS,不受影响。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
zyc
2026-06-30 13:34:44 +08:00
co-authored by Claude Opus 4.8
parent 4d2b9343b3
commit a020a3153a
+15 -1
View File
@@ -979,6 +979,17 @@ _COVER_VARIATIONS = [
"本张:促销封面版式,留出标题/价签区,高对比配色,强视觉冲击构图",
]
# 图片创作「自由模式」专用变体:用户没要广告,只是想要同一想法的不同张。
# 只换视角/景别/光线/机位,严禁加任何文字、卖点、标题、价签(那是套图 _COVER_VARIATIONS 的活)。
# 复用套图变体会让第 2 张起凭空长出护肤广告文案(PMC 自由模式反馈)。
_FREE_VARIATIONS = [
"换一个视角与构图",
"换一种镜头景别(近景 / 中景 / 远景任选其一)与光线氛围",
"换一个拍摄角度和背景环境,主体保持不变",
"换一种构图与色调,画面更有层次",
"调整主体在画面中的位置与景深,换个机位",
]
# 平台套图优化版(对照「平台套图线上提示词优化版.md」):平台差异 + slot 版式 + 低信息密度上限。
# 平台 id 用规范化 key(前端 dy/tb… 已在 PLATFORM_ID_MAP 里映射成这些 canonical key)。
_PLATFORM_NAMES = {
@@ -2428,9 +2439,12 @@ def run_standalone_image_task(*, task_id: str) -> None:
response = provider.image_generation(model=model_config.name, endpoint=model_config.endpoint, prompt=edit_prompt, image=edit_images, size=vsize)
else:
# 纯文生图同批多张要不同构图,否则雷同(PMC#24);index>0 追加换版式指令。
# 自由模式只换构图/视角/光线、绝不加文字卖点(_FREE_VARIATIONS);
# 套图卖点版式归 mode=cover,不在这条裸文生图分支里。
gen_prompt = prompt
if index > 0:
gen_prompt = f"{prompt}{_COVER_VARIATIONS[index % len(_COVER_VARIATIONS)]},换一种构图与视角。"
variation = _FREE_VARIATIONS[index % len(_FREE_VARIATIONS)]
gen_prompt = f"{prompt}{variation},不要在画面中添加任何文字、卖点、标题或价签。"
response = provider.image_generation(model=model_config.name, endpoint=model_config.endpoint, prompt=gen_prompt)
media = provider.extract_first_media_url(response)
with transaction.atomic():