لتقديم مهمة رسم، تحتاج إلى استخدام طلب POST التالي:
POST /prompt
معلمات الطلب:
string
معرف مهمة تم إنشاؤه بواسطة العميل لتحديد مُبادر المهمةjson
بيانات JSON تحتوي على معلمات الرسم{
"client_id": "معرف_عميل_فريد",
"prompt": {
"width": 768,
"height": 512,
"text": "منظر طبيعي جميل"
}
}
بعد تقديم المهمة، يمكنك تلقي تحديثات في الوقت الحقيقي عبر WebSocket. اتصل بالعنوان التالي:
ws://<خادمك>:<المنفذ>/ws?client_id=معرف_عميل_فريد
بمجرد الاتصال، ستتلقى معلومات حول حالة تنفيذ المهمة، والتقدم، وما إلى ذلك.
فيما يلي مثال على كود باستخدام بايثون ومكتبة عميل 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"Received: {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)