Pour soumettre une tâche de dessin, vous devez utiliser la demande POST suivante :
POST /prompt
Paramètres de la requête :
string
Un ID de tâche généré par le client pour identifier l'initiateur de la tâchejson
Données JSON contenant les paramètres de dessin{
"client_id": "unique_client_id",
"prompt": {
"width": 768,
"height": 512,
"text": "Un beau paysage"
}
}
Après avoir soumis la tâche, vous pouvez recevoir des mises à jour en temps réel via WebSocket. Connectez-vous à l'adresse suivante :
ws://<votre_serveur>:<port>/ws?client_id=unique_client_id
Une fois connecté, vous recevrez des informations sur l'état d'exécution de la tâche, les progrès, etc.
Voici un exemple de code utilisant Python et la bibliothèque client WebSocket pour soumettre une demande de dessin et recevoir les résultats :
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"Reçu : {message}")
ws = websocket.WebSocketApp(f"ws://{server_address}/ws?client_id={client_id}",
on_message=on_message)
ws.run_forever()
# Soumettre la demande de dessin
prompt_data = {
"width": 768,
"height": 512,
"text": "Un beau paysage"
}
queue_prompt(prompt_data)