אתם יכולים להשתמש ב-Imagen ב-Vertex AI כדי ליצור תמונות חדשות באמצעות פרומפט טקסטואלי. הממשקים הנתמכים כוללים את מסוף Google Cloud ואת Vertex AI API.
המודלים הבאים תומכים ביצירת תמונות מ-AI מפרומפטים טקסטואליים:
-
imagen-3.0-generate-002 -
imagen-3.0-generate-001 -
imagen-3.0-fast-generate-001 -
imagen-4.0-generate-001 -
imagen-4.0-fast-generate-001 -
imagen-4.0-ultra-generate-001
צפייה בכרטיס המודל של Imagen for Generation
איך יוצרים תמונות (Vertex AI Studio)
לפני שמתחילים
- נכנסים לחשבון 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, if it is not already enabled.
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, if it is not already enabled.
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 .
יצירת תמונות עם טקסט
אתם יכולים ליצור תמונות חדשות באמצעות טקסט תיאורי בלבד כקלט. בדוגמאות הבאות מוצגות הוראות בסיסיות ליצירת תמונות.
המסוף
1. במסוף Google Cloud , נכנסים לדף Vertex AI > Media Studio.<a href="https://console.cloud.google.com/vertex-ai/studio/media/generate;tab=image" class="button button-primary"
target="console" track-name="consoleLink" track-type="task">Go to Media
Studio</a>
לוחצים על Imagen. מוצג הדף ליצירת תמונות ב-Imagen Media Studio.
אופציונלי: בחלונית הגדרות, מגדירים את ההגדרות הבאות:
מודל: בוחרים מודל מבין האפשרויות הזמינות.
מידע נוסף על המודלים הזמינים זמין במאמר בנושא מודלים של Imagen
יחס גובה-רוחב: בוחרים יחס גובה-רוחב מבין האפשרויות הזמינות.
Number of results: מזיזים את פס ההזזה או מזינים ערך בין 1 ל-4.
רזולוציית הפלט: בוחרים רזולוציה מבין האפשרויות הזמינות.
אופציונלי: בחלק Advanced options בוחרים Region כדי ליצור את התמונות באזור מסוים.
בתיבה Write your prompt (כתיבת הפרומפט), כותבים את הפרומפט הטקסטואלי שמתאר את התמונות שרוצים ליצור. לדוגמה, סירה קטנה על המים בבוקר, איור בצבעי מים.
מידע נוסף על כתיבת הנחיות יעילות זמין במדריך להנחיות ולמאפייני תמונות.
לוחצים על יצירה.
סימן מים דיגיטלי נוסף באופן אוטומטי לתמונות שנוצרו. אי אפשר להשבית את סימן המים הדיגיטלי ליצירת תמונות באמצעות מסוף Google Cloud .
אפשר לבחור תמונה כדי לראות אותה בחלון פרטי התמונה. תמונות עם סימן מים מכילות תג סימן מים דיגיטלי.
REST
מידע נוסף על Imagen API זמין במקורות הבאים:
- שיטה:
endpoints.predict VisionGenerativeModelInstanceVisionGenerativeModelParamsVisionGenerativeModelResult
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGION: האזור שבו נמצא הפרויקט. מידע נוסף על אזורים נתמכים זמין במאמר מיקומי AI גנרטיבי ב-Vertex AI.
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
-
MODEL_VERSION: גרסת מודל Imagen שבה ייעשה שימוש. מידע נוסף על המודלים הזמינים זמין במאמר בנושא מודלים של Imagen.
- TEXT_PROMPT: פרומפט טקסטואלי שמנחה את המודל לגבי התמונות שהוא יוצר. חובה למלא את השדה הזה גם כשיוצרים וגם כשעורכים.
-
IMAGE_COUNT: מספר התמונות שרוצים ליצור. טווח הערכים הקבילים הוא
1עד4. - ADD_WATERMARK: boolean. זה שינוי אופציונלי. האם להפעיל סימן מים לתמונות שנוצרו על ידי AI.
כל תמונה שנוצרת כשהשדה מוגדר ל-
trueמכילה SynthID דיגיטלי שבעזרתו אפשר לאמת תמונה עם סימן מים. אם משמיטים את השדה הזה, המערכת משתמשת בערך ברירת המחדלtrue. כדי להשבית את התכונה הזו, צריך להגדיר את הערך ל-false. אפשר להשתמש בשדהseedכדי לקבל פלט דטרמיניסטי רק אם השדה הזה מוגדר לערךfalse. - ASPECT_RATIO: מחרוזת. זה שינוי אופציונלי. פרמטר של מצב יצירה ששולט ביחס הגובה-רוחב. ערכי היחס הנתמכים והשימוש המיועד שלהם:
-
1:1(ברירת מחדל, ריבוע) 3:4(מודעות, רשתות חברתיות)4:3(טלוויזיה, צילום)16:9(לרוחב)9:16(לאורך)
-
- ENABLE_PROMPT_REWRITING: boolean. זה שינוי אופציונלי. פרמטר לשימוש בתכונה של שכתוב פרומפטים שמבוססת על LLM, כדי ליצור תמונות באיכות גבוהה יותר שמשקפות טוב יותר את הכוונה של הפרומפט המקורי. השבתת התכונה הזו עלולה להשפיע על איכות התמונה ועל מידת ההתאמה להנחיה. ערך ברירת המחדל:
true. -
INCLUDE_RAI_REASON: boolean. זה שינוי אופציונלי. אם להפעיל את קוד הסיבה לסינון של AI אחראי בתשובות עם קלט או פלט חסומים. ערך ברירת המחדל:
true. - INCLUDE_SAFETY_ATTRIBUTES: boolean. זה שינוי אופציונלי. האם להפעיל ציונים מעוגלים של AI אחראי לרשימה של מאפייני בטיחות בתשובות לקלט ולפלט לא מסוננים. קטגוריות של מאפייני בטיחות:
"Death, Harm & Tragedy","Firearms & Weapons","Hate","Health","Illicit Drugs","Politics","Porn","Religion & Belief","Toxic","Violence","Vulgarity","War & Conflict". ערך ברירת המחדל:false. - MIME_TYPE: מחרוזת. זה שינוי אופציונלי. סוג ה-MIME של תוכן התמונה. ערכים
אפשריים:
image/jpegimage/gifimage/pngimage/webpimage/bmpimage/tiffimage/vnd.microsoft.icon
- COMPRESSION_QUALITY: מספר שלם. זה שינוי אופציונלי. ההגדרה רלוונטית רק לקובצי פלט מסוג JPEG. רמת הפירוט שהמודל שומר בתמונות שנוצרו בפורמט קובץ JPEG. ערכים:
0עד100, כאשר מספר גבוה יותר מציין דחיסה רבה יותר. ברירת מחדל:75. - PERSON_SETTING: מחרוזת. זה שינוי אופציונלי. הגדרת הבטיחות שקובעת את סוג האנשים או הפנים שהמודל יכול ליצור. ערך ברירת המחדל תלוי במודל. ערכים
אפשריים:
-
allow_all: אפשרות ליצור תמונות של אנשים, כולל קטינים. זהו ערך ברירת המחדל במודלים ליצירת תמונות של Imagen 4, imagen-3.0-capability-001 ו-imagen-product-recontext-preview-06-30. -
allow_adult: מאפשר יצירה של תוכן למבוגרים בלבד, כולל תוכן שקשור לסלבריטאים. זוהי ברירת המחדל לכל שאר המודלים. -
dont_allow: השבתת האפשרות לכלול אנשים או פנים בתמונות שנוצרות על ידי AI.
-
- SAFETY_SETTING: מחרוזת. זה שינוי אופציונלי. הגדרה שקובעת את ערכי הסף של מסנן הבטיחות לתמונות שנוצרו על ידי AI. ערכים זמינים:
-
block_low_and_above: סף הבטיחות הגבוה ביותר, שמוביל לסינון של הכמות הגדולה ביותר של תמונות שנוצרו על ידי AI. הערך הקודם:block_most. -
block_medium_and_above(ברירת המחדל): סף בטיחות בינוני שמאזן בין סינון תוכן שעלול להיות פוגעני לבין סינון תוכן בטוח. הערך הקודם:block_some. -
block_only_high: סף בטיחות שמצמצם את מספר הבקשות שנחסמות בגלל מסנני הבטיחות. ההגדרה הזו עלולה להגדיל את כמות התוכן מעורר ההתנגדות שנוצר על ידי Imagen. הערך הקודם:block_few.
-
- SEED_NUMBER: מספר שלם. זה שינוי אופציונלי. כל מספר שלם לא שלילי שאתם מספקים כדי ליצור תמונות פלט דטרמיניסטיות. אם תספקו את אותו מספר seed, תמיד תקבלו את אותן תמונות פלט. אם המודל שבו אתם משתמשים תומך בסימון מים דיגיטלי, אתם צריכים להגדיר את
"addWatermark": falseלשימוש בשדה הזה. ערכי מספרים שלמים קבילים:1עד2147483647. - OUTPUT_STORAGE_URI: מחרוזת. זה שינוי אופציונלי. קטגוריה של Cloud Storage לאחסון תמונות הפלט. אם לא מספקים תמונה, התגובה כוללת בייטים של תמונה בקידוד Base64. ערך לדוגמה:
gs://image-bucket/output/.
פרמטרים אופציונליים נוספים
אתם יכולים להשתמש במשתנים האופציונליים הבאים בהתאם לתרחיש לדוגמה. מוסיפים חלק מהפרמטרים הבאים או את כולם לאובייקט "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"
}
ה-method של ה-HTTP וכתובת ה-URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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"
}
]
}
המאמרים הבאים
מאמרים על Imagen ומוצרים אחרים של AI גנרטיבי ב-Vertex AI:
- מדריך למפתחים: איך מתחילים לעבוד עם Imagen 3 ב-Vertex AI
- מודלים וכלים חדשים של מודלים גנרטיביים ליצירת מדיה, שפותחו בעזרת יוצרים ובשבילם
- חדש ב-Gemini: Gems בהתאמה אישית ויצירת תמונות משופרת באמצעות Imagen 3
- Google DeepMind: Imagen 3 – המודל האיכותי ביותר שלנו ליצירת תמונות לפי טקסט