
模拟 ComfyUI 应用
模拟 ComfyUI 应用
下面我将创建一个简单的 Flask 应用程序,它模拟 ComfyUI 的功能,但不实际生成图片,而是返回一些数字来模拟生成的图像。这将帮助您学习如何构建和处理 API。
应用概述
- 用户通过网页表单输入提示词并点击按钮。
- 应用接收到请求后,返回一个数字(代表生成的图像),并在网页上显示这个数字。
解决方法
- 创建模板文件夹: Flask 查找模板文件的默认位置是在应用根目录下的
templates
文件夹。您需要确保创建此文件夹,并将index.html
文件放入该文件夹中。 - 文件结构调整: 请确保您的应用文件结构如下:
C:\
└── AI\
└── simulated_comfyui\
├── app.py
└── templates\
└── index.html
详细步骤
- 在
C:\AI\simulated_comfyui
路径下创建一个名为templates
的文件夹。 - 将
index.html
文件移动到templates
文件夹中。 - 运行 Flask 应用,确保文件结构如下:
C:\
└── AI\
└── simulated_comfyui\
├── app.py
└── templates\
└── index.html
确保 app.py 文件
您的 app.py
文件无需修改,确保它包含以下内容:
from flask import Flask, request, jsonify, render_template
import random
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/generate_image', methods=['POST'])
def generate_image():
prompt_text = request.form.get("prompt_text")
if prompt_text is None or prompt_text.strip() == "":
return jsonify({"status": "error", "message": "提示词不能为空"}), 400
# 模拟图像生成,生成一个随机数字以代替图像
generated_image_id = random.randint(1, 100) # 生成1到100之间的随机数字
return jsonify({"status": "success", "generated_image": generated_image_id}), 200
if __name__ == "__main__":
app.run(port=5000)
重新运行应用
-
在终端中导航到
C:\AI\simulated_comfyui
目录。 -
运行以下命令启动 Flask 应用:
python app.py
-
在浏览器中访问
http://127.0.0.1:5000/
,查看是否能正确加载页面。
总结
通过确保模板文件位于 templates
文件夹下,Flask 应该能够找到 index.html
并成功渲染页面。
2. index.html
这是前端 HTML 代码,用于创建表单。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>模拟 ComfyUI 应用</title>
</head>
<body>
<h1>模拟 ComfyUI 应用</h1>
<form id="generate-form">
<label for="prompt_text">提示词:</label>
<input type="text" id="prompt_text" name="prompt_text" required>
<br>
<button type="submit">生成图像</button>
</form>
<h2>生成的图像 ID</h2>
<p id="generatedImage" style="display:none;"></p>
<script>
document.getElementById('generate-form').onsubmit = async (e) => {
e.preventDefault();
const formData = new FormData(e.target);
const response = await fetch('/generate_image', {
method: 'POST',
body: formData
});
const result = await response.json();
if (result.status === 'success') {
document.getElementById('generatedImage').textContent = `生成的图像 ID: ${result.generated_image}`;
document.getElementById('generatedImage').style.display = 'block';
} else {
alert(result.message);
}
};
</script>
</body>
</html>
运行步骤
-
安装 Flask: 如果您尚未安装 Flask,可以使用以下命令安装:
pip install Flask
-
创建文件: 按上述结构创建
app.py
和index.html
文件。 -
运行应用: 在终端中导航到
C:\AI\simulated_comfyui
目录,并运行以下命令启动 Flask 应用:python app.py
-
访问应用: 打开浏览器并访问
http://127.0.0.1:5000/
,您将看到一个简单的表单。 -
生成数字: 输入提示词并点击“生成图像”按钮,您将看到生成的数字 ID。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 兰雀AI