ICE-GL-ZY001 · ENV三场景R2·摊位→宗门招生点·大气仙气缥缈 · D169
Some checks failed
自动更新代码和重启 / update-and-restart (push) Has been cancelled
CI检查 + 自动部署 / check (push) Has been cancelled
CI检查 + 自动部署 / deploy (push) Has been cancelled

This commit is contained in:
bingshuo 2026-07-06 15:21:12 +08:00
parent e3929d5348
commit 305e5493d0
14 changed files with 155 additions and 19 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>场景 ENV-002/003/004 · 百宗会·天道宗·灵霄宗</title>
<html><head><meta charset="UTF-8"><title>场景 R2 · 摊位→招生点·大气仙气缥缈</title>
<style>
body{background:#1a1a1a;color:#ccc;font-family:sans-serif;margin:20px}
h2{color:#fff;margin:25px 0 5px;border-top:1px solid #444;padding-top:15px}
@ -10,30 +10,30 @@ h2:first-of-type{border:none;padding:0}
.card img{width:100%;max-height:500px;object-fit:contain}
.card p{margin:8px 0 0;font-size:13px;color:#aaa}
</style></head><body>
<h2>ENV-002 百宗会广场高空俯瞰</h2>
<p class="sub">人山人海·宗门招牌·御剑流光·修仙盛会</p>
<h2>ENV-002 R2 · 百宗会招生广场·大气史诗</h2>
<p class="sub">V1→R2: 集市摊位→宗门招生殿阵列·仙云翻涌·恢弘史诗</p>
<div class="grid">
<div class="card"><img src="ENV-002-V1-candidate-01-1440x2560.png"><p>候选01 · 高空俯瞰·人山人海·招牌阵列·御剑流光</p></div>
<div class="card"><img src="ENV-002-V1-candidate-02-1440x2560.png"><p>候选02 · 云端俯视·万人集会·飞檐帐篷·仙鹤远山</p></div>
<div class="card"><img src="ENV-002-V1-candidate-03-1440x2560.png"><p>候选03 · 高空全景·密集人流·各宗招牌灵气环绕</p></div>
<div class="card"><img src="ENV-002-V1-candidate-04-1440x2560.png"><p>候选04 · 广角大远景·层叠宗门·人潮涌动·史诗构图</p></div>
<div class="card"><img src="ENV-002-R2-candidate-01-1440x2560.png"><p>候选01 · 仙云翻涌如海·招生殿星罗棋布·御剑流光穿梭</p></div>
<div class="card"><img src="ENV-002-R2-candidate-02-1440x2560.png"><p>候选02 · 招生殿宇阵列·灵云蒸腾·仙鹤群飞·仙气扑面</p></div>
<div class="card"><img src="ENV-002-R2-candidate-03-1440x2560.png"><p>候选03 · 云海之上招生处若隐若现·灵光流转·星河流动</p></div>
<div class="card"><img src="ENV-002-R2-candidate-04-1440x2560.png"><p>候选04 · 千宗万派招生殿·仙雾缭绕如仙境·史诗构图</p></div>
</div>
<h2>ENV-003 天道宗摊位 · 角落破旧</h2>
<p class="sub">角落位置·杆挂牌匾+广告牌·灵木桌青布·冷寂清雅</p>
<h2>ENV-003 R2 · 天道宗招生点·角落破旧</h2>
<p class="sub">不是摊位·是天道宗唯一的招生报名处·一牌一桌一广告牌</p>
<div class="grid">
<div class="card"><img src="ENV-003-V1-candidate-01-1440x2560.png"><p>候选01 · 破旧摊位·牌匾广告牌清晰·灵木桌青布·冷寂</p></div>
<div class="card"><img src="ENV-003-V1-candidate-02-1440x2560.png"><p>候选02 · 角落摊位·牌匾广告牌左右·远焦豪华宗门对比</p></div>
<div class="card"><img src="ENV-003-V1-candidate-03-1440x2560.png"><p>候选03 · 中近景·空灵木台·牌匾悬空·冷色调清寂</p></div>
<div class="card"><img src="ENV-003-V1-candidate-04-1440x2560.png"><p>候选04 · 最角落·破败冷清·虚化豪华宗门·电影感</p></div>
<div class="card"><img src="ENV-003-R2-candidate-01-1440x2560.png"><p>候选01 · 破旧牌匾+广告牌+灵木报名台·孤零零无人</p></div>
<div class="card"><img src="ENV-003-R2-candidate-02-1440x2560.png"><p>候选02 · 一杆牌匾一桌一牌·冷清报名处·远焦豪华殿</p></div>
<div class="card"><img src="ENV-003-R2-candidate-03-1440x2560.png"><p>候选03 · 破木牌匾悬空·灵木台青布·修仙界最冷清报名处</p></div>
<div class="card"><img src="ENV-003-R2-candidate-04-1440x2560.png"><p>候选04 · 简陋到极致·虚化远方豪华殿·冷雅仙侠电影感</p></div>
</div>
<h2>ENV-004 灵霄宗摊位 · 气派华丽</h2>
<p class="sub">鎏金牌匾·豪华帐篷·修仙者排队·灵光流转</p>
<h2>ENV-004 R2 · 灵霄宗招生殿·气派宏伟</h2>
<p class="sub">不是摊位·是正式招生大殿·飞檐楼阁·汉白玉台阶·仙气缥缈</p>
<div class="grid">
<div class="card"><img src="ENV-004-V1-candidate-01-1440x2560.png"><p>候选01 · 鎏金牌匾·丝绸帐篷·修仙者长队·灵光点缀</p></div>
<div class="card"><img src="ENV-004-V1-candidate-02-1440x2560.png"><p>候选02 · 紫檀桌案灵石法器·排队人群·华贵灵光</p></div>
<div class="card"><img src="ENV-004-V1-candidate-03-1440x2560.png"><p>候选03 · 黄金位置·鎏金招牌·豪华帐篷·人群涌动</p></div>
<div class="card"><img src="ENV-004-V1-candidate-04-1440x2560.png"><p>候选04 · 灵光流转仙气浓郁·丝绸帷幕·队伍排长</p></div>
<div class="card"><img src="ENV-004-R2-candidate-01-1440x2560.png"><p>候选01 · 飞檐三层楼阁·鎏金牌匾·汉白玉台阶·排队蜿蜒</p></div>
<div class="card"><img src="ENV-004-R2-candidate-02-1440x2560.png"><p>候选02 · 紫檀案台执事正坐·丝绸垂幔·庄严肃穆</p></div>
<div class="card"><img src="ENV-004-R2-candidate-03-1440x2560.png"><p>候选03 · 三层飞檐大殿灵光环绕·数百修仙者排队·大气磅礴</p></div>
<div class="card"><img src="ENV-004-R2-candidate-04-1440x2560.png"><p>候选04 · 飞檐翘角·排队如龙·灵石法阵灵光·仙气缥缈</p></div>
</div>
</body></html>

View File

@ -0,0 +1,136 @@
#!/usr/bin/env python3
"""ENV-002/003/004 R2 · 摊位→宗门招生点 · 大气仙气缥缈"""
import os, sys, json, time, subprocess
from pathlib import Path
ROOT = Path('D:/WorkBuddy/guanghulab/video-ai-system')
env = {}
for line in open(ROOT/".env"):
line = line.strip()
if not line or line.startswith("#"): continue
if "=" in line:
k, v = line.split("=", 1)
env[k.strip()] = v.strip()
AK = env["JIMENG_API_KEY"]
URL = env["JIMENG_BASE_URL"]
MODEL = "doubao-seedream-4-0-250828"
SCENES = {
"ENV-002": {
"name": "百宗会招生广场·高空俯瞰",
"prompt": """中国修仙世界百宗会招生广场,极致大远景高空俯瞰。
各大宗门招生点阵列排布在仙山环抱的巨型广场上仙气缥缈从山谷间涌来如云海翻腾
鎏金牌匾灵光法阵飞檐楼阁各自成殿每个宗门招生处都是一座小型宫殿而非普通摊位
御剑修者化作无数流光穿梭于招生点之间仙鹤成群翱翔于云海之上
远处群山巍峨灵气蒸腾整个场面恢弘大气仙风扑面
3D真人向写实渲染光影清冷自然宏大不良人硬核写实风格与CHAR-003苏白V3-R4同一风格体系电影级史诗构图""",
"neg": """集市摊位,地摊,菜市场,小吃摊,杂货铺,庙会,赶集,路边摊,小摊小贩。
卡通渲染塑料感游戏低模页游风光污染土味特效
现代建筑高楼大厦现代广场水泥地柏油路
冷清无人空旷孤寂场景
任何文字汉字
人物特写单人占主体
白天正午过曝画面扁平""",
"variants": [
"极致高空俯瞰,仙云翻涌如海,宗门招生宫殿星罗棋布,御剑流光万千穿梭,恢弘史诗级修仙界招生大会",
"鸟瞰修仙盛会,各宗招生殿宇阵列仙山环抱,灵云蒸腾仙鹤群飞,宏大场景仙气扑面,电影级大场面",
"广角高空远眺百宗会,云海之上招生处若隐若现,灵光流转山脉间,修仙者御剑如星河流动",
"极远高空修仙招生广场全景,千宗万派招生殿林立,仙雾缭绕如仙境,史诗级修仙世界观宏大场景"
]
},
"ENV-003": {
"name": "天道宗招生点·角落破旧",
"prompt": """中国修仙世界百宗会角落,天道宗简陋招生点中近景。
不是集市摊位而是天道宗唯一的招生报名处一根旧仙木杆悬挂刻有天道宗三字的破旧牌匾
旁边绳系A架粗麻广告牌竖立一张粗糙灵木桌铺青布就是全部的报名台桌上空无一物没有一个人来报名
角落位置荒凉冷清远处其他宗门的豪华招生殿隐约可见仙雾在脚边缭绕
画面突出破败对比别人是金光闪闪的招生殿天道宗只有一块破牌匾和一张破桌子
3D真人向写实渲染清淡冷雅色调不良人硬核写实风格与苏白V3-R4同一体系电影感构图""",
"neg": """集市摊位,地摊,菜市场,小吃铺,杂货铺,庙会摊位,路边摆摊,小贩推车。
卡通渲染塑料感游戏低模页游风光污染
现代建筑现代招牌现代家具
任何人人物报名者围观群众
鲜艳暖黄色调金黄阳光高饱和度
任何无关汉字其他宗门名称""",
"variants": [
"天道宗角落招生点,破旧牌匾广告牌灵木报名台,孤零零无人,仙雾缭绕远焦豪华招生殿对比强烈",
"冷清天道宗招生报名处,一杆牌匾一桌一广告牌就是全部家当,脚下仙雾远焦金光,清寂氛围",
"天道宗最寒酸招生点,破木牌匾悬空广告牌旁立,灵木台青布空无一物,修仙界最冷清的报名处",
"角落天道宗招生点中景,牌匾广告牌报名台简陋到极致,虚化远方豪华招生殿,冷雅仙侠电影感"
]
},
"ENV-004": {
"name": "灵霄宗招生殿·气派宏伟",
"prompt": """中国修仙世界百宗会,灵霄宗招生殿中全景。
不是集市摊位而是灵霄宗正式的招生报名大殿飞檐翘角三层楼阁鎏金牌匾灵光流转庄严肃穆
宽阔的汉白玉台阶从大殿延伸至广场排队报名的修仙者队伍蜿蜒有序殿前灵石法阵散发柔和灵光
大殿两侧丝绸垂幔随风轻扬紫檀木报名案台排列整齐宗门执事正襟危坐
整个招生殿仙气浓郁灵光环绕大气磅礴尽显顶级宗门气派
3D真人向写实渲染清冷中有灵气光晕不良人硬核写实风格与苏白V3-R4同一风格体系电影级画面""",
"neg": """集市摊位,地摊,菜市场,小吃部,杂货铺,庙会,路边摊,小摊,简陋摊点,临时帐篷,简易大棚。
卡通渲染塑料感游戏低模页游风光污染过度土味光效
现代建筑现代办公楼现代排队栏杆现代招牌
空无一人冷清单薄
暴发户土黄金过度鲜艳粗俗俗气装饰过于明亮刺眼
任何无关文字""",
"variants": [
"灵霄宗招生大殿全景,飞檐楼阁三层鎏金牌匾,汉白玉台阶排队蜿蜒,灵石法阵灵光流转,顶级宗门气派",
"灵霄宗招生殿中景,紫檀案台执事正坐,丝绸垂幔飘动,殿前修仙者长队庄严肃穆,仙气浓郁",
"恢弘灵霄宗招生处,三层飞檐大殿灵光环绕,数百修仙者排队报名,牌匾鎏金流转,大气磅礴",
"灵霄宗正式招生殿,飞檐翘角庄严肃穆,排队修仙者蜿蜒如龙,灵石法器灵光点缀仙气缥缈,电影级构图"
]
}
}
SEEDS = [111, 222, 333, 444]
def gen(prompt, neg, seed):
body = json.dumps({"model": MODEL, "prompt": prompt, "negative_prompt": neg, "size": "1440x2560", "n": 1, "seed": seed})
r = subprocess.run(["curl", "-s", "-m", "120", "--noproxy", "*", "-X", "POST", f"{URL}/images/generations",
"-H", f"Authorization: Bearer {AK}", "-H", "Content-Type: application/json", "-d", body],
capture_output=True, text=True, timeout=130)
try:
return json.loads(r.stdout)["data"][0].get("url")
except:
print(f" API err: {r.stdout[:200]}")
return None
def dl(url, dst):
Path(dst).parent.mkdir(parents=True, exist_ok=True)
subprocess.run(["curl", "-s", "-m", "120", "-L", "--noproxy", "*", "-o", dst, url], capture_output=True, timeout=130)
return os.path.exists(dst) and os.path.getsize(dst) > 1024
ts = time.strftime("%Y%m%d-%H%M%S")
all_meta = {}
for env_id, cfg in SCENES.items():
print(f"\n{'='*40}\n{env_id} · {cfg['name']}\n{'='*40}")
OUT = ROOT / f"assets/candidates/D169-VA-05-001/{env_id}/R2"
OUT.mkdir(parents=True, exist_ok=True)
results = []
for i, seed in enumerate(SEEDS):
var = cfg["variants"][i]
full = f"{cfg['prompt']} {var}"
print(f" [{i+1}/4] seed={seed}", flush=True)
url = gen(full, cfg["neg"], seed)
if not url:
results.append({"c": i+1, "ok": False, "err": "api"})
continue
dst = OUT / f"{env_id}-R2-candidate-{i+1:02d}-1440x2560.png"
if not dl(url, str(dst)):
results.append({"c": i+1, "ok": False, "err": "dl"})
continue
results.append({"c": i+1, "ok": True, "raw": str(dst), "seed": seed})
print(f" -> {dst.name}")
time.sleep(3)
ok = sum(1 for r in results if r["ok"])
print(f" {env_id} 完成: {ok}/4")
all_meta[env_id] = {"name": cfg["name"], "ok": ok, "results": results}
json.dump({"spec": f"VA-05-001-{env_id}-R2", "ts": ts, **all_meta[env_id], "model": MODEL, "engine": "Seedream"},
open(OUT/"generation-meta.json","w",encoding="utf-8"), ensure_ascii=False, indent=2)
print(f"\n{'='*40}")
for env_id, m in all_meta.items():
print(f" {env_id} · {m['name']}: {m['ok']}/4")
print(f"{'='*40}")