התכונה 'התאמה אישית מבוקרת' מאפשרת ליצור תמונות חדשות על סמך תמונת מקור או אות של תמונת מקור (קצוות קאני או שרבוט). בדף הזה מוסבר איך לשלוח שני סוגים של בקשות להתאמה אישית מבוקרת:
התאמה אישית מבוקרת של Imagen 3 (תכונה ב-GA)
התאמה אישית מבוקרת של Imagen 2 – אות מקור של קצה חכם או שרבוט (תכונת Preview)
המודלים הבאים תומכים בהתאמה אישית מבוקרת:
תרחישים לדוגמה
התאמה אישית מבוקרת של Imagen 3 מאפשרת להשתמש בהנחיות בסגנון חופשי, שיכולות ליצור את הרושם שהמודל יכול לעשות יותר ממה שהוא אומן לעשות. בקטעים הבאים מתוארים תרחישי שימוש ודוגמאות להתאמה אישית מבוקרת של Imagen 3.
המודל אומן על תרחישי שימוש שאנחנו מספקים, ואנחנו מצפים לתוצאות טובות כשמשתמשים ב-Imagen 3 Controlled Customization. אם תנסו לגרום למודל להגיב בדרכים לא צפויות, לא צפויות תוצאות טובות.
דוגמאות לתרחישים לדוגמה
אלה תרחישי שימוש שבהם Imagen 3 Controlled Customization מאומן לבצע פעולות ומפיק תוצאות טובות:
יצירת תמונה שפועלת לפי ההנחיה ותמונות הבקרה של קצוות קאני.
יצירת תמונה בהתאם להנחיה ולתמונות של השרטוטים.
תעצב תמונה של אדם תוך שמירה על הבעת הפנים.
דוגמאות לתרחישי שימוש לא מכוונים
אלה תרחישי שימוש שבהם Imagen 3 Controlled Customization לא אומן, ולכן התוצאות שמתקבלות לא טובות:
ליצור תמונה באמצעות סגנון שמצוין בהנחיה.
ליצור תמונה מטקסט בסגנון ספציפי שמוגדר על ידי תמונה לדוגמה, עם רמה מסוימת של שליטה בקומפוזיציה של התמונה באמצעות תמונה לשליטה.
ליצור תמונה מטקסט בסגנון ספציפי שמוגדר בתמונה לדוגמה, עם שליטה מסוימת בקומפוזיציה של התמונה באמצעות שרבוט בקרה.
תמונה שנוצרת מטקסט בסגנון ספציפי שמוגדר בתמונה לדוגמה, עם רמת שליטה מסוימת על קומפוזיציית התמונה באמצעות תמונה לבקרה. לאדם בתמונה יש הבעת פנים ספציפית.
תעצב תמונה של שני אנשים או יותר, ותשמור על הבעות הפנים שלהם.
תעצב תמונה של חיית מחמד ותהפוך אותה לציור. לשמור על הקומפוזיציה של התמונה או לציין אותה (לדוגמה, צבעי מים).
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
מגדירים אימות לסביבה.
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
כתיבת הנחיות להתאמה אישית
ההנחיה שבה אתם משתמשים בהתאמה אישית של Imagen 3 עשויה להשפיע על האיכות של התמונות שנוצרות. אפשר להיעזר בתבניות ההנחיות הבאות כנקודת התחלה לכתיבת הנחיות להתאמה אישית. יכול להיות שתצטרכו לשלוח כמה בקשות כדי לקבל את הפלט הממוקד שרציתם.
| תרחיש שימוש | תמונות לדוגמה | תבנית הנחיה | דוגמה |
|---|---|---|---|
| התאמה אישית מבוקרת | מפת שרבוטים (1) | יצירת תמונה שתתאים לתיאור הבא: ${STYLE_PROMPT} ${PROMPT}.scribble map [1] | צור תמונה שתואמת לscribble map [1] כדי שתתאים לתיאור: התמונה צריכה להיות בסגנון של ציור שמן אימפרסיוניסטי עם משיכות מכחול רגועות. התמונה צריכה להיות עם אווירה מוארת באופן טבעי ומשיכות מכחול בולטות. מבט מהצד על מכונית. המכונית חונה על משטח כביש רטוב ומבריק, ואורות העיר משתקפים בשלוליות. |
| התאמה אישית מבוקרת | תמונה של שליטה ב-Canny (1) | יצירת תמונה בהתאם לedge map [1] כדי להתאים לתיאור: ${STYLE_PROMPT} ${PROMPT} | צור תמונה שתתאים לedge map [1] בהתאם לתיאור הבא: התמונה צריכה להיות בסגנון של ציור שמן אימפרסיוניסטי, עם משיכות מכחול רפויות. התמונה צריכה להיות מוארת באופן טבעי, עם אווירה נעימה ומשיכות מכחול בולטות. מבט מהצד על מכונית. המכונית חונה על משטח כביש רטוב ומבריק, ואורות העיר משתקפים בשלוליות. |
| עיצוב תמונה של אדם עם קלט FaceMesh |
תמונת הנושא (1-3) תמונת בקרה של FaceMesh (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] בסגנון קריקטורה בתלת-ממד עם רקע מטושטש. דמות חמודה ומקסימה עם פנים מחייכות, פונה למצלמה, גוון פסטלי, באיכות גבוהה, 4k, יצירת מופת, פרטים סופר-מפורטים, מרקם עור, מיפוי מרקם, צללים רכים, תאורה רכה ומציאותית, צבעים עזים |
| עיצוב תמונה של אדם עם קלט FaceMesh |
תמונת הנושא (1-3) תמונת בקרה של FaceMesh (1) |
תיצור תמונה ${STYLE_PROMPT} של 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] בסגנון סרטים מצוירים בתלת ממד עם רקע מטושטש. דמות חמודה ומקסימה עם פנים מחייכות, פונה למצלמה, גוון פסטל, איכות גבוהה, 4k, יצירת מופת, פרטים סופר-מפורטים, מרקם עור, מיפוי מרקם, צללים רכים, תאורה רכה ומציאותית, צבעים עזים |
שליחת בקשה להתאמה אישית מבוקרת של Imagen 3
אפשר להשתמש בדוגמאות הבאות כדי לשלוח בקשה לשינוי מבוקר של Imagen 3:
REST
מידע נוסף על Imagen API:
- Method:
endpoints.predict VisionGenerativeModelInstanceVisionGenerativeModelParamsVisionGenerativeModelResult
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- LOCATION: האזור של הפרויקט. לדוגמה,
us-central1,europe-west2אוasia-northeast3. רשימת האזורים הזמינים מופיעה במאמר מיקומי AI גנרטיבי ב-Vertex AI. כשמשתמשים בנקודת קצה אזורית של API, האזור מכתובת ה-URL של נקודת הקצה קובע איפה הבקשה תעובד, והערךLOCATIONבנתיב המשאב מתעלם אם יש התנגשות. - TEXT_PROMPT: הנחייה טקסטואלית קובעת אילו תמונות המודל יוצר. כדי להשתמש בהתאמה אישית מבוקרת של Imagen 3, צריך לכלול את
referenceIdשל תמונה לדוגמה של הבקרה שסיפקתם בפורמט [$referenceId]. לדוגמה:- יצירת תמונה בהתאם למפה המשורטטת [1] כדי להתאים לתיאור: [image description].
- BASE64_CONTROL_IMAGE: תמונת הבקרה הבסיסית (סקיצה). צריך לציין את התמונה כמחרוזת בייטים בקידוד base64.
ForCONTROL_TYPE_SCRIBBLE: The expected scribble control image has black background and white scribble line.
בשבילCONTROL_TYPE_CANNY: תמונת הבקרה הצפויה של קצוות קאני היא עם רקע שחור וקצוות קאני לבנים.
- CONTROL_TYPE: סוג אות הבקרה. שימוש ב-
CONTROL_TYPE_CANNYלזיהוי קצוות. משתמשים ב-CONTROL_TYPE_SCRIBBLEכדי לשרטט. -
enableControlImageComputation: מגדירים את הערךfalseאם מספקים תמונה משלכם לבקרה. במקרה כזה,B64_BASE_IMAGEצריך להיות תמונה של אות הבקרה. מגדירים את הערךtrueאם רוצים ש-Imagen יחשב את תמונת הבקרה מתוך התמונה לדוגמה. במקרה הזה,B64_BASE_IMAGEצריך להיות תמונת ה-RGB הגולמית. - 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_CONTROL",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "BASE64_CONTROL_IMAGE"
},
"controlImageConfig": {
"controlType": "CONTROL_TYPE",
"enableControlImageComputation": false
}
}
]
}
],
"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
שרבוט
Canny edge
שליחת בקשה להתאמה אישית מבוקרת של Imagen 2
| תמונת הקלט | פרמטרים אחרים | התמונה שנוצרה |
|---|---|---|
|
הנחיה: "גרסה של יצירת אמנות דיגיטלית" הנחיה שלילית: "שחור ולבן" סוג תמונת ההנחיה: RGB רגיל תנאי בקרה: קצה קאני קנה מידה של Imagen Control: 0.95 |
|
(הוחל זיהוי קצוות). |
הנחיה: "גרסה של יצירת אמנות דיגיטלית" הנחיה שלילית: "שחור ולבן" סוג תמונת ההנחיה: קצה קאני קנה מידה של Imagen Control: 0.95 |
|
אפשר להשתמש בדוגמאות הבאות כדי לשלוח בקשה להתאמה אישית מבוקרת של Imagen 2:
REST
מידע נוסף על Imagen API:
- Method:
endpoints.predict VisionGenerativeModelInstanceVisionGenerativeModelParamsVisionGenerativeModelResult
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- TEXT_PROMPT: הנחייה טקסטואלית שמנחה את המודל לגבי התמונות שהוא יוצר. חובה למלא את השדה הזה גם כשיוצרים וגם כשעורכים.
- B64_BASE_IMAGE: תמונת הבסיס לעריכה או להגדלה. התמונה צריכה להיות מחרוזת בייטים בקידוד base64. מגבלת גודל: 10MB.
- EDIT_IMAGE_COUNT: מספר התמונות שנערכו. ערך ברירת המחדל: 4.
- NEGATIVE_PROMPT: הנחיה שלילית שתעזור ליצור את התמונות. לדוגמה: "animals" (הסרת בעלי חיים), "blurry" (הבהרת התמונה), "text" (הסרת טקסט) או "cropped" (הסרת תמונות חתוכות).
-
CONDITION:
string. סוג אות התמונה של אמצעי הבקרה שסופק. ערכים:cannyEdgesאוscribble. -
CONTROL_SCALE:
float. עוצמת האות של תמונת הבקרה. ערכים:0.0-1.0. ערך ברירת המחדל:0.95. הטווח המומלץ:0.9עד1.0. -
SAMPLING_STEPS:
integer. מספר שלבי הדגימה. ערכים:1-30. ברירת מחדל:16. -
COMPUTE_CONDITION_MAP:
boolean. האם לחשב מפת תנאים מתמונת הקלט הבסיסית. כשההגדרה היאfalse, השירות מצפה שתמונת הקלט תהיה שרבוט או קצוות של קאני, והתמונה מסופקת ישירות למודל. אם ההגדרה היאtrue, השירות מצפה שתמונת הקלט תהיה תמונת RGB, והשירות מחשב את קצוות קאני או מידע על שרבוטים מתמונת הקלט על סמךconditionName. לאחר מכן, השירות מספק למודל את מפת התנאים שעברה עיבוד לצורך עריכת התמונה. כשמספקים תמונות שרבוטים, הרקע שלהן צריך להיות שחור והקווים הלבנים צריכים לתאר את האובייקט שרוצים ליצור. ברירת מחדל:false.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict
גוף בקשת JSON:
{
"instances": [
{
"prompt": "TEXT_PROMPT",
"image": {
"bytesBase64Encoded": "B64_BASE_IMAGE"
}
}
],
"parameters": {
"sampleCount": EDIT_IMAGE_COUNT,
"negativePrompt": "NEGATIVE_PROMPT",
"controlPluginConfig": {
"conditions": [
{
"conditionName": "CONDITION",
"controlScale": CONTROL_SCALE,
"samplingSteps": SAMPLING_STEPS,
"computeConditionMap": COMPUTE_CONDITION_MAP
}
]
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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:
- מדריך למפתחים לתחילת העבודה עם Imagen 3 ב-Vertex AI
- מודלים וכלים חדשים של מדיה גנרטיבית, שנוצרו עם יוצרים ועבור יוצרים
- חדש ב-Gemini: תצורות Gem מותאמות אישית ויצירת תמונות משופרת באמצעות Imagen 3
- Google DeepMind: Imagen 3 – המודל האיכותי ביותר שלנו ליצירת תמונות לפי טקסט