OpenAI 的图像生成API

chatGPT网址2024-02-10184

chatgpt 欢迎访问chatgpt中文教程网,学习chatgpt相关知识,以下是正文内容:

了解如何使用我们的 DALL·E 模型生成或操作图像

介绍

Images API 提供了三种与图像交互的方法:

  • 根据文本提示从头开始创建图像

  • 根据新的文本提示对现有图像进行编辑

  • 创建现有图像的变体

本指南涵盖了使用这三个 API 端点的基础知识以及有用的代码示例。要查看它们的实际效果,请查看我们的DALL·E 预览应用程序。

用法

生成

图像生成端点允许您根据文本提示创建原始图像。生成的图像的大小可以为 256x256、512x512 或 1024x1024 像素。尺寸越小,生成速度越快。您可以使用n参数一次请求 1-10 个图像。

response = openai.Image.create(  prompt="a white siamese cat",  n=1,  size="1024x1024")image_url = response['data'][0]['url']

描述越详细,您就越有可能获得您或您的最终用户想要的结果。您可以探索DALL·E 预览应用程序中的示例,以获得更多提示灵感。这是一个简单的例子:

提示生成
一只白色的暹罗猫
一只白色暹罗猫的特写工作室摄影肖像,它看起来好奇,背光耳朵

使用response_format参数,每个图像都可以作为 URL 或 Base64 数据返回。URL 将在一小时后过期。

编辑

图像编辑端点允许您通过上传蒙版来编辑和扩展图像。蒙版的透明区域指示应编辑图像的位置,并且提示应描述完整的新图像,而不仅仅是擦除的区域。此端点可以实现类似于我们 DALL·E 预览应用程序中的编辑器的体验。

response = openai.Image.create_edit(  image=open("sunlit_lounge.png", "rb"),  mask=open("mask.png", "rb"),  prompt="A sunlit indoor lounge area with a pool containing a flamingo",  n=1,  size="1024x1024")image_url = response['data'][0]['url']
图像蒙版输出

提示:阳光明媚的室内休息区,设有包含火烈鸟的游泳池

上传的图像和蒙版必须都是大小小于4MB的方形PNG图像,并且尺寸必须相同。生成输出时不会使用遮罩的非透明区域,因此它们不一定需要与原始图像匹配,如上面的示例。

变化

图像变体端点允许您生成给定图像的变体。

response = openai.Image.create_variation(  image=open("corgi_and_cat_paw.png", "rb"),  n=1,  size="1024x1024")image_url = response['data'][0]['url']
图像输出

与编辑端点类似,输入图像必须是大小小于 4MB 的方形 PNG 图像。

内容审核

提示和图像根据我们的内容政策进行过滤,当提示或图像被标记时返回错误。如果您对误报或相关问题有任何反馈,请通过我们的帮助中心与我们联系。

特定于语言的提示

使用内存中的图像数据

面指南中的 Python 示例使用该open函数从磁盘读取图像数据。在某些情况下,您可能会将图像数据存储在内存中。以下是使用存储在对象中的图像数据的 API 调用示例BytesIO:

from io import BytesIO# This is the BytesIO object that contains your image databyte_stream: BytesIO = [your image data]byte_array = byte_stream.getvalue()response = openai.Image.create_variation(  image=byte_array,  n=1,  size="1024x1024")

对图像数据进行操作

在将图像传递给 API 之前对其执行操作可能很有用。PIL这是一个用于调整图像大小的示例:

from io import BytesIOfrom PIL import Image# Read the image file from disk and resize itimage = Image.open("image.png")width, height = 256, 256image = image.resize((width, height))# Convert the image to a BytesIO objectbyte_stream = BytesIO()image.save(byte_stream, format='PNG')byte_array = byte_stream.getvalue()response = openai.Image.create_variation(  image=byte_array,  n=1,  size="1024x1024")

错误处理

由于输入无效、速率限制或其他问题,API 请求可能会返回错误。这些错误可以通过语句来处理try...except,错误详细信息可以在e.error:

response = openai.Image.create(  prompt="a white siamese cat",  n=1,  size="1024x1024")image_url = response['data'][0]['url']0

本文链接:https://gptwangzhi.top/chatgpt/439.html

讯飞星火ClipDrop PC版注册ChatGPTchatgpt账号

相关文章

网友评论