File size: 727 Bytes
15f87d2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from fastapi import FastAPI
from pydantic import BaseModel
from diffusers import StableDiffusionPipeline
import torch
from PIL import Image
import io
import base64

app = FastAPI()

# 🔧 加载模型(你可以替换成你本地修改后的 StoryDiffusion Pipeline)
pipe = StableDiffusionPipeline.from_pretrained("你的模型路径").to("cuda")

class PromptInput(BaseModel):
    prompt: str

@app.post("/generate")
def generate_image(data: PromptInput):
    image = pipe(data.prompt).images[0]

    # 把图像编码为 base64,便于前端显示
    buffered = io.BytesIO()
    image.save(buffered, format="PNG")
    img_str = base64.b64encode(buffered.getvalue()).decode("utf-8")
    return {"image_base64": img_str}