在這篇文章中,我們將介紹如何利用 OpenAI 的 DALL·E
圖像生成 API,實現文字轉圖像的功能。文生圖指的是通過輸入一段文字描述(Prompt),生成與之相符的圖像。以下將結合程式碼實例,詳細說明實現的過程。
前置準備
- 取得 OpenAI API Key
前往 OpenAI 官網,註冊帳號並申請 API 金鑰。 - 安裝必要的 Python 套件
在使用程式碼之前,請確保已安裝以下套件:
1 |
pip install openai requests |
實現文生圖功能
以下是程式碼的核心功能,檔案名稱為 openai_txt2img.py
。
程式碼說明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
from openai import OpenAI import requests import os # 初始化 OpenAI 客戶端 client = OpenAI() def generate_image(prompt, output_file="generated_image.png"): """ 使用 OpenAI DALL·E API 根據提示生成圖片。 :param prompt: 描述圖片的文字提示 :param output_file: 保存圖片的檔案名稱 """ try: # 呼叫 OpenAI 的圖像生成接口 response = client.images.generate(prompt=prompt, n=1, size="512x512") # 獲取圖片的 URL image_url = response.data[0].url print(f"Image URL: {image_url}") # 下載圖片並儲存至本地 img_data = requests.get(image_url).content with open(output_file, 'wb') as handler: handler.write(img_data) print(f"Image saved as {output_file}") except Exception as e: print(f"Error generating image: {e}") # 示例調用 prompt = "一座未來城市,有飛行車與霓虹燈,夜晚的場景" generate_image(prompt, output_file="futuristic_city.png") |
API 金鑰設定
建議會使用環境變數來指定 API key, 將 API Key 寫在文件中比較有安全風險。
1 |
export OPENAI_API_KEY="your_api_key_here" |
關鍵程式碼解析
client.images.generate
這行程式碼呼叫 OpenAI 的圖像生成 API。你可以指定以下參數:prompt
:輸入的文字描述。n
:生成圖片的數量。size
:圖片的解析度(例如:512x512
)。
- 下載與儲存圖片
requests.get(image_url).content
:從 API 返回的 URL 下載圖片。open(output_file, 'wb')
:將圖片以二進位格式儲存到本地。
- 錯誤處理
如果發生錯誤,except
區塊將捕獲並輸出詳細的錯誤訊息。
實際執行效果
執行程式後,將會:
- 根據輸入的
prompt
生成圖片。 - 自動下載圖片並儲存為本地檔案,例如:
futuristic_city.png
。
生成的圖片 URL 也會顯示在終端,方便直接查看或分享。
結語
透過上述方法,我們可以輕鬆地使用 OpenAI 的 API 實現文生圖功能。無論是用於創意設計還是自動化工具,這都為我們提供了強大的圖像生成能力。如果您有任何問題或需要協助,歡迎留言交流!