feat: 支持图片生成响应格式切换并优化Markdown渲染

This commit is contained in:
yinpeng
2025-02-11 05:13:36 +08:00
parent cb4d26778e
commit 30858937b5
2 changed files with 17 additions and 8 deletions

View File

@@ -27,4 +27,4 @@ class ImageGenerationRequest(BaseModel):
size: Optional[str] = "1024x1024"
quality: Optional[str] = ""
style: Optional[str] = ""
response_format: Optional[str] = "b64_json"
response_format: Optional[str] = "url"

View File

@@ -56,11 +56,17 @@ class ImageCreateService:
filename = f"{current_date}/{uuid.uuid4().hex[:8]}.png"
upload_response = image_uploader.upload(image_data,filename)
# base64_image = base64.b64encode(image_data).decode('utf-8')
images_data.append({
"url": f"{upload_response.data.url}",
"revised_prompt": request.prompt
})
if request.response_format == "b64_json":
base64_image = base64.b64encode(image_data).decode('utf-8')
images_data.append({
"b64_json": base64_image,
"revised_prompt": request.prompt
})
else:
images_data.append({
"url": f"{upload_response.data.url}",
"revised_prompt": request.prompt
})
response_data = {
"created": int(time.time()), # Current timestamp
@@ -76,6 +82,9 @@ class ImageCreateService:
if image_datas:
markdown_images = []
for index, image_data in enumerate(image_datas):
markdown_images.append(f"![Generated Image {index+1}]({image_data['url']})")
if 'url' in image_data:
markdown_images.append(f"![Generated Image {index+1}]({image_data['url']})")
else:
# 如果是base64格式创建data URL
markdown_images.append(f"![Generated Image {index+1}](data:image/png;base64,{image_data['b64_json']})")
return "\n".join(markdown_images)