# -*- coding: utf-8 -*- 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() PROMPT = """严格保持参考图的渲染风格、材质质感、光照逻辑与电影级景深,只更换场景内容,不复制参考图的具体构图;16:9电影级大远景,空场景,画面中没有任何人物、士兵、马匹、动物、旗帜、幡、旌旗、军旗、文字、牌匾文字、徽记、现代物品;汉代形制1:1还原,夯土/木构/青铜/铁器材质,体积光与自然尘雾,高对比度光影层次,画面通透无死黑,细节丰富但主体清晰。 游戏古战场演武场:干燥的黄土战场,地面有隐约可见的八格扇形演武标线/石质刻度(只画几何刻度,不写数字文字),中央留出大面积技能展示空地,远处是残破夯土城墙与烽烟台,地平线上低山与冷色天空,空气中有少量金色尘粒。日间金灰光,高对比但通透,宽银幕电影感,胶片颗粒,边缘暗角。""" payload = { "client_namespace": "lubu_pv_scene", "idempotency_key": "lubu_scene_G1_game_20261027_v2_model86", "project_id": 30, "model_config_id": 86, "task_type": "image", "references": [{"source_type": "media_asset", "id": 9051, "asset_type": "image", "role": "reference_image"}], "parameters": {"prompt": PROMPT, "aspect_ratio": "16:9", "image_size": "4K", "quality": "max", "output_format": "png", "n": 1, "moderation": "low"}, } 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("task_id=", o.get("task", {}).get("id"), "status=", o.get("task", {}).get("status")) except urllib.error.HTTPError as e: print("HTTP", e.code, e.read().decode("utf-8")[:700])