File size: 1,095 Bytes
4da87a3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
"""Run an included API workflow against a local ComfyUI server."""
import argparse
import json
from pathlib import Path
import time
from urllib.request import Request, urlopen

parser = argparse.ArgumentParser()
parser.add_argument('workflow', type=Path)
parser.add_argument('--server', default='http://127.0.0.1:8188')
args = parser.parse_args()
graph = json.loads(args.workflow.read_text(encoding='utf-8'))
request = Request(args.server + '/prompt', data=json.dumps({'prompt':graph}).encode(), headers={'Content-Type':'application/json'})
with urlopen(request, timeout=30) as response:
    prompt_id = json.load(response)['prompt_id']
print('Queued:',prompt_id,flush=True)
while True:
    with urlopen(args.server + '/history/' + prompt_id, timeout=30) as response:
        history = json.load(response).get(prompt_id)
    if history:
        print(json.dumps(history['status'],indent=2))
        print(json.dumps(history['outputs'],indent=2))
        if history['status']['status_str'] != 'success':
            raise SystemExit(1)
        break
    time.sleep(0.5)