Google发布新生图模型
Google释放出最新生图模型,在发布说明中提到:
2025年3月12日
在 Gemini-2.0-Flash-Exp 中发布原生图像输出功能
- Gemini 2.0 Flash Experimental 模型发布,支持原生图像输出功能。
- 开发者能够使用 Gemini 进行图像输出和编辑。
- 模型信息
网友试用后,评价都不错。重点是可以免费使用,使用方式见下文介绍。
通过Google AI Studio使用
通过Google AI Studio可以免费交互式使用(包括此模型外多种模型)。关于AI Studio的申请,应该有Google的账户就可以登录使用,并能在Studio中生成API key以及下载示例代码。
- 在Studio的右侧“Model”处选择“Gemini 2.0 Flash (Image Generation) Experimental”。
- 在“Output format”处选择"Images and text“。
- 以输入提示词“请绘制一个小公园的初春下雪场景,场景中需要小径、有树木等,还有小亭子中国元素为例,经过多几轮“调教”还是满足我想要的效果。
各位看官可自己试用,生图,修图。
注:AI Studio中生成图片左下角,会带Gemini的图标。
通过API在代码中生图
除了使用AI Studio之外,还可以通过API来调用“Gemini 2.0 Flash Experimental”模型生成图片,编辑图片。
-
首先要有API key
生成方式参见Get API key
-
其次使用Google SDK编码处理
可以从 AI Studio右上角“Get code”拿到示例代码,支持多种语言,本文以“python”为例。
-
环境准备及执行
以下代码是在示例代码上做了简单修改,可以根据提示词生成图片,并保存到本地文件。
# python>=3.12版本
## install google ai sdk
pip install google-genai
# 国内访问需要设置代理
## 注意环境变量一定是小写https_proxy,不能大写,不然不生效
## windows (powershell)
$env:https_proxy="http://your_host:port"
## macos/linux
export https_proxy="http://your_host:port"
# 设置API KEY环境变量
## windows (powershell)
$env:GEMINI_API_KEY='your-key'
## macos/linux
export GEMINI_API_KEY=your-key
# 执行
python gemini-image-gen.py -p "your prompt" -o your-image-save-file
- 源代码(命名为gemini-image-gen.py)
import base64
import os
import argparse
from google import genai
from google.genai import types
def save_binary_file(file_name, data):
"""保存二进制文件
Args:
file_name (str): 文件保存路径
data (bytes): 二进制数据
"""
f = open(file_name, "wb")
f.write(data)
f.close()
def generate(prompt: str, output_file: str):
"""生成图片
Args:
prompt (str): 提示词
output_file (str): 输出文件路径
Raises:
ValueError: 当GEMINI_API_KEY环境变量未设置时抛出
"""
api_key = os.environ.get("GEMINI_API_KEY")
if not api_key:
raise ValueError(
"请设置GEMINI_API_KEY环境变量。可以通过以下方式设置:\n"
"Windows PowerShell: $env:GEMINI_API_KEY='your-key'\n"
"Windows CMD: set GEMINI_API_KEY=your-key\n"
"Linux/Mac: export GEMINI_API_KEY=your-key"
)
client = genai.Client(api_key=api_key)
contents = [
types.Content(
role="user",
parts=[types.Part.from_text(text=prompt)],
),
]
generate_content_config = types.GenerateContentConfig(
temperature=1,
top_p=0.95,
top_k=40,
max_output_tokens=8192,
response_modalities=[
"image",
"text",
],
response_mime_type="text/plain",
)
for chunk in client.models.generate_content_stream(
model="gemini-2.0-flash-exp",
contents=contents,
config=generate_content_config,
):
if not chunk.candidates or not chunk.candidates[0].content or not chunk.candidates[0].content.parts:
continue
if chunk.candidates[0].content.parts[0].inline_data:
save_binary_file(
output_file, chunk.candidates[0].content.parts[0].inline_data.data
)
print(
"File of mime type"
f" {chunk.candidates[0].content.parts[0].inline_data.mime_type} saved"
f" to: {output_file}"
)
else:
print(chunk.text)
def main():
parser = argparse.ArgumentParser(
description="使用 Gemini 2.0 生成图片",
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog="""
使用示例:
# 生成一个下雪的公园场景
python gemini-image-gen.py -p "请绘制一个小公园的下雪场景,场景中需要有树木、小亭子等中国元素" -o snowing-park.png
# 生成一个春天的花园场景
python gemini-image-gen.py -p "画一个春天的花园,有盛开的樱花和小溪" -o spring-garden.png
注意:
1. 使用前请确保已设置GEMINI_API_KEY环境变量
2. 生成的图片质量取决于提示词的质量
3. 如果生成失败,可以尝试修改提示词后重试
""",
)
parser.add_argument(
"-p", "--prompt",
required=True,
help="用于生成图片的提示词"
)
parser.add_argument(
"-o", "--output",
required=True,
help="生成图片的保存路径"
)
args = parser.parse_args()
generate(args.prompt, args.output)
if __name__ == "__main__":
main()
- 生成图片示例
# 执行以下命令
python gemini-image-gen.py -p "画一个春天的花园,有盛开的樱花和小溪,画面不要全部被景物充满,色彩也不要太艳丽,但要与实物接近" -o spring-garden.png
- 一次性输出结果,看起来还可以
注:当前API生成的图片还没有Gemini的图标。
总结
这是Google在生成式AI图像领域的重要更新,免费使用的特点使其对开发者和普通用户都很有吸引力。本文介绍了不同的使用方法,包括通过Google AI Studio的直接使用和通过API的编程调用,并提供了实际操作的示例。各位看官可以自己试验,欢迎分享。