# -*- coding: utf-8 -*- """Sentence-8~11: 游戏段。S8-8 游戏化亮相 + 句9 三镜 + 句10 机制演示 7 镜 + S11-1 定妆. 游戏段语法按 sanguo-game-combat-pv:高饱和、UI 允许、机制可数。场景 G1=9145。""" import json, ssl, pathlib, urllib.request, urllib.error BASE = "https://192.168.31.88:8042" CFG = pathlib.Path(r"C:\Users\admin\.zcode\cli\config.json") pat = json.loads(CFG.read_text(encoding="utf-8-sig"))["mcp"]["servers"]["sorb"]["env"]["SORB_PAT"] ctx = ssl._create_unverified_context() CHAR = {"source_type": "media_asset", "id": 9089, "asset_type": "image", "role": "reference_image"} HALBERD = {"source_type": "media_asset", "id": 9057, "asset_type": "image", "role": "reference_image"} GAME = {"source_type": "media_asset", "id": 9145, "asset_type": "image", "role": "reference_image"} GSTYLE = "3D超写实三国游戏CG渲染,高饱和高对比游戏画质,金色尘粒与体积光,铠甲金属高反射,画面通透无死黑,动作游戏宣发大片质感,16:9,无文字无水印无旗帜(UI与伤害数字全部后期另加,画面内不生成任何文字数字)。" # S8-8 游戏渲染吕布亮相(收黑后半拍转游戏质感) S8_8 = """【锁死吕布】吕布按参考图1:黑高束发、金色凤翅冠、双红翎、兽面吞金甲、红披风;方天画戟按参考图2。参考图只锁造型,构图全新。 【画面】游戏渲染亮相:吕布持戟横立中央,戟刃斜指天,红披风扬起定型,脚下黄土战场金色尘粒腾起成环;同人物造型但渲染质感切换为高饱和游戏CG——铠甲金属反射更强、色彩更饱和、光比更大;背景按参考图3游戏古战场演武场(八格扇形地面刻度隐约可见),低角度仰拍英雄亮相构图。""" + GSTYLE # S9-1 游戏渲染吕布持戟而立,敌军三面围拢 S9_1 = """【锁死吕布】吕布按参考图1:黑高束发、金色凤翅冠、双红翎、兽面吞金甲、红披风;方天画戟按参考图2。参考图只锁造型,构图全新。 【画面】游戏战场中景:吕布持戟而立于画面中央,三面(左、右、远处)玄色敌军持盾围拢逼近,兵刃反光连成冷光带;吕布不动如山,红披风微扬,戟尖斜垂。镜头环绕缓移(人物自身不旋转)。""" + GSTYLE # S9-2 特写:戟刃泛红光蓄势(大招预备态) S9_2 = """【锁死兵器】方天画戟按参考图1:月牙双刃+中央枪尖+戟尾配重、红色戟缨。参考图只锁兵器形制,构图全新。 【画面】微距特写缓推:戟刃特写,月牙双刃边缘泛起一层薄薄的暗红蓄力光晕(克制的能量感、非发光体爆炸),红色戟缨无风自动,戟杆上细微纹路清晰;背景虚化战场冷青。""" + GSTYLE # S10-1 普攻①:戟横挥,敌举盾格挡火星 S10_1 = """【锁死吕布】吕布按参考图1:黑高束发、金色凤翅冠、双红翎、兽面吞金甲、红披风;方天画戟按参考图2。参考图只锁造型,构图全新。 【画面】近景侧跟:吕布第一击普攻——画戟自右向左横挥,画面左侧敌兵举盾格挡,戟刃扫过盾面迸出一片火星(实体颗粒非发光体),盾面留下斜向划痕;动作干脆利落,一击即收。""" + GSTYLE # S10-2 普攻②:反手斩,甲片飞溅 S10_2 = """【锁死吕布】吕布按参考图1:黑高束发、金色凤翅冠、双红翎、兽面吞金甲、红披风;方天画戟按参考图2。参考图只锁造型,构图全新。 【画面】近景侧跟轻震:吕布第二击普攻——反手回斩,戟刃自左下向右上撩起,敌兵肩甲被削飞、甲片与链环迸溅成弧(实体碎片),敌兵重心后仰;金色尘粒被戟风带起。""" + GSTYLE # S10-3 普攻③:戟尾撞击,敌后退 S10_3 = """【锁死吕布】吕布按参考图1:黑高束发、金色凤翅冠、双红翎、兽面吞金甲、红披风;方天画戟按参考图2。参考图只锁兵器形制,构图全新。 【画面】贴地低机位:吕布第三击普攻——不挥刃,戟尾配重直捣前方敌兵胸甲,闷击震感、地面尘土被冲击波掀起一圈(实体尘土),敌兵双脚离地向后滑退;吕布握戟双手微微震颤蓄力。""" + GSTYLE # S10-4 普攻④:8格扇形气浪横扫,成排敌兵倒下 S10_4 = """【锁死吕布】吕布按参考图1:黑高束发、金色凤翅冠、双红翎、兽面吞金甲、红披风;方天画戟按参考图2。参考图只锁造型,构图全新。 【画面】中景低空俯冲:吕布第四击——画戟贴地全力横扫一周,以他为圆心、前方八格扇形范围内掀起环形气浪与尘土墙(实体尘土气浪、非发光特效),扇形内成排敌兵被扫倒、向四周翻滚跌出数步之外;地面扇形刻度被尘浪揭开。全片视觉高潮之一。""" + GSTYLE # S10-5 特写:敌方护甲裂纹蔓延 S10_5 = """【画面】微距特写:一面倒地敌兵的玄色胸甲特写,戟刃留下的裂痕从中心向四周蔓延、甲片崩开细缝,缝间渗出尘土;裂纹蔓延的动势一瞬定格。伤害的物理视觉强化,无血。""" + GSTYLE # S10-7 特写收:戟尖挑起,吕布眼神(普攻也能爆的爽点) S10_7 = """【锁死吕布】吕布按参考图1:剑眉浓黑上扬、眼窝深、眼神锐利、鼻梁高挺,黑高束发与凤翅冠、双红翎入画;方天画戟按参考图2。参考图只锁造型,构图全新。 【画面】近景缓推定格收尾:吕布收戟而立,戟尖斜挑指天,尘埃缓缓落定;他直视镜头方向,嘴角一缕极轻的笑意,眼神是"普攻也能爆发"的自信爽点;红披风缓缓落定,双翎最后一颤。皮肤与铠甲为细腻CG材质质感。""" + GSTYLE # S11-1 定妆:游戏渲染吕布戟拄地 S11_1 = """【锁死吕布】吕布按参考图1:黑高束发、金色凤翅冠、双红翎、兽面吞金甲、红披风、腰部干净高级灰皮毛裙边;方天画戟按参考图2。参考图只锁造型,构图全新。 【画面】定妆中景固定机位:死寂定格——战场尘埃半落,吕布单手拄戟立于画面中央,戟尾拄地、戟刃朝天,身姿挺直如山;金色尘粒在逆光中缓缓悬浮,四周敌影尽数伏地虚化;一切安静,只有披风一角轻动。游戏宣发定妆质感。""" + GSTYLE def submit(key, prompt, refs): payload = { "client_namespace": "lubu_pv_board", "idempotency_key": key, "project_id": 30, "model_config_id": 62, "task_type": "image", "references": refs, "parameters": {"prompt": prompt, "aspect_ratio": "16:9", "image_size": "2K", "output_format": "png", "watermark": False}, } data = json.dumps(payload, ensure_ascii=False).encode("utf-8") req = urllib.request.Request(BASE + "/api/external/v1/tasks", data=data, method="POST", headers={"Authorization": "Bearer " + pat, "Content-Type": "application/json"}) try: with urllib.request.urlopen(req, context=ctx, timeout=120) as r: o = json.loads(r.read().decode("utf-8")) print(key, "task_id=", o.get("task", {}).get("id"), "status=", o.get("task", {}).get("status")) except urllib.error.HTTPError as e: print(key, "HTTP", e.code, e.read().decode("utf-8")[:500]) submit("lubu_s8_gamereveal_20261028_v1", S8_8, [CHAR, HALBERD, GAME]) submit("lubu_s9_surround_20261028_v1", S9_1, [CHAR, HALBERD, GAME]) submit("lubu_s9_halberdglow_20261028_v1", S9_2, [HALBERD, GAME]) submit("lubu_s10_hit1_20261028_v1", S10_1, [CHAR, HALBERD, GAME]) submit("lubu_s10_hit2_20261028_v1", S10_2, [CHAR, HALBERD, GAME]) submit("lubu_s10_hit3_20261028_v1", S10_3, [CHAR, HALBERD, GAME]) submit("lubu_s10_hit4_sweep_20261028_v1", S10_4, [CHAR, HALBERD, GAME]) submit("lubu_s10_crack_20261028_v1", S10_5, [GAME]) submit("lubu_s10_finale_20261028_v1", S10_7, [CHAR, HALBERD, GAME]) submit("lubu_s11_pinup_20261028_v1", S11_1, [CHAR, HALBERD, GAME])