Membuat gambar dengan Gemini

Gemini 2.0 Flash mendukung pembuatan respons dalam beberapa modalitas, termasuk teks dan gambar.

Pembuatan gambar

Pratinjau publik Gemini 2.0 Flash untuk pembuatan gambar (gemini-2.0-flash-preview-image-generation) mendukung kemampuan untuk membuat gambar selain teks. Hal ini memperluas kemampuan Gemini untuk menyertakan hal berikut:

  • Buat gambar secara berulang melalui percakapan dengan bahasa alami, menyesuaikan gambar sekaligus mempertahankan konsistensi dan konteks.
  • Buat gambar dengan rendering teks panjang berkualitas tinggi.
  • Buat output teks-gambar yang disisipkan. Misalnya, postingan blog dengan teks dan gambar dalam satu giliran. Sebelumnya, hal ini memerlukan penyambungan beberapa model.
  • Buat gambar menggunakan kemampuan pengetahuan dan penalaran dunia Gemini.

Dengan rilis eksperimental publik ini, Gemini 2.0 Flash dapat menghasilkan gambar dalam 1024 piksel, mendukung pembuatan dan pengeditan gambar orang, serta berisi filter keamanan yang diperbarui yang memberikan pengalaman pengguna yang lebih fleksibel dan tidak terlalu ketat.

API ini mendukung modalitas dan kemampuan berikut:

  • Teks ke gambar

    • Contoh perintah: "Buat gambar menara Eiffel dengan kembang api di latar belakang."
  • Teks ke gambar (rendering teks)

    • Contoh perintah: "buat foto sinematik gedung besar dengan proyeksi teks raksasa ini yang dipetakan di bagian depan gedung: "Gemini 2.0 kini dapat membuat teks panjang""
  • Teks ke gambar dan teks (interleaved)

    • Contoh perintah: "Buat resep bergambar untuk paella. Buat gambar bersama teks saat Anda membuat resep."
    • Contoh perintah: "Buat cerita tentang dalam gaya animasi kartun 3D. Untuk setiap adegan, buat gambar"
  • Gambar dan teks ke gambar dan teks (disisipkan)

    • Contoh perintah: (Dengan gambar ruangan berfurnitur) "Warna sofa apa saja yang cocok untuk ruangan saya? Dapatkah Anda memperbarui gambar?"
  • Pengeditan gambar (teks dan gambar ke gambar)

    • Contoh perintah: "Edit gambar ini agar terlihat seperti kartun"
    • Contoh perintah: [gambar kucing] + [gambar bantal] + "Buat sulaman silang kucing saya di bantal ini."
  • Pengeditan gambar multi-giliran (chat)

    • Contoh perintah: [upload gambar mobil biru.] "Ubah mobil ini menjadi mobil konversi." "Sekarang ubah warnanya menjadi kuning."

Batasan:

  • Untuk performa terbaik, gunakan bahasa berikut: EN, es-MX, ja-JP, zh-CN, hi-IN.
  • Pembuatan gambar tidak mendukung input audio atau video.
  • Pembuatan gambar mungkin tidak selalu memicu:
    • Model hanya dapat menghasilkan teks. Coba minta output gambar secara eksplisit. Misalnya, "berikan gambar saat Anda melanjutkan".
    • Model ini dapat menghasilkan teks sebagai gambar. Coba minta output teks secara eksplisit. Misalnya, "buat teks narasi beserta ilustrasi".
    • Model mungkin berhenti menghasilkan di tengah jalan. Coba lagi atau coba perintah lain.

Buat gambar

Bagian berikut membahas cara membuat gambar menggunakan Vertex AI Studio atau menggunakan API.

Untuk panduan dan praktik terbaik dalam memberikan perintah, lihat Mendesain perintah multimodal.

Konsol

