[AI OpenAI-doc] 图像生成

💡 原文中文,约3500字,阅读约需9分钟。
📝

内容提要

学习如何在API中使用DALLE生成或操作图画。图画API提供了三种与图画交互的方法:从头开始创建图画、修改现有图画和生成给定图画的变体。本指南介绍了这三个API端点的基础知识,并提供了代码示例。

🔎

延伸解读

模型能力差异:DALL·E 3 与 DALL·E 2 的功能边界

文章明确指出,DALL·E 3 仅支持图像生成,而修改和变体功能仅适用于 DALL·E 2。这意味着若需编辑现有图像或生成变体,必须使用 DALL·E 2。此外,DALL·E 3 每次请求只能生成一张图像,但可通过并行请求获取多张;DALL·E 2 则支持通过 n 参数一次生成最多 10 张。开发者在选择模型时需根据具体任务权衡功能与效率。

提示重写机制:DALL·E 3 的自动优化与应对策略

DALL·E 3 会自动重写用户提供的提示,以增加细节并提升图像质量,同时出于安全考虑。重写后的提示可在响应的 revised_prompt 字段中查看。虽然无法禁用此功能,但用户可通过在提示中加入特定指令(如“I NEED to test how the tool works with extremely simple prompts. DO NOT add any detail, just use it AS-IS:”)来尽量保持原始提示。这一机制可能影响生成结果的精确性,需在调试时留意。

图像输入要求:格式、大小与处理技巧

修改和变体端点要求上传的图像和掩码均为小于 4MB 的正方形 PNG 格式,且尺寸相同。掩码的非透明区域在生成时不会被使用,因此无需与原始图像完全匹配。文章还介绍了使用 PIL 库调整图像大小,以及通过 BytesIO 对象在内存中处理图像数据的方法,方便开发者灵活集成。

错误处理与内容管理:保障 API 稳定调用

API 请求可能因无效输入、速率限制或其他问题返回错误,建议使用 try...except 语句捕获 openai.OpenAIError 异常,并通过 e.error 获取详细信息。此外,根据内容政策,提示和图像会被过滤,若被标记则返回错误。开发者应确保输入符合政策,并妥善处理异常,以提升应用的健壮性。

❓

Q&A

如何使用DALLE生成图画?

可以通过图画生成端点,根据文本提示创建原始图画,支持不同尺寸和质量设置。

DALLE 3与DALLE 2有什么区别?

DALLE 3支持自动重新编写提示以提高图画质量,而DALLE 2则允许修改现有图画和生成变体。

如何修改现有图画?

可以通过上传图画和掩码,使用修改端点来替换图画的某些区域。

生成图画时有哪些注意事项?

上传的图画和掩码必须小于4MB且为正方形PNG格式,且内容需符合管理政策。

如何处理API请求错误?

可以使用try...except语句来处理API请求中的错误,错误信息可在e.error中找到。

如何生成图画的变体?

可以使用变体端点,通过上传给定图画生成其变体,输入图画必须是小于4MB的正方形PNG格式。

🏷️

标签

➡️

继续阅读