Spaces:
Running
Running
File size: 1,118 Bytes
1c817fd e83e49f 1c817fd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import os
from flask import jsonify, send_file, request
from io import BytesIO
from PIL import Image
from main import *
import torch
def generate_image(prompt, output_path="output_image.png"):
if imagegen_model is None:
return "Image generation model not initialized."
generator = torch.Generator(device=device).manual_seed(0)
with torch.no_grad():
image = imagegen_model(
prompt,
generator=generator,
).images[0]
image.save(output_path)
return output_path
def imagegen_api():
data = request.get_json()
prompt = data.get('prompt')
if not prompt:
return jsonify({"error": "Prompt is required"}), 400
output_file = generate_image(prompt)
if output_file == "Image generation model not initialized.":
return jsonify({"error": "Image generation failed"}), 500
image_io = BytesIO()
pil_image = Image.open(output_file)
pil_image.save(image_io, 'PNG')
image_io.seek(0)
return send_file(image_io, mimetype='image/png', as_attachment=True, download_name="output.png")
|