Re-use webui fastapi application rather than requiring one or the other, not both.
This commit is contained in:
parent
f29b16bad1
commit
c3851a853d
|
@ -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"])
|
||||
|
||||
|
|
14
webui.py
14
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)
|
||||
|
|
Loading…
Reference in New Issue
Block a user