התאמה אישית של הנושא

התאמה אישית של נושאים ב-Imagen 3 עוזרת לכם ליצור תמונות חדשות על סמך הנחיית טקסט ותמונה לדוגמה שאתם מספקים. התמונה לדוגמה שאתם מספקים עוזרת להנחות את יצירת התמונה החדשה.

המודלים הבאים תומכים בהתאמה אישית של הנושא:

תרחישים לדוגמה

התאמה אישית של Imagen 3 מאפשרת הנחיות בסגנון חופשי, שיכולות ליצור את הרושם שהמודל יכול לעשות יותר ממה שהוא אומן לעשות. בחלקים הבאים מתוארים תרחישי שימוש מיועדים להתאמה אישית של Imagen 3, ודוגמאות לא ממצות של תרחישי שימוש לא מיועדים.

מומלץ להשתמש בהתאמה אישית של Imagen 3 בתרחישי השימוש המיועדים, כי אימנו את המודל על תרחישי השימוש האלה ואנחנו צופים תוצאות טובות עבורם. לעומת זאת, למרות שאפשר להשתמש במודל כדי לבצע פעולות שלא נכללות בתרחישי השימוש המיועדים, אנחנו לא צופים תוצאות טובות.

תרחישים לדוגמה לשימוש

אלה תרחישי שימוש שמיועדים להתאמה אישית של נושאים ב-Imagen 3:

  • יצירת תמונה מסוגננת של אדם
  • ליצור סגנון לתמונה של אדם ולשמור על הבעות הפנים שלו
  • (סיכוי נמוך להצלחה) להציב מוצר, כמו ספה או עוגייה, בסצנות שונות עם זוויות שונות של המוצר.
  • יצירת וריאציות של מוצר שלא שומרות על פרטים מדויקים
  • יצירת סגנון לתמונה של אדם, תוך שמירה על הבעת הפנים

דוגמאות לתרחישי שימוש לא מכוונים

הרשימה הבאה כוללת דוגמאות בלבד, והיא איננה מקיפה, לתרחישי שימוש שבהם לא מתבצע אימון של התאמה אישית ב-Imagen 3, והתוצאות שמתקבלות הן באיכות נמוכה:

  • הצבת שני אנשים או יותר בסצנות שונות תוך שמירה על הזהויות שלהם
  • הצבת שני אנשים או יותר בסצנות שונות תוך שמירה על הזהות שלהם, וציון הסגנון של תמונת הפלט באמצעות תמונה לדוגמה כקלט לסגנון.
  • הוספת סגנון לתמונה של שני אנשים או יותר תוך שמירה על הזהות שלהם
  • הוספת חיית מחמד לסצנות שונות תוך שמירה על הזהות שלה
  • איך מעצבים תמונה של חיית מחמד והופכים אותה לציור
  • ליצור סגנון לתמונה של חיית מחמד ולהפוך אותה לציור, תוך שמירה או ציון של סגנון התמונה (למשל, צבעי מים)
  • הצבת חיית מחמד ואדם בסצנה אחרת, תוך שמירה על הזהויות של שניהם.
  • אפשר להוסיף סגנון לתמונה של חיית מחמד ואדם אחד או יותר ולהפוך אותה לציור
  • הצבת שני מוצרים בסצנות שונות עם זוויות שונות של המוצרים
  • להציב מוצר, כמו עוגייה או ספה, בסצנות שונות עם זוויות שונות של המוצר, ולפי סגנון תמונה ספציפי (למשל, פוטוריאליסטי עם צבעים ספציפיים, סגנונות תאורה או אנימציה)
  • הצבת מוצר בסצנה אחרת, תוך שמירה על הקומפוזיציה הספציפית של הסצנה כפי שצוין בתמונת הבקרה
  • מציבים שני מוצרים בסצנות שונות עם זוויות שונות של המוצרים, באמצעות תמונה ספציפית כקלט (למשל, פוטוריאליסטית עם צבעים ספציפיים, סגנונות תאורה או אנימציה)
  • הצבת שני מוצרים בסצנות שונות, תוך שמירה על הקומפוזיציה הספציפית של הסצנה כפי שצוין בתמונת הבקרה

דוגמאות להתאמה אישית של הנושא

בקטעים הבאים מפורטים תרחישים נתמכים להתאמה אישית של נושאים ב-Imagen 3:

