如何使用 DALL-E 模型

OpenAI 的 DALL-E 模型會根據使用者提供的文字提示產生影像。 本指南示範如何使用 DALL-E 模型,並透過 REST API 呼叫設定其選項。

必要條件

呼叫影像產生 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 模型,必須是 1024x10241792x10241024x1792 中的其中一個。 正方形影像的產生速度較快。

樣式

DALL-E 3 引進兩種樣式選項:naturalvivid。 自然風格更類似於 DALL-E 2 預設樣式,而生動的風格則會產生更多的超真實和電影影像。

在 DALL-E 3 過度誇大或混淆主旨的案例中,自然樣式很有用,這些主題意在更簡單、更柔和或更現實的情況下。

預設值是 vivid

品質

影像品質有兩個選項:hdstandard。 hd 選項會建立影像,其詳細數據更精細,且影像的一致性更高。 標準映像可以更快產生。

預設值是 standard

數字

使用 DALL-E 3 時,您無法在單一 API 呼叫中產生多個映像: n 參數必須設定為 1。 如果您需要一次產生多個影像,請提出平行要求。

回應格式

傳回所產生影像的格式。 必須是其中一個 url (指向影像的 URL) 或 b64_json (JSON 格式的基底 64 位元組程式碼)。 預設值為 url