"""Small explicitly pinned validation jobs, isolated from production projects.""" import base64,json,sys,urllib.request,urllib.error,struct,subprocess from pathlib import Path root=Path(__file__).resolve().parent.parent cfg=json.loads((root/'model-bridge/client.json').read_text()) file=root/'integration-work/gpu-selection-smoke.json' data=json.loads(file.read_text()) if file.exists() else {'images':{},'hd':{}} def save():file.write_text(json.dumps(data,indent=2),encoding='utf-8') def request(base,path,body=None): req=urllib.request.Request(base+path,data=json.dumps(body).encode() if body is not None else None,headers={'Content-Type':'application/json','Authorization':'Bearer '+cfg['token']}) try: with urllib.request.urlopen(req,timeout=90) as r:return json.load(r) except urllib.error.HTTPError as e:raise RuntimeError(e.read().decode()) base=cfg['url'].rstrip('/');hd='http://192.168.110.111:18794' if '--submit-images' in sys.argv: for gpu in ('gpu1','gpu2','gpu3'): if gpu in data['images']:continue r=request(base,'/v1/images/generations',{'model':'qwen_image_2_1','prompt':'A photorealistic blue ceramic teacup on a wooden table, soft daylight, no text.','size':'512x512','gpu':gpu}) expected='default' if gpu=='gpu2' else gpu data['images'][gpu]={'id':r['task_id'],'provider':r.get('provider_id'),'status':'processing'};save() assert r['provider_id']==expected,r print('Pinned image accepted:',gpu,r['provider_id']) if '--submit-hd' in sys.argv: ref='data:image/jpeg;base64,'+base64.b64encode((root/'integration-work/hd-test/static/videos/task-86_poster.jpg').read_bytes()).decode() for gpu in ('gpu1','gpu3'): if gpu in data['hd']:continue r=request(hd,'/v2/video_generation',{'model':'MiniMax-H3-VDN-H3','gpu':gpu,'resolution':'2K','ratio':'16:9','duration':4,'content':[{'type':'text','text':'A cinematic live-action mountain lake at sunrise, drifting mist, slow camera movement, no text, no dialogue.'},{'type':'image_url','role':'reference_image','image_url':{'url':ref}}]}) data['hd'][gpu]={'id':r['task_id'],'provider':r.get('provider_id'),'status':'processing'};save() assert r['provider_id']==gpu,r print('Pinned 2K accepted:',gpu,r['provider_id']) if '--poll' in sys.argv: for group,rows in data.items(): for gpu,item in rows.items(): if item['status']=='completed':continue if group=='images': r=request(base,'/v1/images/task/'+item['id']);status=r['status'];url=r.get('image_url') else: r=request(hd,'/v2/query/video_generation/'+item['id'])['task'];status={'succeeded':'completed'}.get(r['status'],r['status']);url=(r.get('content') or {}).get('url') item['status']=status if status=='completed' and url: target=root/'integration-work'/('pinned-'+group+'-'+gpu+('.png' if group=='images' else '.mp4')) with urllib.request.urlopen(url,timeout=90) as response:target.write_bytes(response.read()) if group=='images': content=target.read_bytes();assert content.startswith(b'\x89PNG\r\n\x1a\n');dims=list(struct.unpack('>II',content[16:24]));assert dims==[512,512] else: info=json.loads(subprocess.check_output([str(root/'HuobaoDrama/resources/bin/ffprobe.exe'),'-v','error','-show_streams','-of','json',str(target)],creationflags=0x08000000));v=next(s for s in info['streams'] if s['codec_type']=='video');dims=[v['width'],v['height']];assert dims==[2560,1440] item.update(file=str(target),dimensions=dims) if r.get('error'):item['error']=r['error'] save() print(json.dumps(data,ensure_ascii=False))