התאמה אישית של אנשים

קלט לדוגמה פלט לדוגמה
  1. תמונה לדוגמה1:
    דוגמה לקלט להתאמה אישית של מוצר
  2. הנחייה טקסטואלית:
    צור תמונה בנושא woman with long hair[1] שתתאים לתיאור הבא: דיוקן של woman with long hair[1] בסגנון סרטים מצוירים בתלת-ממד עם רקע מטושטש. דמות חמודה ומקסימה, עם פנים מחייכות, מסתכלת למצלמה, גוון פסטל, איכות גבוהה, 4k, יצירת מופת, פרטים קטנים, מרקם עור, מיפוי מרקמים, צללים רכים, תאורה רכה ומציאותית, צבעים עזים.

פלט לדוגמה של התאמה אישית של מוצר

1 תמונת קלט לדוגמה שנוצרה באמצעות יצירת תמונות ב-Imagen 3 מההנחיה: פורטרט של אישה בפריז. היא לובשת מכנסיים שחורים וחולצה לבנה.

התאמה אישית של מוצרים

קלט לדוגמה פלט לדוגמה
  1. תמונה לדוגמה2:
    דוגמה לקלט להתאמה אישית של מוצר
  2. הנחיית טקסט:
    תצור תמונה של perfume bottle [1] אבל בצבע ציאן

פלט לדוגמה של התאמה אישית של מוצר
2 תמונת קלט להפניה שנוצרה באמצעות יצירת תמונות של Imagen 3 מההנחיה: תמונה בסגנון מוצר של בקבוק בושם על רקע שחור.

הצגת כרטיס המודל של Imagen לעריכה ולהתאמה אישית

לפני שמתחילים

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  8. מגדירים אימות לסביבה.

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud

    REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud.

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .

התאמה אישית של הנושא

אתם יכולים לספק תמונות לדוגמה של סוגי נושאים כשאתם משתמשים בהתאמה אישית של Imagen 3. בפרט, הנחיות עם כמה דוגמאות (few-shot prompting) ב-Imagen 3 Customization תומכות בנושאים הבאים: מוצר, אדם וחיית מחמד. הנושא שתבחרו ישפיע על אופן יצירת הבקשה ליצירה.

יכול להיות שההנחיה שבה אתם משתמשים בהתאמה אישית של Imagen 3 תשפיע על האיכות של התמונות שנוצרות. בקטעים הבאים מפורטות דוגמאות לתבניות של הנחיות מומלצות לשליחת בקשות להתאמה אישית.

התאמה אישית של אנשים

בטבלה הבאה מפורטות תבניות של הנחיות שאנחנו ממליצים להשתמש בהן כנקודת התחלה כשכותבים הנחיות להתאמה אישית של דמות:

תרחיש שימוש תמונות לדוגמה תבנית הנחיה דוגמה
סגנון תמונה של אדם עם קלט של רשת פנים תמונת הנושא (1)

תמונת בקרה של רשת הפנים (1)
תצור תמונה של SUBJECT_DESCRIPTION [1] עם facemesh from the control image [2]. ${PROMPT} ליצור תמונה של the person [1] עם facemesh from the control image [2]. האדם צריך להסתכל ישר קדימה עם הבעה ניטרלית. הררקע צריך להיות ...
סגנון של תמונת אדם ללא קלט של רשת פנים תמונת הנושא (1-4) תצור תמונה של SUBJECT_DESCRIPTION [1] שתתאים לתיאור: דיוקן של SUBJECT_DESCRIPTION [1] ${PROMPT} תצור תמונה של a woman with short hair[1] שתתאים לתיאור הבא: דיוקן של a woman with short hair[1] בסגנון של סרט מצויר בתלת-ממד עם רקע מטושטש. דמות חמודה ומקסימה, פנים מחייכות, מסתכלת למצלמה, גוון פסטלי, איכות גבוהה, 4k, יצירת מופת, פרטים מדויקים, מרקם עור, מיפוי מרקם, צללים רכים, תאורה רכה ומציאותית, צבעים עזים
סגנון של תמונת אדם ללא קלט של רשת פנים תמונת הנושא (1-4) תצור תמונה של STYLE_DESCRIPTION [2] בנושא SUBJECT_DESCRIPTION [1] שתתאים לתיאור: פורטרט של SUBJECT_DESCRIPTION [1] בסגנון STYLE_PROMPT תיצור תמונה של 3d-cartoon style [2] בנושא a woman with short hair [1] שתתאים לתיאור הבא: דיוקן של a woman with short hair [1] בסגנון סרטים מצוירים בתלת ממד עם רקע מטושטש. דמות חמודה ומקסימה עם פנים מחייכות, מסתכלת למצלמה, גוון פסטל, איכות גבוהה, 4K, יצירת מופת, פרטים קטנים, מרקם עור, מיפוי מרקם, צללים רכים, תאורה רכה ומציאותית, צבעים עזים
סגנון תמונה של אדם עם קלט של רשת פנים תמונת הנושא (1-3)