Untuk menggunakan pembuatan gambar:

  1. Buka Vertex AI Studio > Create prompt.
  2. Klik Switch model, lalu pilih gemini-2.0-flash-preview-image-generation dari menu.
  3. Di panel Output, pilih Gambar dan teks dari menu drop-down.
  4. Tulis deskripsi gambar yang ingin Anda buat di area teks area teks Write a prompt.
  5. Klik tombol Prompt ().

Gemini akan membuat gambar berdasarkan deskripsi Anda. Proses ini akan memerlukan waktu beberapa detik, tetapi mungkin akan lebih lambat dibandingkan dengan kapasitas.

Gen AI SDK for Python

Instal

pip install --upgrade google-genai

Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.

Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import GenerateContentConfig, Modality
from PIL import Image
from io import BytesIO

client = genai.Client()

response = client.models.generate_content(
    model="gemini-2.0-flash-exp",
    contents=(
        "Generate an image of the Eiffel tower with fireworks in the background."
    ),
    config=GenerateContentConfig(response_modalities=[Modality.TEXT, Modality.IMAGE]),
)
for part in response.candidates[0].content.parts:
    if part.text:
        print(part.text)
    elif part.inline_data:
        image = Image.open(BytesIO((part.inline_data.data)))
        image.save("example-image.png")
# Example response:
#   A beautiful photograph captures the iconic Eiffel Tower in Paris, France,
#   against a backdrop of a vibrant and dynamic fireworks display. The tower itself...

REST

Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://${API_ENDPOINT}:generateContent \
  -d '{
    "contents": {
      "role": "USER",
      "parts": { "text": "Create a tutorial explaining how to make a peanut butter and jelly sandwich in three easy steps."},
    },
    "generation_config": {
      "response_modalities": ["TEXT", "IMAGE"],
     },
     "safetySettings": {
      "method": "PROBABILITY",
      "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    },
  }' 2>/dev/null >response.json

Gemini akan membuat gambar berdasarkan deskripsi Anda. Proses ini akan memerlukan waktu beberapa detik, tetapi mungkin akan lebih lambat dibandingkan dengan kapasitas.

Mengedit gambar

Konsol

Untuk mengedit gambar:

  1. Buka Vertex AI Studio > Create prompt.
  2. Klik Switch model, lalu pilih gemini-2.0-flash-preview-image-generation dari menu.
  3. Di panel Output, pilih Gambar dan teks dari menu drop-down.
  4. Klik Sisipkan media () dan pilih sumber dari menu, lalu ikuti petunjuk dialog.
  5. Tulis pengeditan yang ingin Anda lakukan pada gambar di area teks Write a prompt.
  6. Klik tombol Prompt ().

Gemini akan membuat versi yang diedit dari gambar yang diberikan berdasarkan deskripsi Anda. Proses ini akan memerlukan waktu beberapa detik, tetapi mungkin relatif lebih lambat bergantung pada kapasitas.

Gen AI SDK for Python

Instal

pip install --upgrade google-genai

Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.

Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import GenerateContentConfig, Modality
from PIL import Image
from io import BytesIO

client = genai.Client()

# Using an image of Eiffel tower, with fireworks in the background.
image = Image.open("example-image.png")

response = client.models.generate_content(
    model="gemini-2.0-flash-exp",
    contents=[image, "Edit this image to make it look like a cartoon."],
    config=GenerateContentConfig(response_modalities=[Modality.TEXT, Modality.IMAGE]),
)
for part in response.candidates[0].content.parts:
    if part.text:
        print(part.text)
    elif part.inline_data:
        image = Image.open(BytesIO((part.inline_data.data)))
        image.save("bw-example-image.png")
# Example response:
#  Here's the cartoon-style edit of the image:
#  Cartoon-style edit:
#  - Simplified the Eiffel Tower with bolder lines and slightly exaggerated proportions.
#  - Brightened and saturated the colors of the sky, fireworks, and foliage for a more vibrant, cartoonish look.
#  ....

