From 77a49dfb456f27f3fe24b0efba34fe6dc78e593c Mon Sep 17 00:00:00 2001 From: liuwei Date: Wed, 29 Apr 2026 15:48:34 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"=E4=BC=98=E5=8C=96Dota2=E7=94=9F?= =?UTF-8?q?=E5=9B=BE=E6=8F=90=E7=A4=BA=E8=AF=8D=E4=B8=AD=E7=9A=84=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E6=96=87=E5=AD=97=E7=94=9F=E6=88=90=E7=BA=A6=E6=9D=9F?= =?UTF-8?q?\n\n-=20=E4=B8=BA=E4=B8=AD=E6=97=A5=E6=96=87=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9B=BA=E5=AE=9A=E6=A0=87=E9=A2=98=E4=B8=8E?= =?UTF-8?q?=E5=89=AF=E6=A0=87=E9=A2=98=E6=96=87=E6=A1=88=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?\n-=20=E6=94=B6=E7=B4=A7=E6=8F=90=E7=A4=BA=E8=AF=8D=EF=BC=8C?= =?UTF-8?q?=E9=99=90=E5=88=B6=E5=8F=AA=E7=94=9F=E6=88=90=E5=B0=91=E9=87=8F?= =?UTF-8?q?=E5=A4=A7=E5=AD=97=E5=B9=B6=E7=A6=81=E6=AD=A2=E5=B0=8F=E5=AD=97?= =?UTF-8?q?=E5=92=8C=E5=AF=86=E9=9B=86=E8=AF=B4=E6=98=8E\n-=20=E5=B0=86?= =?UTF-8?q?=E9=9B=B7=E8=BE=BE=E5=9B=BE=E6=96=87=E5=AD=97=E7=BA=A6=E6=9D=9F?= =?UTF-8?q?=E4=B8=BA=E7=AE=80=E7=9F=AD=E8=8B=B1=E6=96=87=E7=BC=A9=E5=86=99?= =?UTF-8?q?=E4=BB=A5=E9=99=8D=E4=BD=8E=E4=B8=AD=E6=96=87=E9=94=99=E5=AD=97?= =?UTF-8?q?=E6=A6=82=E7=8E=87"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 5881998499f02e8e3c9484ae974805de759383b6. --- scripts/generate_dota2_douyin_images.py | 76 +++---------------------- 1 file changed, 9 insertions(+), 67 deletions(-) diff --git a/scripts/generate_dota2_douyin_images.py b/scripts/generate_dota2_douyin_images.py index 2fd8df6..86103c5 100644 --- a/scripts/generate_dota2_douyin_images.py +++ b/scripts/generate_dota2_douyin_images.py @@ -223,67 +223,6 @@ def resolve_text_language(image_index: int) -> str: return DEFAULT_LANGUAGE_VARIANTS[variant_index] -def build_text_variant_spec(hero: Dict[str, str], image_index: int) -> Dict[str, str]: - """ - 为当前候选图生成更严格的文案版式约束。 - - 优化思路: - 1. 让模型只画“少量、大号、固定”的文字,减少中文错字和糊字概率; - 2. 中文版本只保留英雄名 + 一个四字短句,不再要求大量小字说明; - 3. 雷达图内部不再放复杂中文标签,只允许简短英文缩写,降低文字生成难度; - 4. 每张图给一个明确的标题/副标题组合,让模型更容易稳定复现。 - """ - hero_name_cn = hero["localized_name"] - hero_name_en = hero["english_name"].upper() - text_language = resolve_text_language(image_index) - - zh_variants = [ - { - "title": hero_name_cn, - "subtitle": "至宝觉醒", - }, - { - "title": hero_name_cn, - "subtitle": "王者降临", - }, - ] - ja_variants = [ - { - "title": hero_name_en, - "subtitle": "覚醒", - }, - { - "title": hero_name_en, - "subtitle": "降臨", - }, - ] - - if text_language == "zh": - variant = zh_variants[(image_index - 1) % len(zh_variants)] - return { - "language": "中文", - "title": variant["title"], - "subtitle": variant["subtitle"], - "text_spec": ( - f"画面里只允许出现两组大字中文,且必须准确写成:主标题“{variant['title']}”,副标题“{variant['subtitle']}”。" - "文字必须足够大、足够粗、边缘清晰、像漫画海报印刷字。" - "宁可字少,也不要出现任何小字、密集说明、段落字、模糊字、错别字。" - ), - } - - variant = ja_variants[(image_index - 1) % len(ja_variants)] - return { - "language": "日文", - "title": variant["title"], - "subtitle": variant["subtitle"], - "text_spec": ( - f"画面里只允许出现两组大字,且必须准确写成:主标题“{variant['title']}”,副标题“{variant['subtitle']}”。" - "文字必须足够大、足够粗、边缘清晰、像漫画海报印刷字。" - "宁可字少,也不要出现任何小字、密集说明、段落字、模糊字、乱码。" - ), - } - - def build_consistent_prompt(hero: Dict[str, str], image_index: int) -> str: """ 构造统一风格的提示词。 @@ -295,8 +234,13 @@ def build_consistent_prompt(hero: Dict[str, str], image_index: int) -> str: """ hero_name_cn = hero["localized_name"] hero_name_en = hero["english_name"] - text_variant = build_text_variant_spec(hero, image_index) - text_language_label = text_variant["language"] + text_language = resolve_text_language(image_index) + if text_language == "zh": + text_language_desc = "画面中的标题、副标题、能力说明文字统一使用中文排版,字体要有热血漫画海报感,禁止出现日文。" + text_language_label = "中文" + else: + text_language_desc = "画面中的标题、副标题、能力说明文字统一使用日文排版,字体要有热血漫画海报感,禁止出现中文。" + text_language_label = "日文" return f""" 请为短视频封面创作一张高完成度竖版插画,主体是 Dota2 英雄 {hero_name_cn}({hero_name_en})。 @@ -306,18 +250,16 @@ def build_consistent_prompt(hero: Dict[str, str], image_index: int) -> str: 2. 画面整体要强烈偏向 JOJO 气质:夸张肌肉与体块、强烈明暗对比、戏剧化姿势、锐利线条、张力十足的漫画分镜感、厚重阴影、速度线、压迫感构图。 3. 需要比普通日漫更偏 JOJO 风,风格统一、成熟、硬朗、华丽,视觉冲击力强。 4. 画面左下角固定放一个“能力雷达图”,用日式游戏 UI 风格表现,半透明发光面板,结构清晰。 -5. 画面中加入醒目的漫画海报式文字排版,但文字数量必须极少,只保留主标题和副标题两组大字。 +5. 画面中加入醒目的文字排版,像热血漫画标题与角色名字幕,排版要高级,不能乱码。 6. 构图固定为 9:16 竖版海报,适合抖音封面,角色居中偏上,保留底部与左下角的信息区。 7. 背景使用史诗感能量、替身感氛围、漫画速度线、粒子、光效,但不要遮挡主体脸和武器。 8. 质感统一为高细节、高完成度、商业海报、收藏级插画。 -9. {text_variant["text_spec"]} -10. 左下角的能力雷达图可以保留,但图内不要写复杂中文或复杂日文,只允许非常少量、清晰、规则的英文缩写标签,例如 ATK、DEF、SPD、MAG、ULT。 +9. {text_language_desc} 稳定性要求: 1. 全系列都保持相同的版式语言、相同的信息层级、相同的雷达图位置、相同的标题风格。 2. 当前是同一英雄的第 {image_index} 张候选图,本张必须输出{text_language_label}版本;请只在姿势、镜头角度、背景能量流向上做有限变化,不要改变整体系列风格。 3. 不要出现水印、签名、Logo、拼贴、多角色、手部崩坏、脸部畸形、文字糊成乱码。 -4. 不要生成小字,不要生成说明段落,不要生成多行密集文本,不要在画面边缘塞满看不清的字。 """.strip()