תמונת בקרה של רשת הפנים (1)
תצור תמונה בנושא SUBJECT_DESCRIPTION [1] בתנוחה של CONTROL_IMAGE [2] בהתאם לתיאור: דיוקן של SUBJECT_DESCRIPTION [1] ${PROMPT} צור תמונה של a woman with short hair [1] בתנוחה של control image [2] בהתאם לתיאור: דיוקן של a woman with short hair [1] בסגנון של קריקטורה בתלת-ממד עם רקע מטושטש. דמות חמודה ומקסימה עם פרצוף מחייך. ‫See the camera, pastel color tone, high quality, 4k, masterpiece, super details, skin texture, texture mapping, Soft shadows, soft realistic lighting, vibrant colors
סגנון תמונה של אדם עם קלט של רשת פנים תמונת הנושא (1-3)

תמונת בקרה של רשת הפנים (1)
תצור תמונה של STYLE_DESCRIPTION [3] בנושא SUBJECT_DESCRIPTION [1] בתנוחה של CONTROL_IMAGE [2] בהתאם לתיאור: דיוקן של SUBJECT_DESCRIPTION [1] ${PROMPT} צור תמונה של 3d-cartoon style [3] בנושא a woman with short hair [1] בתנוחה של control image [2] כדי להתאים לתיאור: דיוקן של a woman with short hair [1] בסגנון קריקטורה בתלת-ממד עם רקע מטושטש. דמות חמודה ומקסימה עם פרצוף מחייך. תמונה של המצלמה, גוון פסטל, איכות גבוהה, 4K, יצירת מופת, פרטים קטנים, מרקם עור, מיפוי מרקם, צללים רכים, תאורה רכה ומציאותית, צבעים עזים

מומלץ שהפנים בתמונת ההפניה יהיו עם המאפיינים הבאים:

  • הוא ממוקם במרכז התמונה ותופס לפחות חצי ממנה
  • הפנים מסובבות בתצוגה חזיתית לכל הכיוונים (גלגול, עלרוד וסבסוב)
  • לא מוסתר על ידי חפצים, כמו משקפי שמש או מסכות

אפשר להשתמש בדוגמאות הבאות כדי לשלוח בקשת התאמה אישית עם תמונות לדוגמה של אנשים שמשמשות להנחיית יצירת התמונה. אפשר לשלוח בקשה כזו עם או בלי תמונה של רשת פנים כדי להנחות את יצירת התמונה.

REST

מידע נוסף על Imagen API:

בדוגמה הזו מוסבר איך לציין אזור בקרה של רשת פנים כדי להנחות את תהליך היצירה, אבל אפשר גם להשמיט את אובייקט ההפניה של הבקרה ("referenceType": "REFERENCE_TYPE_CONTROL") ומערכת Imagen תזהה באופן אוטומטי אזור בקרה של רשת פנים.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • LOCATION: האזור של הפרויקט. לדוגמה, us-central1,‏ europe-west2 או asia-northeast3. רשימת האזורים הזמינים מופיעה במאמר מיקומי AI גנרטיבי ב-Vertex AI. כשמשתמשים בנקודת קצה אזורית של API, האזור מכתובת ה-URL של נקודת הקצה קובע איפה הבקשה תעובד, והערך LOCATION בנתיב המשאב מתעלם אם יש התנגשות.
  • TEXT_PROMPT: הנחייה טקסטואלית קובעת אילו תמונות המודל יוצר. כדי להשתמש בהתאמה אישית של Imagen 3, צריך לכלול את referenceId של תמונת הדוגמה או התמונות שאתם מספקים בפורמט [$referenceId]. לדוגמה:
    • הנחיית הטקסט הבאה היא לבקשה שכוללת שתי תמונות להשוואה עם "referenceId": 1. לשתי התמונות יש תיאור אופציונלי של "subjectDescription": "man with short hair". בנוסף, יש תמונה של רשת פנים לשליטה שצוינה באמצעות "referenceId": 2: צור תמונה של man with short hair [1] בתנוחה של תמונת הבקרה [2] בהתאם לתיאור: סקיצה בסגנון עיפרון של פורטרט של man with short hair [1] בכל הגוף עם ציור הצללה, ציור הצללה של פורטרט עם עיפרון 6B ועיפרון גרפיט, רקע לבן, ציור בעיפרון, איכות גבוהה, משיכת עיפרון, מבט למצלמה, עיניים אנושיות טבעיות
  • "referenceId": המזהה של התמונה לדוגמה, או המזהה של סדרה של תמונות לדוגמה שמתאימות לאותו נושא או סגנון. בדוגמה הזו, שתי התמונות לדוגמה מציגות את אותו אדם, ולכן יש להן אותו referenceId (1), ולתמונה של רשת הפנים לבקרה יש referenceId (2) שונה. התמונה שנוצרה תהיה דומה למבנה הפנים של רשת הפנים שחולצה מהתמונה לדוגמה, והמראה של הפנים ישתפר בהתאם. יש תמיכה רק בבקר רשת אחד של פנים.
  • BASE64_REFERENCE_IMAGE: תמונה לדוגמה שתשמש להנחיית יצירת תמונות. צריך לציין את התמונה כמחרוזת בייטים בקידוד base64.
  • SUBJECT_DESCRIPTION: אופציונלי. תיאור טקסטואלי של תמונת לדוגמה שאפשר להשתמש בו בשדה prompt. לדוגמה:
          "prompt": "a full-body portrait of a man with short hair [1] with hatch-cross
          drawing",
          [...],
          "subjectDescription": "man with short hair"
        
  • IMAGE_COUNT: מספר התמונות שנוצרו. ערכים קבילים מסוג מספר שלם: 1-4. ערך ברירת המחדל: 4.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict

גוף בקשת JSON:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "referenceImages": [

        {
          "referenceType": "REFERENCE_TYPE_SUBJECT",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
          },
          "subjectImageConfig": {
            "subjectDescription": "SUBJECT_DESCRIPTION",
            "subjectType": "SUBJECT_TYPE_PERSON"
          }
        },
        {
          "referenceType": "REFERENCE_TYPE_SUBJECT",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
          },
          "subjectImageConfig": {
            "subjectDescription": "SUBJECT_DESCRIPTION",
            "subjectType": "SUBJECT_TYPE_PERSON"
          }
        },
        {
          "referenceType": "REFERENCE_TYPE_CONTROL",
          "referenceId": 2,
          "referenceImage": {
            "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
          },
          "controlImageConfig": {
            "controlType": "CONTROL_TYPE_FACE_MESH",
            "enableControlImageComputation": true
          }
        }
      ]
    }
  ],
  "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/imagen-3.0-capability-001: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/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
