ai-frame-image-server/ai_frame_image_server.py

34 lines
1.1 KiB
Python
Raw Normal View History

from flask import Flask, render_template, send_from_directory, redirect, url_for, request, jsonify
2025-03-28 18:37:58 +00:00
import os
2025-03-29 12:24:46 +00:00
from lib import create_image, load_config
user_config = load_config()
2025-03-28 18:37:58 +00:00
app = Flask(__name__)
image_folder = "./output"
@app.route('/')
def index():
2025-03-29 12:24:46 +00:00
return render_template("index.html", image="./image.png", reload_interval=user_config["frame"]["reload_interval"])
2025-03-28 18:37:58 +00:00
@app.route('/images/<filename>')
def images(filename):
return send_from_directory(image_folder, filename)
@app.route('/create', methods=["GET", "POST"])
2025-03-28 18:37:58 +00:00
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
2025-03-28 18:37:58 +00:00
return redirect(url_for("index"))
2025-03-28 18:37:58 +00:00
if __name__ == '__main__':
os.makedirs(image_folder, exist_ok=True) # Ensure the folder exists
2025-03-29 12:24:46 +00:00
app.run(host="0.0.0.0", port=user_config["frame"]["port"], debug=True)
2025-03-29 08:28:13 +00:00