mirror of
https://github.com/karl0ss/ai-frame-image-server.git
synced 2025-04-26 01:30:13 +01:00
return generated prompt, allow job to be cancelled
This commit is contained in:
parent
91c48b512f
commit
e4428b4692
@ -2,8 +2,6 @@ from flask import (
|
||||
Flask,
|
||||
render_template,
|
||||
send_from_directory,
|
||||
redirect,
|
||||
url_for,
|
||||
request,
|
||||
jsonify,
|
||||
)
|
||||
@ -11,7 +9,7 @@ import os
|
||||
import time
|
||||
import threading
|
||||
from apscheduler.schedulers.background import BackgroundScheduler
|
||||
from lib import create_image, load_config
|
||||
from lib import create_image, load_config, create_prompt_on_openwebui, cancel_current_job
|
||||
|
||||
user_config = load_config()
|
||||
app = Flask(__name__)
|
||||
@ -59,6 +57,17 @@ def images(filename: str) -> None:
|
||||
return send_from_directory(image_folder, filename)
|
||||
|
||||
|
||||
@app.route("/cancel", methods=["GET"])
|
||||
def cancel_job() -> None:
|
||||
"""
|
||||
Serves the requested image file.
|
||||
Args:
|
||||
filename (str): The name of the image file.
|
||||
Returns:
|
||||
None: Sends the image file.
|
||||
"""
|
||||
return cancel_current_job()
|
||||
|
||||
|
||||
@app.route("/create", methods=["GET", "POST"])
|
||||
def create() -> str:
|
||||
@ -70,6 +79,9 @@ def create() -> str:
|
||||
"""
|
||||
prompt = request.form.get("prompt") if request.method == "POST" else None
|
||||
|
||||
if prompt is None:
|
||||
prompt = create_prompt_on_openwebui(user_config["comfyui"]["prompt"])
|
||||
|
||||
def create_image_in_background():
|
||||
create_image(prompt)
|
||||
|
||||
|
14
lib.py
14
lib.py
@ -31,6 +31,16 @@ def get_available_models() -> list:
|
||||
return []
|
||||
|
||||
|
||||
def cancel_current_job() -> list:
|
||||
"""Fetches available models from ComfyUI."""
|
||||
url = user_config["comfyui"]["comfyui_url"] + "/interrupt"
|
||||
response = requests.post(url)
|
||||
if response.status_code == 200:
|
||||
return "Cancelled"
|
||||
else:
|
||||
return "Failed to cancel"
|
||||
|
||||
|
||||
def load_config() -> configparser.ConfigParser:
|
||||
"""Loads user configuration from ./user_config.cfg."""
|
||||
user_config = configparser.ConfigParser()
|
||||
@ -58,7 +68,7 @@ def rename_image() -> str | None:
|
||||
return None
|
||||
|
||||
|
||||
def send_prompt_to_openwebui(prompt: str) -> str:
|
||||
def create_prompt_on_openwebui(prompt: str) -> str:
|
||||
"""Sends prompt to OpenWebui and returns the generated response."""
|
||||
response = litellm.completion(
|
||||
api_base=user_config["openwebui"]["base_url"],
|
||||
@ -164,7 +174,7 @@ def generate_image(file_name: str, comfy_prompt: str) -> None:
|
||||
def create_image(prompt: str | None = None) -> None:
|
||||
"""Main function for generating images."""
|
||||
if prompt is None:
|
||||
prompt = send_prompt_to_openwebui(user_config["comfyui"]["prompt"])
|
||||
prompt = create_prompt_on_openwebui(user_config["comfyui"]["prompt"])
|
||||
if prompt:
|
||||
logging.info(f"Generated prompt: {prompt}") # Log generated prompt
|
||||
generate_image("image", prompt)
|
||||
|
Loading…
x
Reference in New Issue
Block a user