התגובה לדוגמה הבאה היא לבקשה עם "sampleCount": 2. התגובה מחזירה שני אובייקטים של חיזוי, עם בייטים של התמונה שנוצרה בקידוד Base64.
{
  "predictions": [
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}

Python

from google import genai
from google.genai.types import (
    ControlReferenceConfig,
    ControlReferenceImage,
    EditImageConfig,
    Image,
    SubjectReferenceConfig,
    SubjectReferenceImage,
)

client = genai.Client()

# TODO(developer): Update and un-comment below line
# output_gcs_uri = "gs://your-bucket/your-prefix"

# Create subject and control reference images of a photograph stored in Google Cloud Storage
# using https://storage.googleapis.com/cloud-samples-data/generative-ai/image/person.png
subject_reference_image = SubjectReferenceImage(
    reference_id=1,
    reference_image=Image(gcs_uri="gs://cloud-samples-data/generative-ai/image/person.png"),
    config=SubjectReferenceConfig(
        subject_description="a headshot of a woman",
        subject_type="SUBJECT_TYPE_PERSON",
    ),
)
control_reference_image = ControlReferenceImage(
    reference_id=2,
    reference_image=Image(gcs_uri="gs://cloud-samples-data/generative-ai/image/person.png"),
    config=ControlReferenceConfig(control_type="CONTROL_TYPE_FACE_MESH"),
)

image = client.models.edit_image(
    model="imagen-3.0-capability-001",
    prompt="""
    a portrait of a woman[1] in the pose of the control image[2]in a watercolor style by a professional artist,
    light and low-contrast stokes, bright pastel colors, a warm atmosphere, clean background, grainy paper,
    bold visible brushstrokes, patchy details
    """,
    reference_images=[subject_reference_image, control_reference_image],
    config=EditImageConfig(
        edit_mode="EDIT_MODE_DEFAULT",
        number_of_images=1,
        safety_filter_level="BLOCK_MEDIUM_AND_ABOVE",
        person_generation="ALLOW_ADULT",
        output_gcs_uri=output_gcs_uri,
    ),
)

# Example response:
# gs://your-bucket/your-prefix
print(image.generated_images[0].image.gcs_uri)

התאמה אישית של מוצרים

בטבלה הבאה מפורטות תבניות של הנחיות שמומלצות כנקודת התחלה לכתיבת הנחיות להתאמה אישית של מוצרים:

תמונות לדוגמה תבנית הנחיה דוגמה
תמונת הנושא (1-4) צור תמונה בנושא SUBJECT_DESCRIPTION [1] שתתאים לתיאור: ${PROMPT}

צור תמונה בנושא Luxe Elixir hair oil, golden liquid in glass bottle [1] שתתאים לתיאור: תקריב של יד של אישה שמחזיקה Luxe Elixir hair oil, golden liquid in glass bottle [1] על רקע לבן. התמונה מוארת מאוד. היד של האישה מוארת היטב והפוקוס חד על הבקבוק, עם עומק שדה רדוד שמטשטש את הרקע ומדגיש את המוצר. התאורה רכה ומפוזרת, והיא יוצרת זוהר עדין מסביב לבקבוק וליד. הקומפוזיציה הכוללת פשוטה ואלגנטית, ומדגישה את המראה היוקרתי של המוצר.

תמונת הנושא (1-4) יצירת תמונה של SUBJECT_DESCRIPTION אבל ${PROMPT}

תצור תמונה של Seiko watch [1] אבל בצבע כחול.

בדוגמאות הבאות מוסבר איך לשלוח בקשה להתאמה אישית עם תמונות של מוצרים לדוגמה, שמשמשות להנחיית יצירת התמונות.

המסוף

  1. במסוף Google Cloud , עוברים לדף Vertex AI > Vertex AI Studio .
    מעבר אל Vertex AI Studio
  2. בקטע Model בחלונית Parameters, בוחרים באפשרות Imagen 3 אם היא לא נבחרה.
  3. זה שינוי אופציונלי. בוחרים יחס גובה-רוחב שאינו 1:1 (ברירת מחדל).
  4. זה שינוי אופציונלי. משנים את מספר התוצאות.
  5. זה שינוי אופציונלי. כדאי לספק הנחיה שלילית כדי להנחות את המודל לגבי מה לא ליצור.
  6. זה שינוי אופציונלי. משנים את האפשרויות המתקדמות.
  7. בשדה הנחייה טקסטואלית (כתיבת הנחיה...), לוחצים על הוספת הפניה.
    1. בחלונית הוספת הפניה, בוחרים את סוג ההפניה: Subject - product.
    2. בקטע תמונות להשוואה, לוחצים על העלאה.
    3. בוחרים תמונה שמאוחסנת באופן מקומי ולוחצים על פתיחה.
    4. זה שינוי אופציונלי. מספקים תיאור לתמונה לדוגמה.
    5. לוחצים על סיום.
    6. זה שינוי אופציונלי. כדי להוסיף עוד תמונות לדוגמה, לוחצים על הוספת תמונה ומעלים עוד תמונה.
    7. אחרי שמוסיפים את כל התמונות לדוגמה, לוחצים על הוספת דוגמה.

      כל התמונות לדוגמה שמוסיפים בחלונית הזו מקבלות את אותו מספר לדוגמה. כשמוסיפים את ההנחייה הטקסטואלית, צריך להשתמש במספר הסימוכין הזה.

  8. בשדה הנחייה טקסטואלית (כאן כותבים את ההנחיה...), מוסיפים הנחייה טקסטואלית שכוללת את מספר הסימוכין או מספרי הסימוכין של התמונות לדוגמה. לדוגמה:
    1. חדר לבן ומואר, product [1] על שולחן זכוכית
    2. the animal [1] standing on a wide open field with a forest in the distance
    3. דיוקן בשחור-לבן של person [1] ברחוב בעיר בfilm noir style [2]

REST

מידע נוסף על בקשות למודלים זמין במאמר imagen-3.0-capability-001 הפניית API למודלים.imagen-3.0-capability-001

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • LOCATION: האזור של הפרויקט. לדוגמה, us-central1,‏ europe-west2 או asia-northeast3. רשימת האזורים הזמינים מופיעה במאמר מיקומי AI גנרטיבי ב-Vertex AI. כשמשתמשים בנקודת קצה אזורית של API, האזור מכתובת ה-URL של נקודת הקצה קובע איפה הבקשה תעובד, והערך LOCATION בנתיב המשאב מתעלם אם יש התנגשות.
  • TEXT_PROMPT: הנחייה טקסטואלית קובעת אילו תמונות המודל יוצר. כדי להשתמש בהתאמה אישית של Imagen 3, צריך לכלול את referenceId של תמונת הדוגמה או התמונות שאתם מספקים בפורמט [$referenceId]. לדוגמה:
    • צור תמונה של Luxe Elixir hair oil, golden liquid in glass bottle [1] שתתאים לתיאור הבא: תמונה בתקריב עם חשיפת יתר של יד של אישה שמחזיקה Luxe Elixir hair oil, golden liquid in glass bottle [1] על רקע לבן. היד של האישה מוארת היטב והפוקוס חד על הבקבוק, עם עומק שדה רדוד שמטשטש את הרקע ומדגיש את המוצר.
  • "referenceId": המזהה של התמונה לדוגמה, או המזהה של סדרה של תמונות לדוגמה שמתאימות לאותו נושא או סגנון. בדוגמה הזו, שתי תמונות הייחוס מציגות את אותו מוצר, ולכן הן חולקות את אותו ערך referenceId (1).
  • BASE64_REFERENCE_IMAGE: תמונה לדוגמה שתשמש להנחיית יצירת תמונות. צריך לציין את התמונה כמחרוזת בייטים בקידוד base64.
  • SUBJECT_DESCRIPTION: אופציונלי. תיאור טקסטואלי של תמונת לדוגמה שאפשר להשתמש בו בשדה prompt. לדוגמה:
          "prompt": "Luxe Elixir hair oil, golden liquid in glass bottle [1]
           against a pure white background.",
          [...],
          "subjectDescription": "Luxe Elixir hair oil, golden liquid in glass bottle"
        
  • IMAGE_COUNT: מספר התמונות שנוצרו. ערכים קבילים מסוג מספר שלם: 1-4. ערך ברירת המחדל: 4.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict

גוף בקשת JSON:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "referenceImages": [
        {
          "referenceType": "REFERENCE_TYPE_SUBJECT",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
          },
          "subjectImageConfig": {
            "subjectType": "SUBJECT_TYPE_PRODUCT",
            "subjectDescription": "SUBJECT_DESCRIPTION"
          }
        },
        {
          "referenceType": "REFERENCE_TYPE_SUBJECT",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
          },
          "subjectImageConfig": {
            "subjectType": "SUBJECT_TYPE_PRODUCT",
            "subjectDescription": "SUBJECT_DESCRIPTION"
          }
        }
      ]
    }
  ],
  "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/imagen-3.0-capability-001: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/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
התגובה לדוגמה הבאה היא לבקשה עם "sampleCount": 2. התגובה מחזירה שני אובייקטים של חיזוי, עם בייטים של התמונה שנוצרה בקידוד Base64.
{
  "predictions": [
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}

שימוש במוצר

כדי לראות את תקני השימוש והגבלות התוכן שקשורים ל-Imagen ב-Vertex AI, אפשר לעיין בהנחיות השימוש.

גרסאות המודלים

יש כמה מודלים ליצירת תמונות שבהם אפשר להשתמש. מידע נוסף זמין במאמר בנושא מודלים של Imagen.

המאמרים הבאים

כדאי לקרוא מאמרים על Imagen ועל מוצרים אחרים של AI גנרטיבי ב-Vertex AI: