stable-diffusion-3-模型UI部署(可用中文输入)

模型下载链接

下载链接在博客里
个人博客:https://pengyulin.top

前端html

UI及前端代码可从博客跳转查看效果

效果图

请添加图片描述

后端代码

后端flask框架代码:
提前下好所需要的依赖:
flask_cors flask diffusers torch transformers等
使用了百度翻译的api,自动将中文翻译成英文后输入

from flask import Flask, request, jsonify, session, redirect, url_for
from flask_cors import CORS
import torch
from diffusers import StableDiffusion3Pipeline
from PIL import Image
import datetime
import requests
import hashlib
import random
import time

app = Flask(__name__)
CORS(app)

pipe = StableDiffusion3Pipeline.from_pretrained("./stable-diffusion-3-medium-diffusers", torch_dtype=torch.float16)
pipe = pipe.to("cuda")

def translate_text(text):
    appid = '******'  # 替换为自己的App ID
    secretKey = '******'  # 替换为自己的密钥

    # 百度翻译API的请求地址
    url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'

    salt = random.randint(32768, 65536)
    sign = appid + text + str(salt) + secretKey
    sign = hashlib.md5(sign.encode()).hexdigest()

    params = {
        'q': text,
        'from': 'zh',
        'to': 'en',
        'appid': appid,
        'salt': salt,
        'sign': sign
    }

    response = requests.get(url, params=params)
    result = response.json()

    if 'trans_result' in result:
        return result['trans_result'][0]['dst']
    else:
        return None

@app.route('/api/sd3', methods=['POST'])
def sd3():
    data = request.get_json()
    sprompt = data.get('prompt')
    snegative_prompt = data.get('negative_prompt')
    steps = int(data.get('steps'))
    guidance_scale = float(data.get('guidance_scale'))
    prompt = translate_text(sprompt)
    time.sleep(0.8)
    negative_prompt = translate_text(snegative_prompt)
    current_time = datetime.datetime.now()
    time_str = current_time.strftime("%Y-%m-%d_%H-%M-%S")

    image = pipe(
        prompt,
        negative_prompt=negative_prompt,
        num_inference_steps=steps,
        guidance_scale=guidance_scale,
        ).images[0]

    image.save(f"/var/www/html/{time_str}.png")
    return jsonify({'image_url': f'{time_str}.png'})


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=3000)
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