ai-frame-image-server/ai_frame_image_server.py

34 lines
1.1 KiB
Python

from flask import Flask, render_template, send_from_directory, redirect, url_for, request, jsonify
import os
from lib import create_image, load_config
user_config = load_config()
app = Flask(__name__)
image_folder = "./output"
@app.route('/')
def index():
return render_template("index.html", image="./image.png", reload_interval=user_config["frame"]["reload_interval"])
@app.route('/images/<filename>')
def images(filename):
return send_from_directory(image_folder, filename)
@app.route('/create', methods=["GET", "POST"])
def create():
"""Endpoint to create a new image. Supports optional prompt via POST."""
prompt = request.form.get("prompt") if request.method == "POST" else None
create_image(prompt) # Pass prompt to create_image()
if request.method == "POST":
return jsonify({"message": "Image created", "prompt": prompt}), 200
return redirect(url_for("index"))
if __name__ == '__main__':
os.makedirs(image_folder, exist_ok=True) # Ensure the folder exists
app.run(host="0.0.0.0", port=user_config["frame"]["port"], debug=True)