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/linuxexport https_proxy="http://your_host:port"# 设置API KEY环境变量## windows (powershell)$env:GEMINI_API_KEY='your-key'## macos/linuxexport 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 typesdef 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:continueif 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的编程调用,并提供了实际操作的示例。各位看官可以自己试验,欢迎分享。