如何使用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具有廣泛的應用范圍。
- 游戲:內容創造、角色遮罩、動態背景、角色生成、概念設計
- 創意工具:藝術品生成、風格轉換、設計原型、視覺敘事
- 教育:視覺教具、歷史再現、互動學習內容、概念可視化
- 企業軟件:幻燈片視覺效果、報告插圖、數據到圖像生成、品牌資產
- 廣告和市場營銷:活動視覺效果、社交媒體圖形、本地化內容創作
- 醫療保?。?/strong>醫學插圖、患者掃描圖像、模型訓練的合成圖像數據
- 建筑和房地產:室內模型、室外效果圖、布局預覽、裝修創意
- 娛樂與媒體:場景概念、宣傳材料、數字替身
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
