Membuat gambar menggunakan perintah teks

Anda dapat menggunakan Imagen di Vertex AI untuk membuat gambar baru dari perintah teks yang Anda sediakan di Konsol Google Cloud atau mengirim permintaan ke Vertex AI API.

Untuk mengetahui informasi selengkapnya tentang cara menulis perintah teks untuk pembuatan dan pengeditan gambar, lihat panduan permintaan.

Lokasi

Lokasi adalah region yang dapat Anda tentukan dalam permintaan untuk mengontrol tempat data dalam penyimpanan tidak aktif. Untuk mengetahui daftar region yang tersedia, lihat Lokasi AI Generatif di Vertex AI.

Pemfilteran keamanan

Data input dan konten output diperiksa untuk menemukan materi yang menyinggung saat Anda mengirim permintaan pembuatan gambar ke Imagen. Artinya, input perintah teks yang menyinggung dapat diblokir. Demikian pula, gambar output yang menyinggung juga dapat diblokir, yang memengaruhi jumlah gambar yang dihasilkan yang Anda dapatkan dalam respons.

Untuk mengetahui informasi selengkapnya tentang pemfilteran keamanan dan penanganan konten yang diblokir, lihat Responsible AI dan panduan penggunaan untuk Imagen.

Performa dan batasan

Batas berikut berlaku saat Anda menggunakan model Imagen untuk pembuatan gambar:

Batas Nilai
(Imagen 3)
Jumlah maksimum permintaan API per menit per project Imagen 3: 20

Imagen 3 Cepat: 200
Jumlah maksimum gambar yang ditampilkan per permintaan (pembuatan teks ke gambar) 4
Ukuran gambar maksimum yang diupload atau dikirim dalam permintaan (MB) 10 MB
Resolusi gambar yang ditampilkan dan didukung (piksel)
  • 1024x1024 piksel (rasio aspek 1:1)
  • 896x1280 (rasio aspek 3:4)
  • 1280x896 (rasio aspek 4:3)
  • 768x1408 (rasio aspek 9:16)
  • 1408x768 (rasio aspek 16:9)
Jumlah maksimum token input (teks perintah pembuatan teks ke gambar) 480 token

Versi model

Ada berbagai versi model pembuatan gambar yang dapat Anda gunakan. Untuk informasi umum tentang pembuatan versi model Imagen, lihat Model dan siklus proses Imagen.

Model berikut dan fitur terkaitnya tersedia untuk pembuatan gambar:

Model Nama dan versi resource model Tahap peluncuran Fitur Rasio aspek Bahasa yang didukung Penagihan
Imagen 3 Imagen 3: imagen-3.0-generate-001


Imagen 3 Cepat: imagen-3.0-fast-generate-001

Ini adalah varian model latensi rendah yang dapat Anda gunakan untuk membuat prototipe atau kasus penggunaan latensi rendah.


Penyesuaian Imagen 3 dan Pengeditan: imagen-3.0-capability-001
Ketersediaan Umum

Fitur yang didukung:

  • Pembuatan gambar
  • Verifikasi dan watermark digital
  • Setelan keamanan yang dapat dikonfigurasi pengguna
  • Penyesuaian gambar (pemelajaran beberapa tahap):
    • Penyesuaian subjek (produk, orang, dan hewan peliharaan)
    • Penyesuaian gaya
    • Penyesuaian terkontrol (coretan dan tepi canny)
    • Memberi petunjuk penyesuaian (transfer gaya)
  • Pengeditan gambar (berbasis mask):
    • inpainting (menyisipkan atau menghapus)
    • outpainting
    • pengeditan gambar produk
  • 1:1 - 1024x1024 piksel (persegi)
  • 3:4  - 896x1280
  • 4:3  - 1280x896
  • 9:16 - 768x1408
  • 16:9 - 1408x768

Ketersediaan umum:

  • Inggris

Pratinjau:

  • China (aksara sederhana)
  • China (aksara tradisional)
  • Hindi
  • Jepang
  • Korea
  • Portugis
  • Spanyol

Ya, harga berlaku untuk pembuatan. Harga untuk model Imagen 3 berada di SKU baru, sehingga harganya berbeda dari model lainnya.

Untuk melihat semua fitur dan tahap peluncuran, lihat ringkasan Imagen.
Untuk melihat harga yang terkait dengan setiap fitur, lihat halaman harga.

Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

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

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. Siapkan autentikasi untuk lingkungan Anda.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    Java

    Untuk menggunakan contoh Java di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

    1. Install the Google Cloud CLI.
    2. To initialize the gcloud CLI, run the following command:

      gcloud init
    3. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

    Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.

    Node.js

    Untuk menggunakan contoh Node.js di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

    1. Install the Google Cloud CLI.
    2. To initialize the gcloud CLI, run the following command:

      gcloud init
    3. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

    Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.

    Python

    Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

    1. Install the Google Cloud CLI.
    2. To initialize the gcloud CLI, run the following command:

      gcloud init
    3. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

    Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

Membuat gambar dengan teks

Anda dapat membuat gambar baru menggunakan teks deskriptif sebagai input. Contoh berikut menunjukkan petunjuk dasar untuk membuat gambar, tetapi Anda juga dapat menggunakan parameter tambahan, bergantung pada kasus penggunaan Anda.

Konsol

  1. Di konsol Google Cloud, buka tab Vertex AI Studio > Media di dasbor Vertex AI.

    Buka tab Vertex AI Studio
  2. Di kolom Write your prompt, masukkan deskripsi untuk gambar yang ingin Anda buat. Untuk mengetahui detail tentang cara menulis perintah yang efektif, lihat panduan perintah.

    • Misalnya: ilustrasi cat air dengan warna redup berisi perahu kecil di atas air pada pagi hari
  3. Opsional. Di kotak Model options di panel Parameters, pilih versi model yang akan digunakan. Untuk mengetahui informasi selengkapnya, lihat versi model.

  4. Opsional. Ubah parameter standar dan lanjutan.

  5. Untuk membuat gambar, klik Generate.

    Contoh gambar yang dibuat menggunakan teks
    Pembuatan gambar tampilan gambar yang dibuat dengan Imagen di Vertex AI dari perintah: ilustrasi cat air dengan warna redup berisi perahu merah kecil di atas air pada pagi hari.

REST

Untuk mengetahui informasi selengkapnya tentang permintaan model imagegeneration, lihat referensi API model imagegeneration.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Google Cloud Anda.
  • MODEL_VERSION: Versi model imagegeneration yang akan digunakan. Nilai yang tersedia:
    • Gambar 3:
      • imagen-3.0-generate-001
      • imagen-3.0-fast-generate-001 - Versi model latensi rendah.
    • Versi model default:
      • imagegeneration - Menggunakan versi model default v.006. Sebagai praktik terbaik, Anda harus selalu menentukan versi model, terutama di lingkungan produksi.

    Untuk mengetahui informasi selengkapnya tentang versi dan fitur model, lihat versi model.

  • LOCATION: Region project Anda. Misalnya, us-central1, europe-west2, atau asia-northeast3. Untuk mengetahui daftar region yang tersedia, lihat Lokasi AI Generatif di Vertex AI.
  • TEXT_PROMPT: Perintah teks memandu gambar yang dihasilkan model. Kolom ini wajib diisi untuk pembuatan dan pengeditan.
  • IMAGE_COUNT: Jumlah gambar yang dihasilkan. Nilai bilangan bulat yang diterima: 1-8 (v.002), 1-4 (semua versi model lainnya). Nilai default: 4.

Metode HTTP dan URL:

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

Isi JSON permintaan:

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

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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
Contoh respons berikut adalah untuk permintaan dengan "sampleCount": 2. Respons ini menampilkan dua objek prediksi, dengan byte gambar yang dihasilkan berenkode base64.
{
  "predictions": [
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python Vertex AI.

Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

Dalam contoh ini, Anda memanggil metode generate_images pada ImageGenerationModel dan menyimpan gambar yang dihasilkan secara lokal. Kemudian, Anda dapat memilih untuk menggunakan metode show() di notebook untuk menampilkan gambar yang dihasilkan. Untuk mengetahui informasi selengkapnya tentang versi dan fitur model, lihat versi model.


import vertexai
from vertexai.preview.vision_models import ImageGenerationModel

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# output_file = "input-image.png"
# prompt = "" # The text prompt describing what you want to see.

vertexai.init(project=PROJECT_ID, location="us-central1")

model = ImageGenerationModel.from_pretrained("imagen-3.0-generate-001")

images = model.generate_images(
    prompt=prompt,
    # Optional parameters
    number_of_images=1,
    language="en",
    # You can't use a seed value and watermark at the same time.
    # add_watermark=False,
    # seed=100,
    aspect_ratio="1:1",
    safety_filter_level="block_some",
    person_generation="allow_adult",
)

images[0].save(location=output_file, include_generation_parameters=False)

# Optional. View the generated image in a notebook.
# images[0].show()

print(f"Created output image using {len(images[0]._image_bytes)} bytes")
# Example response:
# Created output image using 1234567 bytes

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Java Vertex AI.

Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

Dalam contoh ini, Anda menentukan model imagen-3.0-generate-001 sebagai bagian dari EndpointName. EndpointName diteruskan ke metode predict yang dipanggil pada PredictionServiceClient. Layanan ini menghasilkan gambar yang kemudian disimpan secara lokal. Untuk mengetahui informasi selengkapnya tentang versi dan fitur model, lihat versi model.


import com.google.api.gax.rpc.ApiException;
import com.google.cloud.aiplatform.v1.EndpointName;
import com.google.cloud.aiplatform.v1.PredictResponse;
import com.google.cloud.aiplatform.v1.PredictionServiceClient;
import com.google.cloud.aiplatform.v1.PredictionServiceSettings;
import com.google.gson.Gson;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.protobuf.Value;
import com.google.protobuf.util.JsonFormat;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Base64;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class GenerateImageSample {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String location = "us-central1";
    String prompt = ""; // The text prompt describing what you want to see.

    generateImage(projectId, location, prompt);
  }

  // Generate an image using a text prompt using an Imagen model
  public static PredictResponse generateImage(String projectId, String location, String prompt)
      throws ApiException, IOException {
    final String endpoint = String.format("%s-aiplatform.googleapis.com:443", location);
    PredictionServiceSettings predictionServiceSettings =
        PredictionServiceSettings.newBuilder().setEndpoint(endpoint).build();

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (PredictionServiceClient predictionServiceClient =
        PredictionServiceClient.create(predictionServiceSettings)) {

      final EndpointName endpointName =
          EndpointName.ofProjectLocationPublisherModelName(
              projectId, location, "google", "imagen-3.0-generate-001");

      Map<String, Object> instancesMap = new HashMap<>();
      instancesMap.put("prompt", prompt);
      Value instances = mapToValue(instancesMap);

      Map<String, Object> paramsMap = new HashMap<>();
      paramsMap.put("sampleCount", 1);
      // You can't use a seed value and watermark at the same time.
      // paramsMap.put("seed", 100);
      // paramsMap.put("addWatermark", false);
      paramsMap.put("aspectRatio", "1:1");
      paramsMap.put("safetyFilterLevel", "block_some");
      paramsMap.put("personGeneration", "allow_adult");
      Value parameters = mapToValue(paramsMap);

      PredictResponse predictResponse =
          predictionServiceClient.predict(
              endpointName, Collections.singletonList(instances), parameters);

      for (Value prediction : predictResponse.getPredictionsList()) {
        Map<String, Value> fieldsMap = prediction.getStructValue().getFieldsMap();
        if (fieldsMap.containsKey("bytesBase64Encoded")) {
          String bytesBase64Encoded = fieldsMap.get("bytesBase64Encoded").getStringValue();
          Path tmpPath = Files.createTempFile("imagen-", ".png");
          Files.write(tmpPath, Base64.getDecoder().decode(bytesBase64Encoded));
          System.out.format("Image file written to: %s\n", tmpPath.toUri());
        }
      }
      return predictResponse;
    }
  }

  private static Value mapToValue(Map<String, Object> map) throws InvalidProtocolBufferException {
    Gson gson = new Gson();
    String json = gson.toJson(map);
    Value.Builder builder = Value.newBuilder();
    JsonFormat.parser().merge(json, builder);
    return builder.build();
  }
}

Node.js

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Vertex AI.

Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

Dalam contoh ini, Anda memanggil metode predict pada PredictionServiceClient. Layanan ini menghasilkan gambar yang kemudian disimpan secara lokal. Untuk mengetahui informasi selengkapnya tentang versi dan fitur model, lihat versi model.

/**
 * TODO(developer): Update these variables before running the sample.
 */
const projectId = process.env.CAIP_PROJECT_ID;
const location = 'us-central1';
const prompt = 'a dog reading a newspaper';

const aiplatform = require('@google-cloud/aiplatform');

// Imports the Google Cloud Prediction Service Client library
const {PredictionServiceClient} = aiplatform.v1;

// Import the helper module for converting arbitrary protobuf.Value objects
const {helpers} = aiplatform;

// Specifies the location of the api endpoint
const clientOptions = {
  apiEndpoint: `${location}-aiplatform.googleapis.com`,
};

// Instantiates a client
const predictionServiceClient = new PredictionServiceClient(clientOptions);

async function generateImage() {
  const fs = require('fs');
  const util = require('util');
  // Configure the parent resource
  const endpoint = `projects/${projectId}/locations/${location}/publishers/google/models/imagen-3.0-generate-001`;

  const promptText = {
    prompt: prompt, // The text prompt describing what you want to see
  };
  const instanceValue = helpers.toValue(promptText);
  const instances = [instanceValue];

  const parameter = {
    sampleCount: 1,
    // You can't use a seed value and watermark at the same time.
    // seed: 100,
    // addWatermark: false,
    aspectRatio: '1:1',
    safetyFilterLevel: 'block_some',
    personGeneration: 'allow_adult',
  };
  const parameters = helpers.toValue(parameter);

  const request = {
    endpoint,
    instances,
    parameters,
  };

  // Predict request
  const [response] = await predictionServiceClient.predict(request);
  const predictions = response.predictions;
  if (predictions.length === 0) {
    console.log(
      'No image was generated. Check the request parameters and prompt.'
    );
  } else {
    let i = 1;
    for (const prediction of predictions) {
      const buff = Buffer.from(
        prediction.structValue.fields.bytesBase64Encoded.stringValue,
        'base64'
      );
      // Write image content to the output file
      const writeFile = util.promisify(fs.writeFile);
      const filename = `output${i}.png`;
      await writeFile(filename, buff);
      console.log(`Saved image ${filename}`);
      i++;
    }
  }
}
await generateImage();

Menggunakan parameter untuk membuat gambar

Saat membuat gambar, ada beberapa parameter standar dan lanjutan yang dapat Anda tetapkan, bergantung pada kasus penggunaan Anda.

Menambahkan atau memverifikasi watermark gambar

Secara default, watermark digital ditambahkan ke gambar apa pun yang dihasilkan oleh versi model yang mendukung pembuatan watermark. Fitur ini menambahkan watermark digital yang tidak terlihat—disebut SynthID—ke gambar. Kemudian, Anda dapat memverifikasi apakah gambar berisi watermark digital atau tidak.

Membuat gambar dengan watermark

Gunakan contoh berikut untuk membuat gambar dengan watermark digital.

Konsol

  1. Di konsol Google Cloud, buka tab Vertex AI Studio > Media di dasbor Vertex AI.

    Buka tab Vertex AI Studio
  2. Di kolom Write your prompt, masukkan deskripsi untuk gambar yang ingin Anda buat. Untuk mengetahui detail tentang cara menulis perintah yang efektif, lihat panduan perintah.

    • Misalnya: ilustrasi perahu kecil di atas air pada pagi hari
  3. Opsional. Di kotak Model options di panel Parameters, pilih versi model yang akan digunakan. Untuk mengetahui informasi selengkapnya, lihat versi model.

  4. Opsional. Ubah parameter standar dan lanjutan.

  5. Untuk membuat gambar, klik Generate.

  6. Model versi 006 dan yang lebih baru: Watermark digital otomatis ditambahkan ke gambar yang dihasilkan. Anda tidak dapat menonaktifkan watermark digital untuk pembuatan gambar menggunakan konsol Google Cloud.

    Anda dapat memilih gambar untuk membuka jendela Image detail. Gambar dengan watermark berisi badge Watermark digital. Anda juga dapat memverifikasi watermark gambar secara eksplisit.

    Contoh gambar yang dibuat dengan watermark menggunakan teks
    Detail gambar dari gambar berwatermark yang dibuat dengan Imagen 2 dari perintah: ilustrasi cat air dengan warna redup berisi perahu merah kecil di atas air pada pagi hari.

REST

Untuk mengetahui informasi selengkapnya tentang permintaan model imagegeneration, lihat referensi API model imagegeneration.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Google Cloud Anda.
  • MODEL_VERSION: Versi model imagegeneration yang akan digunakan. Nilai yang tersedia:
    • imagen-3.0-generate-001
    • imagen-3.0-fast-generate-001 - Versi model latensi rendah.
    • imagegeneration@006

    Untuk mengetahui informasi selengkapnya tentang versi dan fitur model, lihat versi model.

  • LOCATION: Region project Anda. Misalnya, us-central1, europe-west2, atau asia-northeast3. Untuk mengetahui daftar region yang tersedia, lihat Lokasi AI Generatif di Vertex AI.
  • TEXT_PROMPT: Perintah teks memandu gambar yang dihasilkan model. Kolom ini wajib diisi untuk pembuatan dan pengeditan.
  • IMAGE_COUNT: Jumlah gambar yang dihasilkan. Nilai bilangan bulat yang diterima: 1-8 (v.002), 1-4 (semua versi model lainnya). Nilai default: 4.
  • addWatermark - Boolean untuk mengaktifkan watermark untuk gambar yang dihasilkan. Setiap gambar yang dihasilkan saat kolom ditetapkan ke true berisi SynthID digital yang dapat Anda gunakan untuk memverifikasi gambar yang diberi watermark. Jika Anda menghapus kolom ini, nilai default true akan digunakan; Anda harus menetapkan nilai ke false untuk menonaktifkan fitur ini. Anda dapat menggunakan kolom seed untuk mendapatkan output deterministik hanya jika kolom ini ditetapkan ke false.

Metode HTTP dan URL:

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

Isi JSON permintaan:

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

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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
Contoh respons berikut adalah untuk permintaan dengan "sampleCount": 2. Respons ini menampilkan dua objek prediksi, dengan byte gambar yang dihasilkan berenkode base64. Watermark digital otomatis ditambahkan ke gambar, sehingga responsnya sama dengan respons tanpa watermark.
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    },
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    }
  ]
}

