譯者 | 李睿
審校 | 重樓
本文介紹了OpenAI公司最新推出的多模態(tài)語言模型gpt-image-1,該模型能夠生成高質(zhì)量圖像并融入現(xiàn)實世界知識。還闡述了gpt-image-1的關(guān)鍵特性、可用性、定價、訪問方式及其在實際應(yīng)用中的圖像生成和編輯方法。最后通過代碼示例,展示了如何使用gpt-image-1 API根據(jù)文本提示生成和編輯圖像。
OpenAI公司的ChatGPT在引入圖像生成模型之后,迅速在互聯(lián)網(wǎng)上風(fēng)靡。人們被其能夠生成“吉卜力風(fēng)格”自畫像的能力所吸引,還能將個人回憶轉(zhuǎn)化為動畫作品。OpenAI公司進一步推出了新的原生多模態(tài)模型“gpt-image-1”,它可以在ChatGPT中直接生成圖像,并且能夠通過API使用。本文將探討OpenAI公司的gpt-image-1模型的關(guān)鍵特性,以及如何使用它進行圖像生成和編輯。
gpt-image-1是什么?
gpt-image-1是OpenAI公司最新、最先進的多模態(tài)語言模型。它因其生成高質(zhì)量圖像的能力而脫穎而出,同時將現(xiàn)實世界知識融入視覺內(nèi)容中。盡管gpt-image-1以其強大的性能而備受推薦,但這個Image API還支持其他專用模型,例如DALL?E 2和DALL?E 3。
gpt-image-1提供了三個關(guān)鍵端點,每個端點都是為特定的任務(wù)設(shè)計的:
- 生成:使用文本提示從零開始創(chuàng)建圖像。
- 編輯:使用新提示對現(xiàn)有圖像進行部分或全部修改。
- 變體:生成現(xiàn)有映像的變體(僅適用于DALL?E2)。
gpt-image-1的主要特性
gpt-image-1提供了幾個關(guān)鍵特性:
- 高保真圖像:生成詳細和準確的視覺效果。
- 多樣化視覺風(fēng)格:支持從照片現(xiàn)實到抽象的一系列美學(xué)。
- 精準的圖像編輯:能夠?qū)ι傻膱D像進行有針對性的修改。
- 豐富知識儲備:能夠準確理解復(fù)雜提示的上下文。
- 一致的文本渲染:可靠地渲染圖像中的文本。
可用性
OpenAI API使用戶能夠使用GPT Image或DALL?E模型從文本提示生成和編輯圖像。目前,圖像生成只能通過image API進行訪問,不過對響應(yīng)API的支持正在積極開發(fā)中。
要了解更多關(guān)于gpt-image 1的信息,請單擊此處。
gpt-image-1的定價
在深入研究如何使用和部署模型之前,了解其定價以確保其有效且經(jīng)濟地使用該模型非常重要。
gpt-image-1模型是按令牌定價的,文本和圖像令牌的定價不同:
- 文本輸入令牌(提示):每100萬令牌5美元
- 圖像輸入令牌(上傳的圖像):每100萬令牌10美元
- 圖像輸出令牌(生成的圖像):每100萬令牌40美元
實際上,這大致相當(dāng)于:
- 低質(zhì)量方形圖像的定價約0.02美元
- 中等質(zhì)量的方形圖像的定價約0.07美元
- 高質(zhì)量方形圖像的定價約0.19美元
有關(guān)圖像質(zhì)量和分辨率的更詳細定價,請參閱官方定價頁面。
注意:該模型通過首先創(chuàng)建專門的圖像令牌來生成圖像。因此,延遲和總成本都取決于所使用令牌的數(shù)量。更大的圖像尺寸和更高的質(zhì)量設(shè)置需要更多的令牌,從而增加了時間和成本。
如何訪問gpt-image-1?
生成gpt-image-1的API Key:
(1)登錄OpenAI平臺
(2)進入Project>API Key頁面
(3)驗證帳戶
為此,首先請訪問:https://platform.openai.com/settings/organization/general。然后,點擊“驗證組織”開始驗證過程。它與任何KYC驗證類似,根據(jù)不同的國家,將被要求上傳帶照片的身份證,然后用自拍進行驗證。
可以按照Open AI提供的文檔來更好地理解驗證過程。
gpt-image-1:實際應(yīng)用
以下了解如何使用gpt-image-1 API生成圖像。
將使用圖像生成端點根據(jù)文本提示創(chuàng)建圖像。在默認情況下,API返回單個圖像,可以設(shè)置n參數(shù)以在一個請求中一次生成多個圖像。
在運行主要代碼之前,需要首先運行用于安裝和設(shè)置環(huán)境的代碼。
!pip install openai
import os
os.environ['OPENAI_API_KEY'] = "<your-openai-api-key>"
現(xiàn)在,嘗試使用這個新模型生成圖像。
輸入代碼:
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 提供多種圖像編輯功能,通過其圖像編輯端點可以實現(xiàn):
- 編輯現(xiàn)有圖像。
- 使用其他圖像作為參考生成新圖像。
- 通過上傳圖像和遮罩(mask)來編輯圖像的某些部分,指出哪些區(qū)域應(yīng)該被替換(這個過程被稱為圖像修復(fù))。
使用遮罩編輯圖像示例
以下代碼演示如何通過遮罩將埃隆·馬斯克添加到指定圖像中。
遮罩的透明區(qū)域會根據(jù)提示替換內(nèi)容,而彩色區(qū)域保持不變:
輸入代碼:
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編輯圖像時需要注意以下一些事項:
- 需要編輯的圖像和相應(yīng)的遮罩必須具有相同的格式和尺寸,并且大小應(yīng)小于25MB。
- 給出的提示可以用來描述整個新圖像,而不僅僅是正在編輯的部分。
- 如果提供多個輸入圖像,遮罩將僅應(yīng)用于第一張圖像。
- 遮罩圖像必須包含alpha通道。如果使用圖像編輯工具來創(chuàng)建遮罩,需要確保在啟用alpha通道的情況下保存遮罩。
- 如果有一張黑白圖像,可以使用應(yīng)用程序來添加一個alpha通道,并將其轉(zhuǎn)換為一個有效的遮罩,例如以下代碼:
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生成或編輯圖像時應(yīng)遵循的一些技巧和最佳實踐。
(1)可以通過設(shè)置尺寸、質(zhì)量、文件格式、壓縮級別以及背景是否透明等選項來自定義圖像的外觀。這些設(shè)置可幫助控制最終輸出以滿足特定需求。
(2)為了更快獲得結(jié)果,使用方形圖像(1024×1024)和標準質(zhì)量。也可以選擇縱向(1536×1024)或橫向(1024×1536)格式。質(zhì)量可以設(shè)置為低、中或高,大小和質(zhì)量都默認為自動。
(3)Image API返回base64編碼的圖像數(shù)據(jù)。圖像保存的默認格式是png,但也可以將圖像格式設(shè)置為jpeg或webp。
(4)如果使用jpeg或webp格式,那么還可以指定output_compression參數(shù)來控制壓縮級別(0-100%)。例如,output_compressinotallow=50將把圖像壓縮50%。
gpt-image-1的應(yīng)用
從創(chuàng)意設(shè)計和電子商務(wù)到教育、企業(yè)軟件和游戲,gpt-image-1具有廣泛的應(yīng)用范圍。
- 游戲:內(nèi)容創(chuàng)造、角色遮罩、動態(tài)背景、角色生成、概念設(shè)計
- 創(chuàng)意工具:藝術(shù)品生成、風(fēng)格轉(zhuǎn)換、設(shè)計原型、視覺敘事
- 教育:視覺教具、歷史再現(xiàn)、互動學(xué)習(xí)內(nèi)容、概念可視化
- 企業(yè)軟件:幻燈片視覺效果、報告插圖、數(shù)據(jù)到圖像生成、品牌資產(chǎn)
- 廣告和市場營銷:活動視覺效果、社交媒體圖形、本地化內(nèi)容創(chuàng)作
- 醫(yī)療保?。?/strong>醫(yī)學(xué)插圖、患者掃描圖像、模型訓(xùn)練的合成圖像數(shù)據(jù)
- 建筑和房地產(chǎn):室內(nèi)模型、室外效果圖、布局預(yù)覽、裝修創(chuàng)意
- 娛樂與媒體:場景概念、宣傳材料、數(shù)字替身
gpt-image-1的局限性
gpt-40圖像模型是一個強大而通用的圖像生成工具,但仍有一些限制:
- 延遲:處理更復(fù)雜的提示可能需要長達2分鐘的處理時間。
- 文本渲染:雖然該模型明顯優(yōu)于DALL·E模型,但在精確的文本對齊和清晰度方面仍可能面臨挑戰(zhàn)。
- 一致性:雖然它可以生成視覺上一致的圖像,但gpt-image-1有時可能難以在多個圖像中保持重復(fù)出現(xiàn)的角色或品牌元素的一致性。
- 組合控制:即使有改進的指令遵循能力,gpt-image-1可能并不總是準確地將元素放置在結(jié)構(gòu)化或布局敏感的設(shè)計中。
模型比較
下表是OpenAI的gpt-image-1與流行的DALL·E模型的比較:
模型 | 端點 | 特性 |
DALL·E 2 | 生成、編輯、變體 | 成本更低,支持并發(fā)請求,包括修復(fù)功能 |
DALL·E 3 | 只有生成 | 比DALL?E2分辨率更高,圖像質(zhì)量更好 |
gpt-image-1 | 生成、編輯(響應(yīng)API即將發(fā)布) | 出色的指導(dǎo)遵循、詳細的編輯、現(xiàn)實世界的意識 |
結(jié)論
OpenAI的gpt-image-1展現(xiàn)了強大的圖像生成能力,支持通過簡單文本提示實現(xiàn)圖像生成、編輯和變體。gpt-image-1內(nèi)置圖像尺寸、質(zhì)量、格式等自定義選項,并配備圖像修復(fù)功能,使開發(fā)者能對輸出結(jié)果進行全面且透明的控制。雖然有些人擔(dān)心此類技術(shù)可能取代人類創(chuàng)造力,但值得注意的是,此類工具的目標在于增強人類的創(chuàng)造力,并成為藝術(shù)家的實用工具。人們必須找到恰當(dāng)?shù)钠胶恻c——既讓這些工具能推展創(chuàng)新,又不削弱人類原創(chuàng)作品的核心價值。
原文標題:How to Generate and Edit Images Using OpenAI gpt-image-1 API,作者:Shaik Hamzah