Чтобы отправить задачу на рисование, вам необходимо использовать следующий POST-запрос:
POST /prompt
Параметры запроса:
string
Идентификатор задачи, сгенерированный клиентом для идентификации инициатора задачиjson
JSON-данные, содержащие параметры рисования{
"client_id": "уникальный_идентификатор_клиента",
"prompt": {
"width": 768,
"height": 512,
"text": "Прекрасный пейзаж"
}
}
После отправки задачи вы можете получать обновления в реальном времени через WebSocket. Подключитесь к следующему адресу:
ws://<ваш_сервер>:<порт>/ws?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)