aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/api/api.py6
-rw-r--r--webui.py14
2 files changed, 9 insertions, 11 deletions
diff --git a/modules/api/api.py b/modules/api/api.py
index ce72c5ee..8781cd86 100644
--- a/modules/api/api.py
+++ b/modules/api/api.py
@@ -2,15 +2,13 @@ from modules.api.processing import StableDiffusionProcessingAPI
from modules.processing import StableDiffusionProcessingTxt2Img, process_images
import modules.shared as shared
import uvicorn
-from fastapi import FastAPI, Body, APIRouter
+from fastapi import Body, APIRouter
from fastapi.responses import JSONResponse
from pydantic import BaseModel, Field, Json
import json
import io
import base64
-app = FastAPI()
-
class TextToImageResponse(BaseModel):
images: list[str] = Field(default=None, title="Image", description="The generated image in base64 format.")
parameters: Json
@@ -18,7 +16,7 @@ class TextToImageResponse(BaseModel):
class Api:
- def __init__(self):
+ def __init__(self, app):
self.router = APIRouter()
app.add_api_route("/v1/txt2img", self.text2imgapi, methods=["POST"])
diff --git a/webui.py b/webui.py
index eeee44c3..6b55fbed 100644
--- a/webui.py
+++ b/webui.py
@@ -96,14 +96,11 @@ def initialize():
def api():
- initialize()
-
from modules.api.api import Api
- api = Api()
- api.launch(server_name="0.0.0.0" if cmd_opts.listen else "127.0.0.1", port=cmd_opts.port if cmd_opts.port else 7861)
+ api = Api(app)
-def webui():
+def webui(launch_api=False):
initialize()
while 1:
@@ -122,6 +119,9 @@ def webui():
app.add_middleware(GZipMiddleware, minimum_size=1000)
+ if (launch_api):
+ api(app)
+
while 1:
time.sleep(0.5)
if getattr(demo, 'do_restart', False):
@@ -143,6 +143,6 @@ def webui():
if __name__ == "__main__":
if cmd_opts.api:
- api()
+ webui(True)
else:
- webui()
+ webui(False)