Vertex AI SDK untuk Python


import vertexai
from vertexai.preview.vision_models import ImageGenerationModel

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# output_file = "input-image.png"
# prompt = "" # The text prompt describing what you want to see.

vertexai.init(project=PROJECT_ID, location="us-central1")

model = ImageGenerationModel.from_pretrained("imagen-3.0-generate-001")

images = model.generate_images(
    prompt=prompt,
    # Optional parameters
    number_of_images=1,
    language="en",
    # You can't use a seed value and watermark at the same time.
    # add_watermark=False,
    # seed=100,
    aspect_ratio="1:1",
    safety_filter_level="block_some",
    person_generation="allow_adult",
)

images[0].save(location=output_file, include_generation_parameters=False)

# Optional. View the generated image in a notebook.
# images[0].show()

print(f"Created output image using {len(images[0]._image_bytes)} bytes")
# Example response:
# Created output image using 1234567 bytes

Node.js

/**
 * TODO(developer): Update these variables before running the sample.
 */
const projectId = process.env.CAIP_PROJECT_ID;
const location = 'us-central1';
const prompt = 'a dog reading a newspaper';

const aiplatform = require('@google-cloud/aiplatform');

// Imports the Google Cloud Prediction Service Client library
const {PredictionServiceClient} = aiplatform.v1;

// Import the helper module for converting arbitrary protobuf.Value objects
const {helpers} = aiplatform;

// Specifies the location of the api endpoint
const clientOptions = {
  apiEndpoint: `${location}-aiplatform.googleapis.com`,
};

// Instantiates a client
const predictionServiceClient = new PredictionServiceClient(clientOptions);

async function generateImage() {
  const fs = require('fs');
  const util = require('util');
  // Configure the parent resource
  const endpoint = `projects/${projectId}/locations/${location}/publishers/google/models/imagen-3.0-generate-001`;

  const promptText = {
    prompt: prompt, // The text prompt describing what you want to see
  };
  const instanceValue = helpers.toValue(promptText);
  const instances = [instanceValue];

  const parameter = {
    sampleCount: 1,
    // You can't use a seed value and watermark at the same time.
    // seed: 100,
    // addWatermark: false,
    aspectRatio: '1:1',
    safetyFilterLevel: 'block_some',
    personGeneration: 'allow_adult',
  };
  const parameters = helpers.toValue(parameter);

  const request = {
    endpoint,
    instances,
    parameters,
  };

  // Predict request
  const [response] = await predictionServiceClient.predict(request);
  const predictions = response.predictions;
  if (predictions.length === 0) {
    console.log(
      'No image was generated. Check the request parameters and prompt.'
    );
  } else {
    let i = 1;
    for (const prediction of predictions) {
      const buff = Buffer.from(
        prediction.structValue.fields.bytesBase64Encoded.stringValue,
        'base64'
      );
      // Write image content to the output file
      const writeFile = util.promisify(fs.writeFile);
      const filename = `output${i}.png`;
      await writeFile(filename, buff);
      console.log(`Saved image ${filename}`);
      i++;
    }
  }
}
await generateImage();

Memverifikasi gambar yang memiliki watermark

Gunakan contoh berikut untuk memverifikasi bahwa gambar memiliki watermark.

Konsol

  1. Di konsol Google Cloud, buka tab Vertex AI Studio > Media di dasbor Vertex AI.

    Buka tab Vertex AI Studio

  2. Di panel bawah, klik Verifikasi.

  3. Klik Upload image.

  4. Pilih gambar yang dihasilkan dan disimpan secara lokal.

    Contoh watermark terverifikasi dalam gambar yang dihasilkan di konsol

REST

Sebelum menggunakan data permintaan apa pun, lakukan penggantian sebagai berikut:

  • PROJECT_ID: project ID Google Cloud Anda.
  • LOCATION: Region project Anda. Misalnya, us-central1, europe-west2, atau asia-northeast3. Untuk mengetahui daftar region yang tersedia, lihat Lokasi AI Generatif di Vertex AI.
  • B64_IMAGE: Gambar yang akan diverifikasi yang berisi watermark digital. Gambar harus ditentukan sebagai string byte berenkode base64. Batas ukuran: 10 MB.

Metode HTTP dan URL:

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

Isi JSON permintaan:

