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