如何使用 DALL-E 模型
OpenAI 的 DALL-E 模型會根據使用者提供的文字提示產生影像。 本指南示範如何使用 DALL-E 模型,並透過 REST API 呼叫設定其選項。
必要條件
- Azure 訂用帳戶。 您可以免費建立一個訂用帳戶。
- 在瑞典中部區域建立的 Azure OpenAI 資源。 如需詳細資訊,請參閱建立及部署 Azure OpenAI 服務資源。
- 使用 Azure OpenAI 資源部署 dall-e-3 模型。
呼叫影像產生 API
下列命令顯示搭配程式碼使用 DALL-E 的最基本方式。 如果這是您第一次以程式設計方式使用這些模型,建議您從 DALL-E 快速入門開始。
將 POST 要求傳送至:
https://<your_resource_name>.openai.azure.com/openai/deployments/<your_deployment_name>/images/generations?api-version=<api_version>
取代下列佔位元:
<your_resource_name>
是您 Azure OpenAI 資源的名稱。<your_deployment_name>
是 DALL-E 3 模型部署的名稱。<api_version>
是您想要使用的 API 版本。 例如:2024-02-01
。
必要標頭:
Content-Type
:application/json
api-key
:<your_API_key>
本文:
下列是範例要求本文。 您可以指定一些定義於後續章節中的選項。
{
"prompt": "A multi-colored umbrella on the beach, disposable camera",
"size": "1024x1024",
"n": 1,
"quality": "hd",
"style": "vivid"
}
輸出
成功影像產生 API 呼叫的輸出看起來像下列範例。 url
欄位包含 URL,您可以在其中下載產生的影像。 URL 會維持在作用中 24 小時。
{
"created": 1698116662,
"data": [
{
"url": "<URL_to_generated_image>",
"revised_prompt": "<prompt_that_was_used>"
}
]
}
API 呼叫拒絕
提示和影像會根據我們的內容原則進行篩選,並在標幟提示或影像時傳回錯誤。
如果您提示已標幟,則訊息中的 error.code
值會設定為 contentFilter
。 以下是範例:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
產生的影像本身也可能遭到篩選。 在此情況下,錯誤訊息會設定為 [產生的映像] 會因為我們的安全系統而篩選。 以下是範例:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
寫入影像提示
您的影像提示應該描述您想要在影像中看到的內容,以及影像的視覺樣式。
撰寫提示時,請考慮影像產生 API 隨附的內容調節篩選器。 如果服務將提示辨識為有害內容,則它就不會產生影像。 如需詳細資訊,請參閱內容篩選。
提示
如需如何調整文字提示以產生不同類型的影像,請參閱影像提示工程指南。
指定 API 選項
下列 API 本文參數可用於 DALL-E 影像產生。
大小
產生的影像大小。 針對 DALL-E 3 模型,必須是 1024x1024
、1792x1024
或 1024x1792
中的其中一個。 正方形影像的產生速度較快。
樣式
DALL-E 3 引進兩種樣式選項:natural
和 vivid
。 自然風格更類似於 DALL-E 2 預設樣式,而生動的風格則會產生更多的超真實和電影影像。
在 DALL-E 3 過度誇大或混淆主旨的案例中,自然樣式很有用,這些主題意在更簡單、更柔和或更現實的情況下。
預設值是 vivid
。
品質
影像品質有兩個選項:hd
和 standard
。 hd 選項會建立影像,其詳細數據更精細,且影像的一致性更高。 標準映像可以更快產生。
預設值是 standard
。
數字
使用 DALL-E 3 時,您無法在單一 API 呼叫中產生多個映像: n
參數必須設定為 1。 如果您需要一次產生多個影像,請提出平行要求。
回應格式
傳回所產生影像的格式。 必須是其中一個 url
(指向影像的 URL) 或 b64_json
(JSON 格式的基底 64 位元組程式碼)。 預設值為 url
。