REST

Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://${API_ENDPOINT}:generateContent \
  -d '{
    "contents": {
      "role": "USER",
      "parts": [
        {"file_data": {
          "mime_type": "image/jpg",
          "file_uri": "<var>FILE_NAME</var>"
          }
        },
        {"text": "Convert this photo to black and white, in a cartoonish style."},
      ]

    },
    "generation_config": {
      "response_modalities": ["TEXT", "IMAGE"],
    },
    "safetySettings": {
      "method": "PROBABILITY",
      "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    },
  }' 2>/dev/null >response.json

Gemini akan membuat gambar berdasarkan deskripsi Anda. Proses ini akan memerlukan waktu beberapa detik, tetapi mungkin akan lebih lambat dibandingkan dengan kapasitas.

Membuat kombinasi gambar dan teks

Gemini 2.0 Flash dapat menghasilkan gambar yang diselingi dengan respons teksnya. Misalnya, Anda dapat membuat gambar tampilan setiap langkah resep yang dihasilkan untuk menyertai teks langkah tersebut, tanpa harus membuat permintaan terpisah ke model untuk melakukannya.

Konsol

Untuk membuat gambar yang disisipkan dengan respons teks:

  1. Buka Vertex AI Studio > Create prompt.
  2. Klik Switch model, lalu pilih gemini-2.0-flash-preview-image-generation dari menu.
  3. Di panel Output, pilih Gambar dan teks dari menu drop-down.
  4. Tulis deskripsi gambar yang ingin Anda buat di area teks area teks Write a prompt. Misalnya, "Buat tutorial yang menjelaskan cara membuat sandwich selai kacang dan jeli dalam tiga langkah mudah. Untuk setiap langkah, berikan judul dengan nomor langkah, penjelasan, dan juga buat gambar, buat setiap gambar dalam rasio aspek 1:1."
  5. Klik tombol Prompt ().

Gemini akan membuat respons berdasarkan deskripsi Anda. Proses ini akan memerlukan waktu beberapa detik, tetapi mungkin akan lebih lambat dibandingkan dengan kapasitas.

Gen AI SDK for Python

Instal

pip install --upgrade google-genai

Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.

Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import GenerateContentConfig, Modality
from PIL import Image
from io import BytesIO

client = genai.Client()

response = client.models.generate_content(
    model="gemini-2.0-flash-exp",
    contents=(
        "Generate an illustrated recipe for a paella."
        "Create images to go alongside the text as you generate the recipe"
    ),
    config=GenerateContentConfig(response_modalities=[Modality.TEXT, Modality.IMAGE]),
)
with open("paella-recipe.md", "w") as fp:
    for i, part in enumerate(response.candidates[0].content.parts):
        if part.text is not None:
            fp.write(part.text)
        elif part.inline_data is not None:
            image = Image.open(BytesIO((part.inline_data.data)))
            image.save(f"example-image-{i+1}.png")
            fp.write(f"![image](./example-image-{i+1}.png)")
# Example response:
#  A markdown page for a Paella recipe(`paella-recipe.md`) has been generated.
#   It includes detailed steps and several images illustrating the cooking process.

REST

Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://${API_ENDPOINT}:generateContent \
  -d '{
    "contents": {
      "role": "USER",
      "parts": { "text": "Create a tutorial explaining how to make a peanut butter and jelly sandwich in three easy steps. For each step, provide a title with the number of the step, an explanation, and also generate an image, generate each image in a 1:1 aspect ratio."},
    },
    "generation_config": {
      "response_modalities": ["TEXT", "IMAGE"],
     },
     "safetySettings": {
      "method": "PROBABILITY",
      "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    },
  }' 2>/dev/null >response.json

Gemini akan membuat gambar berdasarkan deskripsi Anda. Proses ini akan memerlukan waktu beberapa detik, tetapi mungkin akan lebih lambat dibandingkan dengan kapasitas.