使用負面提示省略內容

在 Colab 中試用 Imagen

本頁說明如何從 Imagen on Vertex AI 生成的圖片中省略內容。

負面提示是描述您想在生成的圖片中省略的內容。 舉例來說,請考慮提示「夜間的城市街道下著雨,沒有人」。模型可能會將「人」解讀為要加入的內容,而非要省略的內容。如要生成更理想的結果,可以使用提示「夜晚的城市街道下著雨」,並搭配負面提示「人」

Imagen 會生成有和沒有負面提示的圖片:

僅限文字提示

  • 文字提示:「a pizza

三張披薩圖片範例

文字提示和負面提示

  • 文字提示:「a pizza
  • 負面提示:「pepperoni

三張沒有義式臘腸的披薩圖片範例

下列模型支援負面提示:

  • imagen-3.0-capability-001
  • imagen-3.0-fast-generate-001
  • imagen-3.0-generate-001

使用負面提示

如要從生成的圖片中省略內容,請按照下列步驟操作:

控制台

  1. 在 Google Cloud 控制台中,前往「Vertex AI」>「Media Studio」頁面。

    前往媒體工作室

  2. 按一下「Imagen」。系統會顯示 Imagen Media Studio 圖像生成頁面。

  3. 在「設定」面板中,調整下列選項:

    • 模式:從可用選項中選擇模式。

      如要進一步瞭解可用的模型,請參閱 Imagen 模型

    • 結果數量:調整滑桿或輸入介於 14 之間的值。

    • 在「負面提示」方塊中輸入提示,說明您不希望圖片生成哪些內容。

  4. 在「撰寫提示」方塊中,輸入文字提示來描述要生成的圖片。例如「水上小船,早晨水彩插畫」

    如要進一步瞭解如何撰寫有效的提示,請參閱提示和圖片屬性指南

  5. 按一下「生成」

REST