{
  "instances": [
    {
      "image": {
        "bytesBase64Encoded": "B64_IMAGE"
      }
    }
  ],
  "parameters": {
    "watermarkVerification": true
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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/imageverification@001:predict"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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/imageverification@001:predict" | Select-Object -Expand Content
Contoh respons berikut adalah untuk permintaan dengan gambar yang memiliki watermark digital. Kolom keputusan dapat menampilkan salah satu nilai berikut: ACCEPT atau REJECT.
{
  "predictions": [
    {
      "decision": "ACCEPT"
    }
  ]
}

Vertex AI SDK untuk Python


import vertexai
from vertexai.preview.vision_models import (
    Image,
    WatermarkVerificationModel,
)

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# input_file = "input-image.png"

vertexai.init(project=PROJECT_ID, location="us-central1")

verification_model = WatermarkVerificationModel.from_pretrained(
    "imageverification@001"
)
image = Image.load_from_file(location=input_file)

watermark_verification_response = verification_model.verify_image(image)

print(
    f"Watermark verification result: {watermark_verification_response.watermark_verification_result}"
)
# Example response:
# Watermark verification result: ACCEPT
# or "REJECT" if the image does not contain a digital watermark.

Node.js

/**
 * TODO(developer): Update these variables before running the sample.
 */
const projectId = process.env.CAIP_PROJECT_ID;
const location = 'us-central1';
const inputFile = 'resources/dog_newspaper.png'; // has watermark

const aiplatform = require('@google-cloud/aiplatform');

// Imports the Google Cloud Prediction Service Client library
const {PredictionServiceClient} = aiplatform.v1;

// Import the helper module for converting arbitrary protobuf.Value objects
const {helpers} = aiplatform;

// Specifies the location of the api endpoint
const clientOptions = {
  apiEndpoint: `${location}-aiplatform.googleapis.com`,
};

// Instantiates a client
const predictionServiceClient = new PredictionServiceClient(clientOptions);

async function verifyImageWatermark() {
  const fs = require('fs');
  // Configure the parent resource
  const endpoint = `projects/${projectId}/locations/${location}/publishers/google/models/imageverification@001`;

  const imageFile = fs.readFileSync(inputFile);
  // Convert the image data to a Buffer and base64 encode it.
  const encodedImage = Buffer.from(imageFile).toString('base64');

  const instance = {
    image: {
      bytesBase64Encoded: encodedImage,
    },
  };
  const instanceValue = helpers.toValue(instance);
  const instances = [instanceValue];

  const request = {
    endpoint,
    instances,
  };

  // Predict request
  const [response] = await predictionServiceClient.predict(request);
  const predictions = response.predictions;
  if (predictions.length === 0) {
    console.log('No decision was generated. Check the request image.');
  } else {
    predictions.forEach(prediction => {
      // "ACCEPT" if the image contains a digital watermark
      // "REJECT" if the image does not contain a digital watermark
      console.log(prediction.structValue.fields.decision.stringValue);
    });
  }
}
await verifyImageWatermark();

Mengonfigurasi setelan keamanan Responsible AI (RAI)

Ada beberapa parameter pemfilteran Responsible AI (RAI) yang dapat Anda gunakan dengan model pembuatan gambar. Misalnya, Anda dapat mengizinkan model melaporkan kode filter RAI untuk konten yang diblokir, menonaktifkan pembuatan orang atau wajah menggunakan filter RAI, menetapkan tingkat pemfilteran konten, atau menampilkan skor RAI yang dibulatkan dari daftar atribut keamanan untuk input dan output.

Untuk informasi yang lebih mendetail tentang Responsible AI (RAI), parameter terkait, dan contoh outputnya, lihat Memahami dan mengonfigurasi Responsible AI untuk Imagen.

Contoh berikut menunjukkan cara menetapkan parameter RAI yang tersedia untuk pembuatan gambar.

Konsol

  1. Di konsol Google Cloud, buka tab Vertex AI Studio > Media di dasbor Vertex AI.

    Buka tab Vertex AI Studio

  2. Tambahkan perintah teks dan pilih parameter input.

  3. Jika tidak diluaskan, klik Advanced options.

  4. Klik Setelan keamanan.

  5. Pilih setelan keamanan Anda:

    • Pembuatan orang/wajah: Pilih setelan:
      • Allow (All ages)
      • Allow (Adults only)
      • Don't allow
    • Nilai minimum filter keamanan: Pilih setelan:
      • Block low and above
      • Block medium and above
      • Block only high
  6. Klik Simpan.

  7. Klik Generate.

REST

Sebelum menggunakan data permintaan apa pun, lakukan penggantian sebagai berikut:

  • PROJECT_ID: project ID Google Cloud Anda.
  • LOCATION: Region project Anda. Misalnya, us-central1, europe-west2, atau asia-northeast3. Untuk mengetahui daftar region yang tersedia, lihat Lokasi AI Generatif di Vertex AI.
  • TEXT_PROMPT: Perintah teks memandu gambar yang dihasilkan model. Kolom ini wajib diisi untuk pembuatan dan pengeditan.
  • IMAGE_COUNT: Jumlah gambar yang dihasilkan. Nilai bilangan bulat yang diterima: 1-8 (v.002), 1-4 (semua versi model lainnya). Nilai default: 4.
  • SAFETY_SETTING: Opsional. Setelan yang mengontrol nilai minimum filter keamanan untuk gambar yang dihasilkan. Nilai yang tersedia:
    • block_low_and_above: Batas keamanan tertinggi, yang menghasilkan jumlah terbesar gambar yang dihasilkan yang difilter. Nilai sebelumnya: block_most.
    • block_medium_and_above (default): Batas keamanan sedang yang menyeimbangkan pemfilteran untuk konten yang berpotensi berbahaya dan aman. Nilai sebelumnya: block_some.
    • block_only_high: Batas keamanan yang mengurangi jumlah permintaan yang diblokir karena filter keamanan. Setelan ini dapat meningkatkan konten yang tidak pantas yang dihasilkan oleh Imagen. Nilai sebelumnya: block_few.
  • PERSON_SETTING: Opsional. Setelan keamanan yang mengontrol jenis orang atau pembuatan wajah yang diizinkan model. Nilai yang tersedia:
    • allow_all: Mengizinkan pembuatan orang dari segala usia. Opsi ini hanya tersedia untuk pelanggan Offline.
    • allow_adult (default): Mengizinkan pembuatan khusus orang dewasa, kecuali untuk pembuatan selebritas. Pembuatan selebritas tidak diizinkan untuk setelan apa pun.
    • dont_allow: Menonaktifkan penyertaan orang atau wajah dalam gambar yang dihasilkan.
  • INCLUDE_RAI_REASON: Opsional. Boolean untuk mengaktifkan kode alasan yang difilter Responsible AI dalam respons dengan input atau output yang diblokir. Nilai default: false.
  • INCLUDE_SAFETY_ATTRIBUTES: Opsional. Apakah akan mengaktifkan skor Responsible AI yang dibulatkan untuk daftar atribut keamanan dalam respons untuk input dan output yang tidak difilter. Kategori atribut keselamatan: "Death, Harm & Tragedy", "Firearms & Weapons", "Hate", "Health", "Illicit Drugs", "Politics", "Porn", "Religion & Belief", "Toxic", "Violence", "Vulgarity", "War & Conflict". Nilai default: false.

Metode HTTP dan URL:

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

Isi JSON permintaan:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT"
    }
  ],
  "parameters": {
    "sampleCount": IMAGE_COUNT,
    "safetySetting": "SAFETY_SETTING",
    "personGeneration": "PERSON_SETTING",
    "includeRaiReason": INCLUDE_RAI_REASON,
    "includeSafetyAttributes": INCLUDE_SAFETY_ATTRIBUTES
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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/imagegeneration@006:predict"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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/imagegeneration@006:predict" | Select-Object -Expand Content
Respons yang Anda dapatkan bergantung pada setelan keamanan yang Anda tetapkan. Untuk mengetahui informasi selengkapnya, lihat Memahami dan mengonfigurasi Responsible AI (RAI) untuk Imagen.

Bahasa perintah teks

Parameter opsional ini memungkinkan Anda menetapkan bahasa teks input untuk pembuatan gambar atau pengeditan gambar.

gambar buku yang dibuat dari perintah dalam bahasa hindi
Gambar yang dihasilkan dari perintah: Tumpukan buku yang dilihat dari atas. Buku paling atas berisi gambar air berwarna burung. Buku bertuliskan VERTEX AI dalam huruf tebal *

* Tumpuk buku yang dilihat dari atas. Buku paling atas berisi ilustrasi cat air burung. VERTEX AI ditulis dengan huruf tebal di buku
gambar seorang wanita dari perintah dalam bahasa Korea
Gambar yang dihasilkan dari perintah: 어두운 노란색과 청록색으로 이루어진 밝은 색의 옷을입고 귀걸이를 끼고있는 여자 포스트 모던 패션 사진

Wanita mengenakan warna cerah, dengan gaya kuning gelap dan cyan gelap, mengenakan anting-anting, fotografi mode postmodern

Sebelum memulai

Selesaikan langkah-langkah tambahan berikut sebelum menggunakan fitur ini:

  1. Gunakan perintah berikut untuk membuat identitas layanan yang akan digunakan Vertex AI dalam project Anda:

    gcloud beta services identity create --service=aiplatform.googleapis.com --project=PROJECT_ID
    
  2. Meminta akses fitur. Untuk meminta akses, kirim email ke grup Akses Penguji Tepercaya Google Cloud: GenApp Builder. Referensikan Perintah Multibahasa dalam pesan Anda, dan sertakan nomor project Anda. Proses persetujuan biasanya memerlukan waktu beberapa jam.

Menetapkan bahasa perintah teks

Nilai bahasa perintah teks input berikut didukung:

  • China (aksara sederhana) (zh/zh-CN)
  • China (aksara tradisional) (zh-TW)
  • Inggris (en, nilai default)
  • Hindi (hi)
  • Jepang (ja)
  • Korea (ko)
  • Portugis (pt)
  • Spanyol (es)

Konsol

Jika perintah Anda menggunakan salah satu bahasa yang didukung, Imagen akan otomatis mendeteksi dan menerjemahkan teks Anda serta menampilkan gambar yang dihasilkan atau diedit.

Jika perintah Anda dalam bahasa yang tidak didukung, Imagen akan menggunakan teks secara verbatim untuk permintaan tersebut. Hal ini dapat menyebabkan output yang tidak terduga.

REST

Untuk mengetahui informasi selengkapnya tentang permintaan model imagegeneration, lihat referensi API model imagegeneration.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Google Cloud Anda.
  • TEXT_PROMPT: Perintah teks memandu gambar yang dihasilkan model. Kolom ini wajib diisi untuk pembuatan dan pengeditan.
  • PROMPT_LANGUAGE: Kode bahasa yang sesuai dengan bahasa perintah teks Anda. Dalam contoh ini, nilainya adalah hi. Nilai yang tersedia:
    • auto - Deteksi otomatis. Jika Imagen mendeteksi bahasa yang didukung, perintah (dan secara opsional, perintah negatif), akan diterjemahkan ke dalam bahasa Inggris. Jika bahasa yang terdeteksi tidak didukung, Imagen akan menggunakan teks input secara verbatim, yang dapat menghasilkan output yang tidak terduga. Tidak ada kode error yang ditampilkan.
    • en - Inggris (nilai default jika dihilangkan)
    • es - Spanyol
    • hi - Hindi
    • ja - Jepang
    • ko - Korea
    • pt - Portugis
    • zh-TW - China (aksara tradisional)
    • zh atau zh-CN - China (aksara sederhana)

Metode HTTP dan URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagegeneration@005:predict

Isi JSON permintaan:

{
  "instances": [
    {
      "prompt": "सूर्यास्त के समय एक समुद्र तट। उड़ते पक्षी, हवा में लहराते नारियल के पेड़। लोग समुद्र तट पर सैर का आनंद ले रहे हैं।"
    }
  ],
  "parameters": {
    "language": "PROMPT_LANGUAGE"
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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/imagegeneration@005:predict"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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/imagegeneration@005:predict" | Select-Object -Expand Content
Contoh respons berikut adalah untuk permintaan dengan "sampleCount": 2. Respons ini menampilkan dua objek prediksi, dengan byte gambar yang dihasilkan berenkode base64.
{
  "predictions": [
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}

Rasio aspek

Bergantung pada cara Anda berencana menggunakan gambar yang dihasilkan, beberapa rasio aspek mungkin berfungsi lebih baik daripada yang lain. Pilih rasio aspek yang paling sesuai dengan kasus penggunaan Anda.

Rasio aspek yang didukung dan penggunaannya:

Rasio aspek Penggunaan yang dimaksudkan Resolusi gambar (piksel) Gambar sampel
1:1 default, persegi, penggunaan umum 1024x1024 (Imagen v.002)

1536x1536 (Imagen 2 v.005, v.006)

1024x1024 (Imagen 3)
Contoh gambar yang dibuat di konsol
Perintah: foto dari atas dari makan malam pasta, foto studio dengan gaya sampul majalah makanan.
3:4 TV, media, film 1344x1792 (Imagen 2 v.006)

896x1280 (Imagen 3)
Contoh gambar yang dibuat di konsol
Perintah: foto produk komersial, iklan wewangian, botol beraroma lavender vanilla dengan latar belakang berwarna terang.
4:3 TV, media, film 1792x1344 (Imagen 2 v.006)

1280x896 (Imagen 3)
Contoh gambar yang dibuat di konsol
Perintah: foto produk komersial, sepatu kets tinggi hijau dan abu-abu, 4k, sudut dramatis.
9:16 potret, objek tinggi, perangkat seluler 1134x2016 (Imagen 2 v.005, v.006)

768x1408 (Imagen 3)
Contoh gambar yang dibuat di konsol
Perintah: gedung pencakar langit di kota new york, rendering futuristik, konsep, seni digital.
16:9 lanskap 2016x1134 (Imagen 2 v.006)

1408x768 (Imagen 3)
Contoh gambar yang dibuat di konsol
Perintah: fotografi alam, pantai di Hawaii dengan samudra di latar belakang, lensa flare, matahari terbenam.

Konsol

  1. Ikuti petunjuk membuat gambar dengan teks untuk membuka Vertex AI Studio dan memasukkan perintah teks Anda.

  2. Di panel Parameters, pilih rasio aspek dari menu Aspect ratio.

  3. Klik Generate.

REST

Rasio aspek adalah kolom opsional dalam objek parameters dari isi permintaan JSON.

  1. Ikuti petunjuk buat gambar dengan teks untuk mengganti variabel isi permintaan lainnya.

  2. Ganti kode berikut:

    • ASPECT_RATIO: Opsional. Parameter mode pembuatan yang mengontrol rasio aspek. Nilai rasio yang didukung dan penggunaannya:
      • 1:1 (default, persegi)
      • 3:4 (Iklan, media sosial)
      • 4:3 (TV, fotografi)
      • 16:9 (lanskap)
      • 9:16 (potret)
    {
      "instances": [
        ...
      ],
      "parameters": {
        "sampleCount": IMAGE_COUNT,
        "aspectRatio": "ASPECT_RATIO"
      }
    }
    
  3. Ikuti petunjuk membuat gambar dengan teks untuk mengirim permintaan REST Anda.

Jumlah hasil

Gunakan parameter jumlah hasil untuk membatasi jumlah gambar yang ditampilkan untuk setiap permintaan (pembuatan atau edit) yang Anda kirim.

Konsol

  1. Ikuti petunjuk membuat gambar dengan teks untuk membuka Vertex AI Studio dan memasukkan perintah teks Anda.

  2. Di panel Parameters, pilih nilai bilangan bulat yang valid di kolom Number of results.

  3. Klik Generate.

REST

Untuk mengetahui informasi selengkapnya tentang permintaan model imagegeneration, lihat referensi API model imagegeneration.

Jumlah hasil adalah kolom dalam objek parameters dari isi permintaan JSON.

  1. Ikuti petunjuk buat gambar dengan teks untuk mengganti variabel isi permintaan lainnya.

  2. Ganti kode berikut:

    • IMAGE_COUNT: Jumlah gambar yang dihasilkan. Nilai bilangan bulat yang diterima: 1-8 (v.002), 1-4 (semua versi model lainnya). Nilai default: 4.
    {
      "instances": [
        ...
      ],
      "parameters": { 
        "sampleCount": IMAGE_COUNT
      }
    }
    
  3. Ikuti petunjuk membuat gambar dengan teks untuk mengirim permintaan REST Anda.

Perintah negatif

Perintah negatif adalah deskripsi tentang hal yang ingin Anda hapus dalam gambar yang dibuat. Misalnya, perintah "jalanan kota di malam hari saat turun hujan tanpa satu orang pun". Model dapat menafsirkan "orang" sebagai perintah untuk menyertakan, bukan menghilangkan. Untuk memberikan hasil yang lebih baik, Anda dapat menggunakan perintah "jalanan kota di malam hari saat turun hujan" dengan perintah negatif "orang".

Imagen membuat gambar ini dengan dan tanpa dialog negatif:

Khusus perintah teks

  • Perintah teks: "pizza"

tiga contoh gambar pizza

Perintah teks dan perintah negatif

  • Perintah teks: "pizza"
  • Perintah negatif: "pepperoni"

tiga contoh gambar pizza tanpa pepperoni

Konsol

  1. Ikuti petunjuk membuat gambar dengan teks untuk membuka Vertex AI Studio dan memasukkan perintah teks Anda.

  2. Di panel Parameters, masukkan perintah negatif di kolom Negative prompt.

  3. Klik Generate.

REST

Untuk mengetahui informasi selengkapnya tentang permintaan model imagegeneration, lihat referensi API model imagegeneration.

Prompt negatif adalah kolom opsional dalam objek parameters dari isi permintaan JSON.

  1. Ikuti petunjuk buat gambar dengan teks untuk mengganti variabel isi permintaan lainnya.

  2. Ganti kode berikut:

    • NEGATIVE_PROMPT: Perintah negatif untuk membantu membuat gambar. Misalnya: "hewan" (menghapus hewan), "buram" (memperjelas gambar), "teks" (menghapus teks), atau "terpangkas" (menghapus gambar yang dipangkas).
    {
      "instances": [
        ...
      ],
      "parameters": {
        "sampleCount": IMAGE_COUNT,
        "negativePrompt": "NEGATIVE_PROMPT"
      }
    }
    
  3. Ikuti petunjuk membuat gambar dengan teks untuk mengirim permintaan REST Anda.

Nomor seed

Nomor seed adalah angka yang Anda tambahkan ke permintaan untuk membuat gambar yang dihasilkan menjadi deterministik. Menambahkan nomor seed dengan permintaan Anda adalah cara untuk memastikan bahwa Anda selalu mendapatkan gambar hasil yang sama. Misalnya, Anda dapat memberikan perintah, menetapkan jumlah hasil ke 1, dan menggunakan nomor seed untuk mendapatkan gambar yang sama setiap kali Anda menggunakan semua nilai input yang sama tersebut. Jika Anda mengirim permintaan yang sama dengan jumlah hasil yang ditetapkan ke 8, Anda akan mendapatkan delapan gambar yang sama. Namun, gambar tidak ditampilkan dalam urutan yang sama.

Konsol

  1. Ikuti petunjuk membuat gambar dengan teks untuk membuka Vertex AI Studio dan memasukkan perintah teks Anda.

  2. Di panel Parameters, klik bagian Advanced options yang dapat diperluas.

  3. Di kolom Seed, masukkan nomor seed.

  4. Klik Generate.

REST

Untuk mengetahui informasi selengkapnya tentang permintaan model imagegeneration, lihat referensi API model imagegeneration.

Nomor seed adalah kolom opsional dalam objek parameters dari isi permintaan JSON.

  1. Ikuti petunjuk buat gambar dengan teks untuk mengganti variabel isi permintaan lainnya.

  2. Ganti kode berikut:

    • SEED_NUMBER: Bilangan bulat non-negatif yang Anda berikan untuk membuat gambar output menjadi determenistik. Memberikan nomor seed yang sama akan selalu menghasilkan gambar output yang sama. Nilai bilangan bulat yang diterima: 1 - 2147483647.
    {
      "instances": [
        ...
      ],
      "parameters": {
        "sampleCount": IMAGE_COUNT,
        "seed": SEED_NUMBER,
        // required for model version 006 and greater only when using a seed number
        "addWatermark": false
      }
    }
    
  3. Ikuti petunjuk membuat gambar dengan teks untuk mengirim permintaan REST Anda.

Gaya yang telah ditentukan

Gaya gambar yang ingin Anda buat. Anda dapat menggunakan fitur ini untuk membuat gambar dengan gaya populer seperti seni digital, cat air, atau cyberpunk dengan mudah.

Konsol

  1. Ikuti petunjuk membuat gambar dengan teks untuk membuka Vertex AI Studio dan memasukkan perintah teks Anda.

  2. Di bagian Style pada panel Parameters, pilih gaya dari menu.

  3. Klik Generate.

REST

Untuk mengetahui informasi selengkapnya tentang permintaan model imagegeneration, lihat referensi API model imagegeneration.

Gaya yang telah ditentukan adalah kolom opsional dalam objek parameters dari isi permintaan JSON.

  1. Ikuti petunjuk buat gambar dengan teks untuk mengganti variabel isi permintaan lainnya.

  2. Ganti kode berikut:

    • IMAGE_STYLE: Salah satu gaya yang telah ditetapkan sebelumnya:
      • photograph
      • digital_art
      • landscape
      • sketch
      • watercolor
      • cyberpunk
      • pop_art
    {
      "instances": [
        ...
      ],
      "parameters": {
        "sampleCount": IMAGE_COUNT,
        "sampleImageStyle": "IMAGE_STYLE"
      }
    }
    
  3. Ikuti petunjuk membuat gambar dengan teks untuk mengirim permintaan REST Anda.

Meningkatkan skala gambar

Gunakan peningkatan skala untuk meningkatkan ukuran gambar yang ada, dihasilkan, atau diedit tanpa menurunkan kualitas.

Konsol

  1. Ikuti petunjuk membuat gambar dengan teks untuk membuat gambar.

  2. Pilih gambar yang akan ditingkatkan skalanya.

  3. Click Export.

  4. PIlih Upscale images.

  5. Pilih nilai dari Scale factor.

  6. Klik Export untuk menyimpan gambar yang ditingkatkan skalanya.

REST

Untuk mengetahui informasi selengkapnya tentang permintaan model imagegeneration, lihat referensi API model imagegeneration.

Mode peningkatan skala adalah kolom opsional dalam objek parameters dari isi permintaan JSON. Saat Anda meningkatkan skala gambar menggunakan API, tentukan "mode": "upscale" dan upscaleConfig.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION: Region project Anda. Misalnya, us-central1, europe-west2, atau asia-northeast3. Untuk mengetahui daftar region yang tersedia, lihat Lokasi AI Generatif di Vertex AI.
  • PROJECT_ID: project ID Google Cloud Anda.
  • B64_BASE_IMAGE: Gambar dasar yang akan diedit atau ditingkatkan resolusinya. Gambar harus ditentukan sebagai string byte berenkode base64. Batas ukuran: 10 MB.
  • IMAGE_SOURCE: Lokasi Cloud Storage gambar yang ingin Anda edit atau tingkatkan resolusinya. Contoh: gs://output-bucket/source-photos/photo.png.
  • UPSCALE_FACTOR: Opsional. Faktor yang akan digunakan untuk meningkatkan skala gambar. Jika tidak ditentukan, faktor peningkatan akan ditentukan dari sisi yang lebih panjang dari gambar input dan sampleImageSize. Nilai yang tersedia: x2 atau x4 .

Metode HTTP dan URL:

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

Isi JSON permintaan:

{
  "instances": [
    {
      "prompt": "",
      "image": {
        // use one of the following to specify the image to upscale
        "bytesBase64Encoded": "B64_BASE_IMAGE"
        "gcsUri": "IMAGE_SOURCE"
        // end of base image input options
      },
    }
  ],
  "parameters": {
    "sampleCount": 1,
    "mode": "upscale",
    "upscaleConfig": {
      "upscaleFactor": "UPSCALE_FACTOR"
    }
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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/imagegeneration@002:predict"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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/imagegeneration@002:predict" | Select-Object -Expand Content

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "iVBOR..[base64-encoded-upscaled-image]...YII="
    }
  ]
}

Langkah selanjutnya

Baca artikel tentang Imagen dan produk AI Generatif lainnya di Vertex AI: