ymx / picture /generalImg.py
xulh
代码初始化
0abd45b
raw
history blame
978 Bytes
import base64
from fastapi import APIRouter, HTTPException
from fastapi import Body
from huggingface_hub import InferenceClient
from io import BytesIO
routerImg = APIRouter()
@routerImg.post("/generate-image/")
async def generate_image(token: str = Body(...), prompt: str = Body(...)):
try:
# 创建InferenceClient
client = InferenceClient("black-forest-labs/FLUX.1-dev", token=token)
# 使用text_to_image方法生成图片
image = client.text_to_image(prompt)
# 将PIL.Image对象转换为byte数据
buffered = BytesIO()
image.save(buffered, format="PNG")
image_bytes = buffered.getvalue()
# 将图片转换为base64编码
image_base64 = base64.b64encode(image_bytes).decode("utf-8")
# 返回base64编码的图片
return {"image_base64": image_base64}
except Exception as e:
raise HTTPException(status_code=500, detail=f"Error generating image: {str(e)}")