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
|
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):
|
||||||
|
|
||||||
|
|
||||||
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"])
|
||||||
|
|
||||||
|
|
14
webui.py
14
webui.py
|
@ -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():
|
||||||
|
|
||||||
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():
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if cmd_opts.api:
|
if cmd_opts.api:
|
||||||
api()
|
webui(True)
|
||||||
else:
|
else:
|
||||||
webui()
|
webui(False)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user