Щоб подати завдання для малювання, вам потрібно використати наступний POST запит:
POST /prompt
Параметри запиту:
string
Ідентифікатор завдання, згенерований клієнтом для ідентифікації ініціатора завданняjson
JSON дані, що містять параметри малювання{
"client_id": "унікальний_client_id",
"prompt": {
"width": 768,
"height": 512,
"text": "Красива пейзаж"
}
}
Після подання завдання ви можете отримувати оновлення в режимі реального часу через WebSocket. Підключіться до наступної адреси:
ws://<ваш_сервер>:<порт>/ws?client_id=унікальний_client_id
Після підключення ви отримаєте інформацію про статус виконання завдання, прогрес тощо.
Нижче наведений приклад коду, що використовує Python та бібліотеку WebSocket клієнта для подання запиту на малювання та отримання результатів:
import websocket
import json
import uuid
server_address = "127.0.0.1:8188"
client_id = str(uuid.uuid4())
def queue_prompt(prompt):
p = {"client_id": client_id, "prompt": prompt}
data = json.dumps(p).encode('utf-8')
req = urllib.request.Request(f"http://{server_address}/prompt", data=data)
response = urllib.request.urlopen(req)
return json.loads(response.read())
def on_message(ws, message):
print(f"Отримано: {message}")
ws = websocket.WebSocketApp(f"ws://{server_address}/ws?client_id={client_id}",
on_message=on_message)
ws.run_forever()
# Подати запит на малювання
prompt_data = {
"width": 768,
"height": 512,
"text": "Красива пейзаж"
}
queue_prompt(prompt_data)