負面提示是 JSON 請求主體 parameters 物件中的選用欄位。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:您的 Google Cloud 專案 ID
  • MODEL_VERSION:要使用的 Imagen 模型版本。如要進一步瞭解可用的模型,請參閱 Imagen 模型

  • LOCATION:專案的區域。例如 us-central1europe-west2asia-northeast3。如需可用區域的清單,請參閱「Vertex AI 的生成式 AI 服務地區」。
  • TEXT_PROMPT:文字提示,引導模型生成圖片。生成和編輯時都必須填寫這個欄位。
  • IMAGE_COUNT:生成的圖片數量。 可接受的整數值:1 到 8 (imagegeneration@002),1 到 4 (所有其他模型版本)。 預設值為 4。
  • 其他選用參數

    請視用途使用下列選用變數。在 "parameters": {} 物件中新增部分或所有下列參數。 這份清單列出常見的選用參數,並非完整清單。如要進一步瞭解選用參數,請參閱 Imagen API 參考資料:生成圖片

    "parameters": {
      "sampleCount": IMAGE_COUNT,
      "addWatermark": ADD_WATERMARK,
      "aspectRatio": "ASPECT_RATIO",
      "enhancePrompt": ENABLE_PROMPT_REWRITING,
      "includeRaiReason": INCLUDE_RAI_REASON,
      "includeSafetyAttributes": INCLUDE_SAFETY_ATTRIBUTES,
      "outputOptions": {
        "mimeType": "MIME_TYPE",
        "compressionQuality": COMPRESSION_QUALITY
      },
      "personGeneration": "PERSON_SETTING",
      "safetySetting": "SAFETY_SETTING",
      "seed": SEED_NUMBER,
      "storageUri": "OUTPUT_STORAGE_URI"
    }
    
    • ADD_WATERMARK:布林值。(選用步驟) 是否為生成的圖像啟用浮水印。 如果將欄位設為 true,系統會為生成的圖片加上 SynthID 數位浮水印,方便您驗證圖片。如果省略這個欄位,系統會使用預設值 true;如要停用這項功能,請將值設為 false。只有在將這個欄位設為 false 時,才能使用 seed 欄位取得確定性輸出內容。
    • ASPECT_RATIO:字串。(選用步驟) 控制長寬比的生成模式參數。支援的比例值及其用途:
      • 1:1 (預設,正方形)
      • 3:4 (廣告、社群媒體)
      • 4:3 (電視、攝影)
      • 16:9 (橫向)
      • 9:16 (直向)
    • ENABLE_PROMPT_REWRITING:布林值。(選用步驟) 這個參數可使用以 LLM 為基礎的提示重寫功能,提供更能反映原始提示意圖的高畫質圖像。停用這項功能可能會影響影像品質和提示遵循率。預設值為 true
    • INCLUDE_RAI_REASON:布林值。(選用步驟) 是否要在輸入或輸出內容遭到封鎖的回覆中,啟用「負責任的 AI 技術篩選理由」代碼。預設值: true
    • INCLUDE_SAFETY_ATTRIBUTES:布林值。(選用步驟) 是否要在未經過濾的輸入內容和輸出內容的回覆中,針對一系列安全屬性啟用四捨五入的負責任 AI 分數。安全屬性類別:"Death, Harm & Tragedy""Firearms & Weapons""Hate""Health""Illicit Drugs""Politics""Porn""Religion & Belief""Toxic""Violence""Vulgarity""War & Conflict"。預設值為 false
    • MIME_TYPE:字串。(選用步驟) 圖片內容的 MIME 類型。可用值:
      • image/jpeg
      • image/gif
      • image/png
      • image/webp
      • image/bmp
      • image/tiff
      • image/vnd.microsoft.icon
    • COMPRESSION_QUALITY:整數。(選用步驟) 僅適用於 JPEG 輸出檔案。模型為以 JPEG 檔案格式生成的圖片保留的細節程度。值:0100,數字越大表示壓縮程度越高。預設值: 75
    • PERSON_SETTING:字串。(選用步驟) 這項安全性設定可控管模型允許生成的人物或臉部類型。可用值:
      • allow_adult (預設):只允許生成成人內容,但名人生成除外。任何設定都不允許生成名人。
      • dont_allow:禁止在生成圖像中加入人物或臉部。
    • SAFETY_SETTING:字串。(選用步驟) 這項設定可控管生成圖像的安全篩選器門檻。可用值:
      • block_low_and_above:安全門檻最高,因此篩除的生成圖像數量最多。先前的值:block_most
      • block_medium_and_above (預設):中等安全門檻,可平衡篩選潛在有害和安全內容。先前的值:block_some
      • block_only_high:安全門檻,可減少因安全篩選機制而遭封鎖的要求數。這項設定可能會增加 Imagen 生成的不當內容。先前的值:block_few
    • SEED_NUMBER:整數。(選用步驟) 您提供的任何非負整數,可讓輸出圖片具有確定性。提供相同的種子編號一律會產生相同的輸出圖片。如果您使用的模型支援數位浮水印,就必須設定 "addWatermark": false 才能使用這個欄位。可接受的整數值:1 - 2147483647
    • OUTPUT_STORAGE_URI:字串。(選用步驟) 用於儲存輸出圖片的 Cloud Storage bucket。如果未提供,回應中會傳回 base64 編碼的圖片位元組。範例值: gs://image-bucket/output/

HTTP 方法和網址:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict

JSON 要求主體:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT"
    }
  ],
  "parameters": {
    "sampleCount": IMAGE_COUNT
  }
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict"

PowerShell

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict" | Select-Object -Expand Content
以下是含有 "sampleCount": 2 的要求範例回應。回應會傳回兩個預測物件,其中包含以 base64 編碼產生的圖片位元組。
{
  "predictions": [
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}

如果您使用的模型支援提示強化功能,回應會包含額外的 prompt 欄位,其中含有用於生成內容的強化提示:

{
  "predictions": [
    {
      "mimeType": "MIME_TYPE",
      "prompt": "ENHANCED_PROMPT_1",
      "bytesBase64Encoded": "BASE64_IMG_BYTES_1"
    },
    {
      "mimeType": "MIME_TYPE",
      "prompt": "ENHANCED_PROMPT_2",
      "bytesBase64Encoded": "BASE64_IMG_BYTES_2"
    }
  ]
}

  1. 更改下列內容:

    • NEGATIVE_PROMPT:用於生成圖片的負面提示。例如:「動物」(移除動物)、「模糊」(讓圖片更清晰)、「文字」(移除文字) 或「裁剪」(移除裁剪的圖片)。
    {
      "instances": [
        ...
      ],
      "parameters": {
        "sampleCount": IMAGE_COUNT,
        "negativePrompt": "NEGATIVE_PROMPT"
      }
    }
    

後續步驟