Gemini 2.0 Flash有两个可以生图的模型:gemini-2.0-flash-exp-image-generation和gemini-2.0-flash-preview-image-generation,本文分享下便携AI聚合API如何使用Gemini这两个模型画图。
一、前言
示例中的api_key可以在网站后台获取,获取方法:《便携AI聚合API新建令牌(API key)教程》。
必须要使用流模式,即指定stream为True。
二、调用方法
可以通过OpenAI的chat模式来调用Gemini 2.0 Flash画图模型,模型名称:gemini-2.0-flash-exp-image-generation和gemini-2.0-flash-preview-image-generation,模型会通过流模式直接返回生成图片的base64码,可以结合以下代码来解析base64:
def save_base64_image(markdown_line, filename_prefix="gemini_output"):
# 提取 base64 字符串
import re
match = re.search(r'!\[.*?\]\(data:image/(png|jpeg);base64,(.*?)\)', markdown_line)
if match:
image_format = match.group(1) # png 或 jpeg
base64_data = match.group(2)
# 解码并保存
image_data = base64.b64decode(base64_data)
filename = f"{filename_prefix}.{image_format}"
with open(f"{filename}", "wb") as f:
f.write(image_data)
print(f"图片已保存为 {filename}")
else:
print("未找到合法的 base64 图片数据")
调用方式(以python为例):
def gemini_2_flash_image_generation():
api_key = "sk-dasfasdf"
url = f'https://api.bianxie.ai/v1/chat/completions'
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
data = {
'model': 'gemini-2.0-flash-preview-image-generation',
'messages': [{'role': 'user', 'content': 'A cat in a tree'}],
'stream': True
}
response = requests.post(url, headers=headers, json=data)
for line in response.iter_lines():
if line:
decoded_line = line.decode("utf-8")
if "
if decoded_line.startswith("data: "):
payload = decoded_line[6:]
if payload == "[DONE]":
break
try:
import json
parsed = json.loads(payload)
content = parsed["choices"][0]["delta"].get("content")
if content:
print(content, end="", flush=True)
except Exception as e:
print("解析失败:", e)
结果如下:






