Skip to content

Commit 8dbf997

Browse files
clearing up standalone api
1 parent 8a3abcc commit 8dbf997

File tree

4 files changed

+41
-3
lines changed

4 files changed

+41
-3
lines changed

main.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def maybe_chdir():
2929
parser = argparse.ArgumentParser()
3030
parser.add_argument("--share", help="Create public link", action='store_true')
3131
parser.add_argument("--listen", help="Create public link", action='store_true')
32+
parser.add_argument("--api", help="start-up api", action='store_true')
3233
parser.add_argument("--no_chdir", help="Do not try to use the root of stable-diffusion-webui", action='store_true')
3334
args = parser.parse_args()
3435

@@ -37,4 +38,18 @@ def maybe_chdir():
3738
maybe_chdir()
3839
server_name = "0.0.0.0" if args.listen else None
3940
import src.common_ui
40-
src.common_ui.on_ui_tabs().launch(share=args.share, server_name=server_name)
41+
42+
ui_block = src.common_ui.on_ui_tabs()
43+
44+
if args.api is not True:
45+
ui_block.launch(share=args.share, server_name=server_name)
46+
else:
47+
app, _, _ = ui_block.launch(share=args.share, server_name=server_name, prevent_thread_lock=True)
48+
print(f"starting depth api")
49+
from src.api.api_standalone import init_api
50+
init_api(ui_block, app)
51+
while True:
52+
pass
53+
54+
55+

src/api/api_core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def api_gen(input_images, client_options):
6666
#TODO try-catch type errors here
6767
for key, value in client_options.items():
6868
if key == "model_type":
69-
default_options[key] = models_to_index(value)
69+
default_options[key] = models_to_index[value]
7070
continue
7171
default_options[key] = value
7272

src/api/api_routes.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
from src.common_constants import GenerationOptions as go
1414
from src.misc import SCRIPT_VERSION
1515
from src.api.api_constants import api_options, models_to_index
16-
from api.api_core import api_gen, encode_to_base64
16+
from src.api.api_core import api_gen, encode_to_base64
1717

18+
# gr.Blocks is needed for auto1111 extensions
1819
def depth_api(_: gr.Blocks, app: FastAPI):
1920
@app.get("/depth/version")
2021
async def version():

src/api/api_standalone.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from fastapi import FastAPI
2+
import uvicorn
3+
from fastapi import FastAPI
4+
from src.api.api_routes import depth_api
5+
6+
import gradio as gr
7+
8+
#TODO very primitive
9+
10+
#TODO add CORS
11+
12+
#TODO enable easy SSL. right now completely unsecured.
13+
14+
def init_api_no_webui():
15+
app = FastAPI()
16+
print("setting up endpoints")
17+
depth_api( gr.Blocks(), app)
18+
uvicorn.run('src.api.api_standalone:depth_api', port=7860, host="127.0.0.1")
19+
20+
def init_api(block, app):
21+
print("setting up endpoints")
22+
depth_api( block, app)

0 commit comments

Comments
 (0)