Spaces:
Runtime error
Runtime error
Download src/service/ws_protocol.py from emericklaf/diffusion_model_app: direct link, hf CLI and curl.
- Browser
- Download file 1.36 kB
-
https://huggingface.co/spaces/emericklaf/diffusion_model_app/resolve/main/src/service/ws_protocol.py
- Command line
-
hf download hf://spaces/emericklaf/diffusion_model_app/src/service/ws_protocol.py
-
curl -L -o ws_protocol.py https://huggingface.co/spaces/emericklaf/diffusion_model_app/resolve/main/src/service/ws_protocol.py
1.36 kB
| """ | |
| Schemas Pydantic du protocole WebSocket /ws/edit. | |
| Deux messages client -> serveur (protocole a 2 phases, cf. decision UX | |
| "apercu du masque avant generation") : | |
| 1. LocateRequest -> le serveur repond MaskReadyEvent (ou ErrorEvent) | |
| 2. ConfirmRequest -> le serveur repond une serie de ProgressEvent puis un | |
| ResultEvent (ou ErrorEvent) | |
| Une connexion WebSocket = une session d'edition (l'etat image+masque entre | |
| les deux phases vit le temps de la connexion, cote serveur). | |
| """ | |
| from typing import List, Literal, Optional | |
| from pydantic import BaseModel | |
| class LocateRequest(BaseModel): | |
| type: Literal["locate"] = "locate" | |
| image_b64: str | |
| text_query: str | |
| class ConfirmRequest(BaseModel): | |
| type: Literal["confirm"] = "confirm" | |
| prompt: str | |
| negative_prompt: str = "" | |
| steps: int = 30 | |
| guidance_scale: float = 7.5 | |
| seed: int = 42 | |
| class MaskReadyEvent(BaseModel): | |
| type: Literal["mask_ready"] = "mask_ready" | |
| mask_b64: str | |
| box: List[float] | |
| clip_confidence: float | |
| class ProgressEvent(BaseModel): | |
| type: Literal["progress"] = "progress" | |
| stage: Literal["diffusion"] = "diffusion" | |
| step: int | |
| total: int | |
| class ResultEvent(BaseModel): | |
| type: Literal["result"] = "result" | |
| image_b64: str | |
| class ErrorEvent(BaseModel): | |
| type: Literal["error"] = "error" | |
| message: str | |