如何通过单次API调用使用Gemini-2.5-flash-image生成多张图片
Gemini-2.5-Flash-Image 单次生成多张图片的正确配置
你遇到的问题核心是用错了控制图片数量的参数——官方文档提到的单次最多生成10张图,对应的配置参数是num_images,而非你尝试修改的candidate_count。candidate_count用于控制文本响应的候选回复数,在图像生成场景下不生效。
最优配置方案
不需要通过循环多次调用,单次调用即可生成多张图片。只需修改GenerateContentConfig,添加num_images参数并设置为目标数量(比如3),同时保持candidate_count=1(图像生成场景下该参数固定为1)。
修改后的代码示例
generation_config = GenerateContentConfig( response_modalities=[Modality.IMAGE], candidate_count=1, # 图像生成场景下该参数固定为1 num_images=3, # 指定单次生成的图片数量,最大支持10 safety_settings=[ SafetySetting( category=HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT, threshold=HarmBlockThreshold.BLOCK_ONLY_HIGH, ), ], ) response = client.models.generate_content( model="gemini-2.5-flash-image", contents=f"Generate 3 images of: {prompt}", # 可在prompt中明确要求数量,配合参数生效 config=generation_config, )
注意事项
num_images的取值范围是1-10,符合官方文档的限制;- 确保你的Google AI SDK版本是最新的,旧版本可能不支持该参数;
- 调用后,可通过
response.images获取所有生成的图片对象,遍历即可处理每张图。
内容的提问来源于stack exchange,提问作者Coder1934
相关产品推荐
相关产品推荐

