
如何使用OpenAI gpt-image-1 API生成和编辑图像 原创
本文介绍了OpenAI公司最新推出的多模态语言模型gpt-image-1,该模型能够生成高质量图像并融入现实世界知识。还阐述了gpt-image-1的关键特性、可用性、定价、访问方式及其在实际应用中的图像生成和编辑方法。最后通过代码示例,展示了如何使用gpt-image-1 API根据文本提示生成和编辑图像。
OpenAI公司的ChatGPT在引入图像生成模型之后,迅速在互联网上风靡。人们被其能够生成“吉卜力风格”自画像的能力所吸引,还能将个人回忆转化为动画作品。OpenAI公司进一步推出了新的原生多模态模型“gpt-image-1”,它可以在ChatGPT中直接生成图像,并且能够通过API使用。本文将探讨OpenAI公司的gpt-image-1模型的关键特性,以及如何使用它进行图像生成和编辑。
gpt-image-1是什么?
gpt-image-1是OpenAI公司最新、最先进的多模态语言模型。它因其生成高质量图像的能力而脱颖而出,同时将现实世界知识融入视觉内容中。尽管gpt-image-1以其强大的性能而备受推荐,但这个Image API还支持其他专用模型,例如DALL•E 2和DALL•E 3。
gpt-image-1提供了三个关键端点,每个端点都是为特定的任务设计的:
- 生成:使用文本提示从零开始创建图像。
- 编辑:使用新提示对现有图像进行部分或全部修改。
- 变体:生成现有映像的变体(仅适用于DALL•E2)。
gpt-image-1的主要特性
gpt-image-1提供了几个关键特性:
- 高保真图像:生成详细和准确的视觉效果。
- 多样化视觉风格:支持从照片现实到抽象的一系列美学。
- 精准的图像编辑:能够对生成的图像进行有针对性的修改。
- 丰富知识储备:能够准确理解复杂提示的上下文。
- 一致的文本渲染:可靠地渲染图像中的文本。
可用性
OpenAI API使用户能够使用GPT Image或DALL•E模型从文本提示生成和编辑图像。目前,图像生成只能通过image API进行访问,不过对响应API的支持正在积极开发中。
要了解更多关于gpt-image 1的信息,请单击此处。
gpt-image-1的定价
在深入研究如何使用和部署模型之前,了解其定价以确保其有效且经济地使用该模型非常重要。
gpt-image-1模型是按令牌定价的,文本和图像令牌的定价不同:
- 文本输入令牌(提示):每100万令牌5美元
- 图像输入令牌(上传的图像):每100万令牌10美元
- 图像输出令牌(生成的图像):每100万令牌40美元
实际上,这大致相当于:
- 低质量方形图像的定价约0.02美元
- 中等质量的方形图像的定价约0.07美元
- 高质量方形图像的定价约0.19美元
有关图像质量和分辨率的更详细定价,请参阅官方定价页面。
注意:该模型通过首先创建专门的图像令牌来生成图像。因此,延迟和总成本都取决于所使用令牌的数量。更大的图像尺寸和更高的质量设置需要更多的令牌,从而增加了时间和成本。
如何访问gpt-image-1?
生成gpt-image-1的API Key:
(1)登录OpenAI平台
(2)进入Project>API Key页面
(3)验证帐户
为此,首先请访问:https://platform.openai.com/settings/organization/general。然后,点击“验证组织”开始验证过程。它与任何KYC验证类似,根据不同的国家,将被要求上传带照片的身份证,然后用自拍进行验证。
可以按照Open AI提供的文档来更好地理解验证过程。
gpt-image-1:实际应用
以下了解如何使用gpt-image-1 API生成图像。
将使用图像生成端点根据文本提示创建图像。在默认情况下,API返回单个图像,可以设置n参数以在一个请求中一次生成多个图像。
在运行主要代码之前,需要首先运行用于安装和设置环境的代码。
!pip install openai
import os
os.environ['OPENAI_API_KEY'] = "<your-openai-api-key>"
现在,尝试使用这个新模型生成图像。
输入代码:
from openai import OpenAI
import base64
client = OpenAI()
prompt = """
A serene, peaceful park scene where humans and friendly robots are enjoying the
day together - some are walking, others are playing games or sitting on benches
under trees. The atmosphere is warm and harmonious, with soft sunlight filtering
through the leaves.
"""
result = client.images.generate(
model="gpt-image-1",
prompt=prompt
)
image_base64 = result.data[0].b64_json
image_bytes = base64.b64decode(image_base64)
# Save the image to a file
with open("utter_bliss.png", "wb") as f:
f.write(image_bytes)
输出:
使用gpt-image-1编辑图像
gpt-image-1 提供多种图像编辑功能,通过其图像编辑端点可以实现:
- 编辑现有图像。
- 使用其他图像作为参考生成新图像。
- 通过上传图像和遮罩(mask)来编辑图像的某些部分,指出哪些区域应该被替换(这个过程被称为图像修复)。
使用遮罩编辑图像示例
以下代码演示如何通过遮罩将埃隆·马斯克添加到指定图像中。
遮罩的透明区域会根据提示替换内容,而彩色区域保持不变:
输入代码:
from openai import OpenAI
client = OpenAI()
result = client.images.edit(
model="gpt-image-1",
image=open("/content/analytics_vidhya_1024.png", "rb"),
mask=open("/content/mask_alpha_1024.png", "rb"),
prompt="Elon Musk standing in front of Company Logo"
)
image_base64 = result.data[0].b64_json
image_bytes = base64.b64decode(image_base64)
# Save the image to a file
with open("Elon_AV.png", "wb") as f:
f.write(image_bytes)
输出:
使用gpt-image-1编辑图像时需要注意以下一些事项:
- 需要编辑的图像和相应的遮罩必须具有相同的格式和尺寸,并且大小应小于25MB。
- 给出的提示可以用来描述整个新图像,而不仅仅是正在编辑的部分。
- 如果提供多个输入图像,遮罩将仅应用于第一张图像。
- 遮罩图像必须包含alpha通道。如果使用图像编辑工具来创建遮罩,需要确保在启用alpha通道的情况下保存遮罩。
- 如果有一张黑白图像,可以使用应用程序来添加一个alpha通道,并将其转换为一个有效的遮罩,例如以下代码:
from PIL import Image
from io import BytesIO
# 1. Load your black & white mask as a grayscale image
mask = Image.open("/content/analytics_vidhya_masked.jpeg").convert("L")
# 2. Convert it to RGBA so it has space for an alpha channel
mask_rgba = mask.convert("RGBA")
# 3. Then use the mask itself to fill that alpha channel
mask_rgba.putalpha(mask)
# 4. Convert the mask into bytes
buf = BytesIO()
mask_rgba.save(buf, format="PNG")
mask_bytes = buf.getvalue()
# 5. Save the resulting file
img_path_mask_alpha = "mask_alpha.png"
with open(img_path_mask_alpha, "wb") as f:
f.write(mask_bytes)
使用模型的最佳实践
以下是使用gpt-image-1生成或编辑图像时应遵循的一些技巧和最佳实践。
(1)可以通过设置尺寸、质量、文件格式、压缩级别以及背景是否透明等选项来自定义图像的外观。这些设置可帮助控制最终输出以满足特定需求。
(2)为了更快获得结果,使用方形图像(1024×1024)和标准质量。也可以选择纵向(1536×1024)或横向(1024×1536)格式。质量可以设置为低、中或高,大小和质量都默认为自动。
(3)Image API返回base64编码的图像数据。图像保存的默认格式是png,但也可以将图像格式设置为jpeg或webp。
(4)如果使用jpeg或webp格式,那么还可以指定output_compression参数来控制压缩级别(0-100%)。例如,output_compressinotallow=50将把图像压缩50%。
gpt-image-1的应用
从创意设计和电子商务到教育、企业软件和游戏,gpt-image-1具有广泛的应用范围。
- 游戏:内容创造、角色遮罩、动态背景、角色生成、概念设计
- 创意工具:艺术品生成、风格转换、设计原型、视觉叙事
- 教育:视觉教具、历史再现、互动学习内容、概念可视化
- 企业软件:幻灯片视觉效果、报告插图、数据到图像生成、品牌资产
- 广告和市场营销:活动视觉效果、社交媒体图形、本地化内容创作
- 医疗保健:医学插图、患者扫描图像、模型训练的合成图像数据
- 建筑和房地产:室内模型、室外效果图、布局预览、装修创意
- 娱乐与媒体:场景概念、宣传材料、数字替身
gpt-image-1的局限性
gpt-40图像模型是一个强大而通用的图像生成工具,但仍有一些限制:
- 延迟:处理更复杂的提示可能需要长达2分钟的处理时间。
- 文本渲染:虽然该模型明显优于DALL·E模型,但在精确的文本对齐和清晰度方面仍可能面临挑战。
- 一致性:虽然它可以生成视觉上一致的图像,但gpt-image-1有时可能难以在多个图像中保持重复出现的角色或品牌元素的一致性。
- 组合控制:即使有改进的指令遵循能力,gpt-image-1可能并不总是准确地将元素放置在结构化或布局敏感的设计中。
模型比较
下表是OpenAI的gpt-image-1与流行的DALL·E模型的比较:
模型 | 端点 | 特性 |
DALL·E 2 | 生成、编辑、变体 | 成本更低,支持并发请求,包括修复功能 |
DALL·E 3 | 只有生成 | 比DALL•E2分辨率更高,图像质量更好 |
gpt-image-1 | 生成、编辑(响应API即将发布) | 出色的指导遵循、详细的编辑、现实世界的意识 |
结论
OpenAI的gpt-image-1展现了强大的图像生成能力,支持通过简单文本提示实现图像生成、编辑和变体。gpt-image-1内置图像尺寸、质量、格式等自定义选项,并配备图像修复功能,使开发者能对输出结果进行全面且透明的控制。虽然有些人担心此类技术可能取代人类创造力,但值得注意的是,此类工具的目标在于增强人类的创造力,并成为艺术家的实用工具。人们必须找到恰当的平衡点——既让这些工具能推展创新,又不削弱人类原创作品的核心价值。
原文标题:How to Generate and Edit Images Using OpenAI gpt-image-1 API,作者:Shaik Hamzah
