Commit c3851a85 authored by Ryan Voots's avatar Ryan Voots Committed by AUTOMATIC1111

Re-use webui fastapi application rather than requiring one or the other, not both.

parent f29b16ba
...@@ -2,15 +2,13 @@ from modules.api.processing import StableDiffusionProcessingAPI ...@@ -2,15 +2,13 @@ from modules.api.processing import StableDiffusionProcessingAPI
from modules.processing import StableDiffusionProcessingTxt2Img, process_images from modules.processing import StableDiffusionProcessingTxt2Img, process_images
import modules.shared as shared import modules.shared as shared
import uvicorn import uvicorn
from fastapi import FastAPI, Body, APIRouter from fastapi import Body, APIRouter
from fastapi.responses import JSONResponse from fastapi.responses import JSONResponse
from pydantic import BaseModel, Field, Json from pydantic import BaseModel, Field, Json
import json import json
import io import io
import base64 import base64
app = FastAPI()
class TextToImageResponse(BaseModel): class TextToImageResponse(BaseModel):
images: list[str] = Field(default=None, title="Image", description="The generated image in base64 format.") images: list[str] = Field(default=None, title="Image", description="The generated image in base64 format.")
parameters: Json parameters: Json
...@@ -18,7 +16,7 @@ class TextToImageResponse(BaseModel): ...@@ -18,7 +16,7 @@ class TextToImageResponse(BaseModel):
class Api: class Api:
def __init__(self): def __init__(self, app):
self.router = APIRouter() self.router = APIRouter()
app.add_api_route("/v1/txt2img", self.text2imgapi, methods=["POST"]) app.add_api_route("/v1/txt2img", self.text2imgapi, methods=["POST"])
......
...@@ -96,14 +96,11 @@ def initialize(): ...@@ -96,14 +96,11 @@ def initialize():
def api(): def api():
initialize()
from modules.api.api import Api from modules.api.api import Api
api = Api() api = Api(app)
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)
def webui(): def webui(launch_api=False):
initialize() initialize()
while 1: while 1:
...@@ -122,6 +119,9 @@ def webui(): ...@@ -122,6 +119,9 @@ def webui():
app.add_middleware(GZipMiddleware, minimum_size=1000) app.add_middleware(GZipMiddleware, minimum_size=1000)
if (launch_api):
api(app)
while 1: while 1:
time.sleep(0.5) time.sleep(0.5)
if getattr(demo, 'do_restart', False): if getattr(demo, 'do_restart', False):
...@@ -143,6 +143,6 @@ def webui(): ...@@ -143,6 +143,6 @@ def webui():
if __name__ == "__main__": if __name__ == "__main__":
if cmd_opts.api: if cmd_opts.api:
api() webui(True)
else: else:
webui() webui(False)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment