Uploaded sanitized BC250/ROCm Repository.
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Test Z-Image-Turbo end-to-end on BC-250 via ComfyUI API.
|
||||
|
||||
1. Query available nodes from ComfyUI
|
||||
2. Build a workflow using Z-Image nodes + GGUF loader
|
||||
3. Submit and wait for image generation
|
||||
"""
|
||||
import paramiko
|
||||
import json
|
||||
import time
|
||||
|
||||
ssh = paramiko.SSHClient()
|
||||
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
ssh.connect('192.168.178.150', username='fabian', key_filename=r'C:\Users\fabia\.ssh\id_ed25519')
|
||||
|
||||
def run(cmd, timeout=300, desc=""):
|
||||
if desc:
|
||||
print(f"\n{'='*60}")
|
||||
print(f" {desc}")
|
||||
print(f"{'='*60}")
|
||||
print(f"$ {cmd}")
|
||||
_, stdout, stderr = ssh.exec_command(cmd, timeout=timeout)
|
||||
out = stdout.read().decode()
|
||||
err = stderr.read().decode()
|
||||
rc = stdout.channel.recv_exit_status()
|
||||
if out.strip():
|
||||
lines = out.strip().split('\n')
|
||||
if len(lines) > 60:
|
||||
print(f" ... ({len(lines)} lines, showing last 60)")
|
||||
print('\n'.join(lines[-60:]))
|
||||
else:
|
||||
print(out.strip())
|
||||
if err.strip():
|
||||
lines = err.strip().split('\n')
|
||||
show = lines[-20:] if len(lines) > 20 else lines
|
||||
print(f"STDERR: {chr(10).join(show)}")
|
||||
print(f" Exit code: {rc}")
|
||||
return rc, out, err
|
||||
|
||||
# 1. Check ComfyUI is still running
|
||||
run("bash -c 'ss -tlnp | grep 8188'", desc="Verify ComfyUI is running")
|
||||
|
||||
# 2. Get available node types — look for Z-Image and GGUF related nodes
|
||||
run("bash -c 'curl -s http://localhost:8188/object_info 2>/dev/null | python3 -c \""
|
||||
"import sys, json; "
|
||||
"data = json.load(sys.stdin); "
|
||||
"nodes = sorted(data.keys()); "
|
||||
"z_nodes = [n for n in nodes if any(k in n.lower() for k in [\\\"zimage\\\", \\\"z_image\\\", \\\"zi_\\\", \\\"gguf\\\", \\\"unet\\\", \\\"sampler\\\", \\\"vae\\\", \\\"clip\\\", \\\"save\\\", \\\"empty\\\", \\\"latent\\\"])]; "
|
||||
"print(\\\"Relevant nodes:\\\"); "
|
||||
"[print(f\\\" {n}\\\") for n in z_nodes]; "
|
||||
"print(f\\\"\\\\nTotal nodes: {len(nodes)}\\\"); "
|
||||
"\"'",
|
||||
desc="Query ComfyUI for available nodes")
|
||||
|
||||
# 3. Get detailed info on Z-Image and GGUF nodes
|
||||
run("bash -c 'curl -s http://localhost:8188/object_info 2>/dev/null | python3 -c \""
|
||||
"import sys, json; "
|
||||
"data = json.load(sys.stdin); "
|
||||
"targets = [k for k in data if any(t in k.lower() for t in [\\\"zi_\\\", \\\"zimage\\\", \\\"z_image\\\", \\\"gguf\\\"])]; "
|
||||
"for name in sorted(targets): "
|
||||
" info = data[name]; "
|
||||
" print(f\\\"\\\\n=== {name} ===\\\"); "
|
||||
" inp = info.get(\\\"input\\\", {}).get(\\\"required\\\", {}); "
|
||||
" print(f\\\" Required inputs:\\\"); "
|
||||
" for k, v in inp.items(): "
|
||||
" print(f\\\" {k}: {v}\\\"); "
|
||||
" opt = info.get(\\\"input\\\", {}).get(\\\"optional\\\", {}); "
|
||||
" if opt: "
|
||||
" print(f\\\" Optional inputs:\\\"); "
|
||||
" for k, v in opt.items(): "
|
||||
" print(f\\\" {k}: {v}\\\"); "
|
||||
" out = info.get(\\\"output\\\", []); "
|
||||
" print(f\\\" Outputs: {out}\\\"); "
|
||||
"\"'",
|
||||
desc="Get Z-Image and GGUF node details")
|
||||
|
||||
ssh.close()
|
||||
print("\nDone.")
|
||||
Reference in New Issue
Block a user