การสร้างรูปภาพด้วย Gemini (หรือที่รู้จักกันในชื่อ Nano Banana)

Gemini สามารถสร้างและประมวลผลรูปภาพในรูปแบบการสนทนาได้ คุณสามารถป้อนพรอมต์ให้ Gemini ด้วยข้อความ รูปภาพ หรือทั้ง 2 อย่างรวมกัน ซึ่งจะช่วยให้คุณสร้าง แก้ไข และ ทำซ้ำภาพด้วยการควบคุมที่ไม่เคยมีมาก่อนได้

  • Text-to-Image: สร้างรูปภาพคุณภาพสูงจากคำอธิบายแบบข้อความที่เรียบง่ายหรือซับซ้อน
  • รูปภาพ + ข้อความเป็นการสร้างรูปภาพ (การแก้ไข): ระบุรูปภาพและใช้พรอมต์ข้อความเพื่อเพิ่ม นำออก หรือแก้ไของค์ประกอบ เปลี่ยนสไตล์ หรือปรับการไล่ระดับสี
  • รูปภาพหลายรูปภาพเป็นรูปภาพ (การจัดองค์ประกอบและการโอนสไตล์): ใช้รูปภาพอินพุตหลายรูปเพื่อจัดองค์ประกอบฉากใหม่หรือโอนสไตล์จากรูปภาพหนึ่งไปยังอีกรูปภาพหนึ่ง
  • การปรับแต่งแบบวนซ้ำ: เริ่มการสนทนาเพื่อค่อยๆ ปรับแต่งรูปภาพของคุณหลายๆ ครั้ง โดยทำการปรับแต่งเล็กๆ น้อยๆ จนกว่าจะสมบูรณ์แบบ
  • การแสดงข้อความที่มีความเที่ยงตรงสูง: สร้างรูปภาพที่มีข้อความที่อ่านได้และจัดวางอย่างเหมาะสมได้อย่างแม่นยำ เหมาะสำหรับโลโก้ ไดอะแกรม และโปสเตอร์

รูปภาพที่สร้างขึ้นทั้งหมดจะมีลายน้ำ SynthID

การสร้างรูปภาพ (ข้อความเป็นรูปภาพ)

โค้ดต่อไปนี้แสดงวิธีสร้างรูปภาพตามพรอมต์เชิงพรรณนา

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

prompt = (
    "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme"
)

response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[prompt],
)

for part in response.candidates[0].content.parts:
    if part.text is not None:
        print(part.text)
    elif part.inline_data is not None:
        image = Image.open(BytesIO(part.inline_data.data))
        image.save("generated_image.png")

JavaScript

import { GoogleGenAI, Modality } from "@google/genai";
import * as fs from "node:fs";

async function main() {

  const ai = new GoogleGenAI({});

  const prompt =
    "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme";

  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-image-preview",
    contents: prompt,
  });
  for (const part of response.candidates[0].content.parts) {
    if (part.text) {
      console.log(part.text);
    } else if (part.inlineData) {
      const imageData = part.inlineData.data;
      const buffer = Buffer.from(imageData, "base64");
      fs.writeFileSync("gemini-native-image.png", buffer);
      console.log("Image saved as gemini-native-image.png");
    }
  }
}

main();

Go

package main

import (
  "context"
  "fmt"
  "os"
  "google.golang.org/genai"
)

func main() {

  ctx := context.Background()
  client, err := genai.NewClient(ctx, nil)
  if err != nil {
      log.Fatal(err)
  }

  result, _ := client.Models.GenerateContent(
      ctx,
      "gemini-2.5-flash-image-preview",
      genai.Text("Create a picture of a nano banana dish in a " +
                 " fancy restaurant with a Gemini theme"),
  )

  for _, part := range result.Candidates[0].Content.Parts {
      if part.Text != "" {
          fmt.Println(part.Text)
      } else if part.InlineData != nil {
          imageBytes := part.InlineData.Data
          outputFilename := "gemini_generated_image.png"
          _ = os.WriteFile(outputFilename, imageBytes, 0644)
      }
  }
}

REST

curl -s -X POST
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [
        {"text": "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme"}
      ]
    }]
  }' \
  | grep -o '"data": "[^"]*"' \
  | cut -d'"' -f4 \
  | base64 --decode > gemini-native-image.png
รูปภาพอาหารจานกล้วยขนาดเล็กที่ AI สร้างขึ้น
รูปภาพที่ AI สร้างขึ้นของเมนูนาโนบานาน่าในร้านอาหารธีม Gemini

การแก้ไขรูปภาพ (ข้อความและรูปภาพเป็นรูปภาพ)

โปรดทราบ: โปรดตรวจสอบว่าคุณมีสิทธิ์ที่จำเป็นสำหรับรูปภาพใดก็ตามที่คุณอัปโหลด และอย่าสร้างเนื้อหาที่ละเมิดสิทธิของผู้อื่น รวมถึงวิดีโอหรือรูปภาพที่เป็นการหลอกลวง คุกคาม หรือเป็นอันตราย การใช้บริการ Generative AI นี้เป็นไปตามนโยบายการใช้งานที่ไม่อนุญาตของเรา

ตัวอย่างต่อไปนี้แสดงการอัปโหลดรูปภาพที่เข้ารหัส Base64 สำหรับรูปภาพหลายรูป เพย์โหลดขนาดใหญ่ และประเภท MIME ที่รองรับ โปรดดูหน้าการทำความเข้าใจรูปภาพ

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

prompt = (
    "Create a picture of my cat eating a nano-banana in a "
    "fancy restaurant under the Gemini constellation",
)

image = Image.open("/path/to/cat_image.png")

response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[prompt, image],
)

for part in response.candidates[0].content.parts:
    if part.text is not None:
        print(part.text)
    elif part.inline_data is not None:
        image = Image.open(BytesIO(part.inline_data.data))
        image.save("generated_image.png")

JavaScript

import { GoogleGenAI, Modality } from "@google/genai";
import * as fs from "node:fs";

async function main() {

  const ai = new GoogleGenAI({});

  const imagePath = "path/to/cat_image.png";
  const imageData = fs.readFileSync(imagePath);
  const base64Image = imageData.toString("base64");

  const prompt = [
    { text: "Create a picture of my cat eating a nano-banana in a" +
            "fancy restaurant under the Gemini constellation" },
    {
      inlineData: {
        mimeType: "image/png",
        data: base64Image,
      },
    },
  ];

  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-image-preview",
    contents: prompt,
  });
  for (const part of response.candidates[0].content.parts) {
    if (part.text) {
      console.log(part.text);
    } else if (part.inlineData) {
      const imageData = part.inlineData.data;
      const buffer = Buffer.from(imageData, "base64");
      fs.writeFileSync("gemini-native-image.png", buffer);
      console.log("Image saved as gemini-native-image.png");
    }
  }
}

main();

Go

package main

import (
 "context"
 "fmt"
 "os"
 "google.golang.org/genai"
)

func main() {

 ctx := context.Background()
 client, err := genai.NewClient(ctx, nil)
 if err != nil {
     log.Fatal(err)
 }

 imagePath := "/path/to/cat_image.png"
 imgData, _ := os.ReadFile(imagePath)

 parts := []*genai.Part{
   genai.NewPartFromText("Create a picture of my cat eating a nano-banana in a fancy restaurant under the Gemini constellation"),
   &genai.Part{
     InlineData: &genai.Blob{
       MIMEType: "image/png",
       Data:     imgData,
     },
   },
 }

 contents := []*genai.Content{
   genai.NewContentFromParts(parts, genai.RoleUser),
 }

 result, _ := client.Models.GenerateContent(
     ctx,
     "gemini-2.5-flash-image-preview",
     contents,
 )

 for _, part := range result.Candidates[0].Content.Parts {
     if part.Text != "" {
         fmt.Println(part.Text)
     } else if part.InlineData != nil {
         imageBytes := part.InlineData.Data
         outputFilename := "gemini_generated_image.png"
         _ = os.WriteFile(outputFilename, imageBytes, 0644)
     }
 }
}

REST

IMG_PATH=/path/to/cat_image.jpeg

if [[ "$(base64 --version 2>&1)" = *"FreeBSD"* ]]; then
  B64FLAGS="--input"
else
  B64FLAGS="-w0"
fi

IMG_BASE64=$(base64 "$B64FLAGS" "$IMG_PATH" 2>&1)

curl -X POST \
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image-preview:generateContent" \
    -H "x-goog-api-key: $GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -d "{
      \"contents\": [{
        \"parts\":[
            {\"text\": \"'Create a picture of my cat eating a nano-banana in a fancy restaurant under the Gemini constellation\"},
            {
              \"inline_data\": {
                \"mime_type\":\"image/jpeg\",
                \"data\": \"$IMG_BASE64\"
              }
            }
        ]
      }]
    }"  \
  | grep -o '"data": "[^"]*"' \
  | cut -d'"' -f4 \
  | base64 --decode > gemini-edited-image.png
รูปภาพที่ AI สร้างขึ้นของแมวกินกล้วยอานาโน
รูปภาพที่ AI สร้างขึ้นของแมวกินกล้วยนาโน

โหมดการสร้างรูปภาพอื่นๆ

Gemini รองรับโหมดการโต้ตอบกับรูปภาพอื่นๆ ตามโครงสร้างพรอมต์และบริบท ซึ่งรวมถึง

  • ข้อความเป็นรูปภาพและข้อความ (แทรกสลับ): แสดงรูปภาพพร้อมข้อความที่เกี่ยวข้อง
    • ตัวอย่างพรอมต์: "สร้างสูตรอาหารภาพประกอบสำหรับปาเอญ่า"
  • รูปภาพและข้อความเป็นรูปภาพและข้อความ (แทรกสลับ): ใช้รูปภาพและข้อความที่ป้อนเพื่อสร้างรูปภาพและข้อความใหม่ที่เกี่ยวข้อง
    • ตัวอย่างพรอมต์: (พร้อมรูปภาพห้องที่มีเฟอร์นิเจอร์) "โซฟาสีอื่นจะเข้ากับพื้นที่ของฉันไหม อัปเดตรูปภาพได้ไหม"
  • การแก้ไขรูปภาพแบบหลายรอบ (แชท): สร้างและแก้ไขรูปภาพต่อไปได้แบบสนทนา
    • ตัวอย่างพรอมต์: [อัปโหลดรูปภาพรถสีน้ำเงิน] "เปลี่ยนรถคันนี้เป็นรถเปิดประทุน" "ตอนนี้เปลี่ยนสีเป็นสีเหลือง"

คำแนะนำและกลยุทธ์ในการเขียนพรอมต์

การสร้างรูปภาพด้วย Gemini 2.5 Flash อย่างเชี่ยวชาญเริ่มต้นด้วยหลักการพื้นฐานข้อหนึ่ง ดังนี้

อธิบายฉาก อย่าเพียงแค่แสดงรายการคีย์เวิร์ด จุดแข็งหลักของโมเดลคือความเข้าใจภาษาอย่างลึกซึ้ง ย่อหน้าแบบบรรยาย แบบอธิบายจะสร้างรูปภาพที่ดียิ่งขึ้นและสอดคล้องกันมากกว่า รายการคำที่ไม่ได้เชื่อมต่อกันแทบทุกครั้ง

พรอมต์สำหรับการสร้างรูปภาพ

กลยุทธ์ต่อไปนี้จะช่วยให้คุณสร้างพรอมต์ที่มีประสิทธิภาพเพื่อ สร้างรูปภาพที่คุณต้องการได้อย่างแม่นยำ

1. ฉากสมจริง

หากต้องการรูปภาพที่สมจริง ให้ใช้คำศัพท์เกี่ยวกับการถ่ายภาพ ระบุมุมกล้อง ประเภทเลนส์ แสง และรายละเอียดเล็กๆ น้อยๆ เพื่อเป็นแนวทางให้โมเดลสร้างผลลัพธ์ที่สมจริงเหมือนภาพถ่าย

เทมเพลต

A photorealistic [shot type] of [subject], [action or expression], set in
[environment]. The scene is illuminated by [lighting description], creating
a [mood] atmosphere. Captured with a [camera/lens details], emphasizing
[key textures and details]. The image should be in a [aspect ratio] format.

พรอมต์

A photorealistic close-up portrait of an elderly Japanese ceramicist with
deep, sun-etched wrinkles and a warm, knowing smile. He is carefully
inspecting a freshly glazed tea bowl. The setting is his rustic,
sun-drenched workshop. The scene is illuminated by soft, golden hour light
streaming through a window, highlighting the fine texture of the clay.
Captured with an 85mm portrait lens, resulting in a soft, blurred background
(bokeh). The overall mood is serene and masterful. Vertical portrait
orientation.

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

# Generate an image from a text prompt
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents="A photorealistic close-up portrait of an elderly Japanese ceramicist with deep, sun-etched wrinkles and a warm, knowing smile. He is carefully inspecting a freshly glazed tea bowl. The setting is his rustic, sun-drenched workshop with pottery wheels and shelves of clay pots in the background. The scene is illuminated by soft, golden hour light streaming through a window, highlighting the fine texture of the clay and the fabric of his apron. Captured with an 85mm portrait lens, resulting in a soft, blurred background (bokeh). The overall mood is serene and masterful.",
)

image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]

if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('photorealistic_example.png')
    image.show()
ภาพถ่ายบุคคลระยะใกล้ที่สมจริงราวกับภาพถ่ายของช่างเซรามิกชาวญี่ปุ่นสูงอายุ...
ภาพถ่ายบุคคลระยะใกล้ที่สมจริงของช่างเซรามิกชาวญี่ปุ่นสูงอายุ...

2. ภาพวาดและสติกเกอร์ที่ผ่านการปรับแต่ง

หากต้องการสร้างสติกเกอร์ ไอคอน หรือชิ้นงาน ให้ระบุสไตล์อย่างชัดเจนและขอ พื้นหลังโปร่งใส

เทมเพลต

A [style] sticker of a [subject], featuring [key characteristics] and a
[color palette]. The design should have [line style] and [shading style].
The background must be transparent.

พรอมต์

A kawaii-style sticker of a happy red panda wearing a tiny bamboo hat. It's
munching on a green bamboo leaf. The design features bold, clean outlines,
simple cel-shading, and a vibrant color palette. The background must be white.

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

# Generate an image from a text prompt
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents="A kawaii-style sticker of a happy red panda wearing a tiny bamboo hat. It's munching on a green bamboo leaf. The design features bold, clean outlines, simple cel-shading, and a vibrant color palette. The background must be white.",
)

image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]

if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('red_panda_sticker.png')
    image.show()
สติกเกอร์สไตล์คาวาอี้ของสีแดงที่กำลังมีความสุข...
สติกเกอร์สไตล์คาวาอี้ของแพนด้าแดงที่มีความสุข...

3. ข้อความที่ถูกต้องในรูปภาพ

Gemini ทำงานด้านการแสดงข้อความได้ดีเยี่ยม ระบุข้อความ รูปแบบแบบอักษร (เชิงพรรณนา) และการออกแบบโดยรวมให้ชัดเจน

เทมเพลต

Create a [image type] for [brand/concept] with the text "[text to render]"
in a [font style]. The design should be [style description], with a
[color scheme].

พรอมต์

Create a modern, minimalist logo for a coffee shop called 'The Daily Grind'.
The text should be in a clean, bold, sans-serif font. The design should
feature a simple, stylized icon of a a coffee bean seamlessly integrated
with the text. The color scheme is black and white.

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

# Generate an image from a text prompt
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents="Create a modern, minimalist logo for a coffee shop called 'The Daily Grind'. The text should be in a clean, bold, sans-serif font. The design should feature a simple, stylized icon of a a coffee bean seamlessly integrated with the text. The color scheme is black and white.",
)

image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]

if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('logo_example.png')
    image.show()
สร้างโลโก้ที่ทันสมัยและเรียบง่ายสำหรับร้านกาแฟชื่อ "The Daily Grind"...
สร้างโลโก้ที่ทันสมัยและเรียบง่ายสำหรับร้านกาแฟชื่อ "The Daily Grind"...

4. ภาพจำลองผลิตภัณฑ์และการถ่ายภาพเชิงพาณิชย์

เหมาะอย่างยิ่งสำหรับการสร้างภาพผลิตภัณฑ์ที่ดูสะอาดตาและเป็นมืออาชีพสำหรับอีคอมเมิร์ซ การโฆษณา หรือการสร้างแบรนด์

เทมเพลต

A high-resolution, studio-lit product photograph of a [product description]
on a [background surface/description]. The lighting is a [lighting setup,
e.g., three-point softbox setup] to [lighting purpose]. The camera angle is
a [angle type] to showcase [specific feature]. Ultra-realistic, with sharp
focus on [key detail]. [Aspect ratio].

พรอมต์

A high-resolution, studio-lit product photograph of a minimalist ceramic
coffee mug in matte black, presented on a polished concrete surface. The
lighting is a three-point softbox setup designed to create soft, diffused
highlights and eliminate harsh shadows. The camera angle is a slightly
elevated 45-degree shot to showcase its clean lines. Ultra-realistic, with
sharp focus on the steam rising from the coffee. Square image.

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

# Generate an image from a text prompt
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents="A high-resolution, studio-lit product photograph of a minimalist ceramic coffee mug in matte black, presented on a polished concrete surface. The lighting is a three-point softbox setup designed to create soft, diffused highlights and eliminate harsh shadows. The camera angle is a slightly elevated 45-degree shot to showcase its clean lines. Ultra-realistic, with sharp focus on the steam rising from the coffee. Square image.",
)

image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]

if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('product_mockup.png')
    image.show()
ภาพถ่ายผลิตภัณฑ์ความละเอียดสูงที่ถ่ายในสตูดิโอของแก้วกาแฟมัคเซรามิกสไตล์มินิมอล...
ภาพถ่ายผลิตภัณฑ์ความละเอียดสูงที่ถ่ายในสตูดิโอของแก้วกาแฟมัคเซรามิกแบบมินิมอล...

5. การออกแบบพื้นที่ว่างและเรียบง่าย

เหมาะอย่างยิ่งสำหรับการสร้างพื้นหลังสำหรับเว็บไซต์ งานนำเสนอ หรือสื่อการตลาด ที่จะมีการวางซ้อนข้อความ

เทมเพลต

A minimalist composition featuring a single [subject] positioned in the
[bottom-right/top-left/etc.] of the frame. The background is a vast, empty
[color] canvas, creating significant negative space. Soft, subtle lighting.
[Aspect ratio].

พรอมต์

A minimalist composition featuring a single, delicate red maple leaf
positioned in the bottom-right of the frame. The background is a vast, empty
off-white canvas, creating significant negative space for text. Soft,
diffused lighting from the top left. Square image.

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

# Generate an image from a text prompt
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents="A minimalist composition featuring a single, delicate red maple leaf positioned in the bottom-right of the frame. The background is a vast, empty off-white canvas, creating significant negative space for text. Soft, diffused lighting from the top left. Square image.",
)

image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]

if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('minimalist_design.png')
    image.show()
องค์ประกอบแบบมินิมอลลิสต์ที่มีใบเมเปิลสีแดงที่บอบบางเพียงใบเดียว...
องค์ประกอบแบบมินิมอลที่มีใบเมเปิลสีแดงที่บอบบางเพียงใบเดียว...

6. ศิลปะต่อเนื่อง (แผงการ์ตูน / สตอรีบอร์ด)

สร้างขึ้นจากความสอดคล้องของตัวละครและคำอธิบายฉากเพื่อสร้างแผงสำหรับ การเล่าเรื่องด้วยภาพ

เทมเพลต

A single comic book panel in a [art style] style. In the foreground,
[character description and action]. In the background, [setting details].
The panel has a [dialogue/caption box] with the text "[Text]". The lighting
creates a [mood] mood. [Aspect ratio].

พรอมต์

A single comic book panel in a gritty, noir art style with high-contrast
black and white inks. In the foreground, a detective in a trench coat stands
under a flickering streetlamp, rain soaking his shoulders. In the
background, the neon sign of a desolate bar reflects in a puddle. A caption
box at the top reads "The city was a tough place to keep secrets." The
lighting is harsh, creating a dramatic, somber mood. Landscape.

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

# Generate an image from a text prompt
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents="A single comic book panel in a gritty, noir art style with high-contrast black and white inks. In the foreground, a detective in a trench coat stands under a flickering streetlamp, rain soaking his shoulders. In the background, the neon sign of a desolate bar reflects in a puddle. A caption box at the top reads \"The city was a tough place to keep secrets.\" The lighting is harsh, creating a dramatic, somber mood. Landscape.",
)

image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]

if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('comic_panel.png')
    image.show()
แผงหนังสือการ์ตูนเดี่ยวในสไตล์ศิลปะแบบนัวร์ที่สมจริง...
ภาพการ์ตูนช่องเดียวในสไตล์ศิลปะนัวร์ที่สมจริง...

พรอมต์สำหรับการแก้ไขรูปภาพ

ตัวอย่างเหล่านี้แสดงวิธีระบุรูปภาพพร้อมกับพรอมต์ข้อความสำหรับการ แก้ไข การจัดองค์ประกอบ และการโอนสไตล์

1. การเพิ่มและนำองค์ประกอบออก

ระบุรูปภาพและอธิบายการเปลี่ยนแปลง โมเดลจะจับคู่สไตล์ แสง และมุมมองของรูปภาพต้นฉบับ

เทมเพลต

Using the provided image of [subject], please [add/remove/modify] [element]
to/from the scene. Ensure the change is [description of how the change should
integrate].

พรอมต์

"Using the provided image of my cat, please add a small, knitted wizard hat
on its head. Make it look like it's sitting comfortably and matches the soft
lighting of the photo."

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

# Base image prompt: "A photorealistic picture of a fluffy ginger cat sitting on a wooden floor, looking directly at the camera. Soft, natural light from a window."
image_input = Image.open('/path/to/your/cat_photo.png')
text_input = """Using the provided image of my cat, please add a small, knitted wizard hat on its head. Make it look like it's sitting comfortably and not falling off."""

# Generate an image from a text prompt
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[text_input, image_input],
)

image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]

if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('cat_with_hat.png')
    image.show()

อินพุต

เอาต์พุต

ภาพเหมือนจริงของแมวขิงขนปุย
รูปภาพสมจริงของแมวขนปุยสีส้ม...
โปรดใช้รูปภาพแมวของฉันที่ให้ไว้และเพิ่มหมวกพ่อมดถักขนาดเล็ก...
โปรดใช้รูปภาพแมวที่ฉันให้มาและเพิ่มหมวกพ่อมดถักขนาดเล็ก...

2. การแก้ไขจุดบกพร่องในภาพ (การมาสก์เชิงความหมาย)

กำหนด "มาสก์" ในลักษณะการสนทนาเพื่อแก้ไขส่วนที่ต้องการของรูปภาพโดย ไม่แตะต้องส่วนอื่นๆ

เทมเพลต

Using the provided image, change only the [specific element] to [new
element/description]. Keep everything else in the image exactly the same,
preserving the original style, lighting, and composition.

พรอมต์

"Using the provided image of a living room, change only the blue sofa to be
a vintage, brown leather chesterfield sofa. Keep the rest of the room,
including the pillows on the sofa and the lighting, unchanged."

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

# Base image prompt: "A wide shot of a modern, well-lit living room with a prominent blue sofa in the center. A coffee table is in front of it and a large window is in the background."
living_room_image = Image.open('/path/to/your/living_room.png')
text_input = """Using the provided image of a living room, change only the blue sofa to be a vintage, brown leather chesterfield sofa. Keep the rest of the room, including the pillows on the sofa and the lighting, unchanged."""

# Generate an image from a text prompt
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[living_room_image, text_input],
)

image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]

if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('living_room_edited.png')
    image.show()

อินพุต

เอาต์พุต

ภาพมุมกว้างของห้องนั่งเล่นที่ทันสมัยและมีแสงสว่างเพียงพอ...
ภาพมุมกว้างของห้องนั่งเล่นที่ทันสมัยและสว่างไสว...
ใช้รูปภาพห้องนั่งเล่นที่ให้มา เปลี่ยนเฉพาะโซฟาสีน้ำเงินให้เป็นโซฟาเชสเตอร์ฟิลด์หนังสีน้ำตาลสไตล์วินเทจ...
ใช้รูปภาพห้องนั่งเล่นที่ให้มา เปลี่ยนเฉพาะโซฟาสีน้ำเงินให้เป็นโซฟาหนังเชสเตอร์ฟิลด์สีน้ำตาลสไตล์วินเทจ...

3. การโอนรูปแบบ

ระบุรูปภาพและขอให้โมเดลสร้างเนื้อหาของรูปภาพนั้นใหม่ใน สไตล์ศิลปะที่แตกต่างกัน

เทมเพลต

Transform the provided photograph of [subject] into the artistic style of [artist/art style]. Preserve the original composition but render it with [description of stylistic elements].

พรอมต์

"Transform the provided photograph of a modern city street at night into the artistic style of Vincent van Gogh's 'Starry Night'. Preserve the original composition of buildings and cars, but render all elements with swirling, impasto brushstrokes and a dramatic palette of deep blues and bright yellows."

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

# Base image prompt: "A photorealistic, high-resolution photograph of a busy city street in New York at night, with bright neon signs, yellow taxis, and tall skyscrapers."
city_image = Image.open('/path/to/your/city.png')
text_input = """Transform the provided photograph of a modern city street at night into the artistic style of Vincent van Gogh's 'Starry Night'. Preserve the original composition of buildings and cars, but render all elements with swirling, impasto brushstrokes and a dramatic palette of deep blues and bright yellows."""

# Generate an image from a text prompt
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[city_image, text_input],
)

image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]

if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('city_style_transfer.png')
    image.show()

อินพุต

เอาต์พุต

ภาพถ่ายความละเอียดสูงที่สมจริงของถนนในเมืองที่วุ่นวาย...
ภาพถ่ายความละเอียดสูงที่สมจริงของถนนในเมืองที่วุ่นวาย...
เปลี่ยนภาพถ่ายถนนในเมืองสมัยใหม่ที่ให้มาในตอนกลางคืน...
เปลี่ยนรูปถ่ายที่ให้มาของถนนในเมืองสมัยใหม่ตอนกลางคืน...

4. การจัดองค์ประกอบขั้นสูง: การรวมรูปภาพหลายรูป

ระบุรูปภาพหลายรูปเป็นบริบทเพื่อสร้างฉากใหม่ที่ประกอบขึ้น ซึ่งเหมาะอย่างยิ่งสำหรับภาพจำลองผลิตภัณฑ์หรือภาพคอลลาจที่สร้างสรรค์

เทมเพลต

Create a new image by combining the elements from the provided images. Take
the [element from image 1] and place it with/on the [element from image 2].
The final image should be a [description of the final scene].

พรอมต์

"Create a professional e-commerce fashion photo. Take the blue floral dress
from the first image and let the woman from the second image wear it.
Generate a realistic, full-body shot of the woman wearing the dress, with
the lighting and shadows adjusted to match the outdoor environment."

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

# Base image prompts:
# 1. Dress: "A professionally shot photo of a blue floral summer dress on a plain white background, ghost mannequin style."
# 2. Model: "Full-body shot of a woman with her hair in a bun, smiling, standing against a neutral grey studio background."
dress_image = Image.open('/path/to/your/dress.png')
model_image = Image.open('/path/to/your/model.png')

text_input = """Create a professional e-commerce fashion photo. Take the blue floral dress from the first image and let the woman from the second image wear it. Generate a realistic, full-body shot of the woman wearing the dress, with the lighting and shadows adjusted to match the outdoor environment."""

# Generate an image from a text prompt
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[dress_image, model_image, text_input],
)

image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]

if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('fashion_ecommerce_shot.png')
    image.show()

อินพุต 1

อินพุต 2

เอาต์พุต

รูปภาพชุดเดรสฤดูร้อนลายดอกไม้สีฟ้าที่ถ่ายอย่างมืออาชีพ...
รูปภาพชุดเดรสฤดูร้อนลายดอกไม้สีน้ำเงินที่ถ่ายอย่างมืออาชีพ...
ภาพเต็มตัวของผู้หญิงที่มัดผมเป็นมวย...
ภาพเต็มตัวของผู้หญิงที่มัดผมเป็นมวย...
สร้างภาพถ่ายแฟชั่นอีคอมเมิร์ซแบบมืออาชีพ...
สร้างภาพถ่ายแฟชั่นอีคอมเมิร์ซระดับมืออาชีพ...

5. การรักษาความละเอียดสูง

หากต้องการให้ระบบเก็บรายละเอียดที่สำคัญ (เช่น ใบหน้าหรือโลโก้) ไว้ในระหว่างการแก้ไข โปรดอธิบายรายละเอียดเหล่านั้นพร้อมกับคำขอแก้ไข

เทมเพลต

Using the provided images, place [element from image 2] onto [element from
image 1]. Ensure that the features of [element from image 1] remain
completely unchanged. The added element should [description of how the
element should integrate].

พรอมต์

"Take the first image of the woman with brown hair, blue eyes, and a neutral
expression. Add the logo from the second image onto her black t-shirt.
Ensure the woman's face and features remain completely unchanged. The logo
should look like it's naturally printed on the fabric, following the folds
of the shirt."

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

# Base image prompts:
# 1. Woman: "A professional headshot of a woman with brown hair and blue eyes, wearing a plain black t-shirt, against a neutral studio background."
# 2. Logo: "A simple, modern logo with the letters 'G' and 'A' in a white circle."
woman_image = Image.open('/path/to/your/woman.png')
logo_image = Image.open('/path/to/your/logo.png')
text_input = """Take the first image of the woman with brown hair, blue eyes, and a neutral expression. Add the logo from the second image onto her black t-shirt. Ensure the woman's face and features remain completely unchanged. The logo should look like it's naturally printed on the fabric, following the folds of the shirt."""

# Generate an image from a text prompt
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[woman_image, logo_image, text_input],
)

image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]

if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('woman_with_logo.png')
    image.show()

อินพุต 1

อินพุต 2

เอาต์พุต

ภาพถ่ายหน้าตรงแบบมืออาชีพของผู้หญิงผมสีน้ำตาลและตาสีฟ้า...
ภาพถ่ายหน้าตรงแบบมืออาชีพของผู้หญิงผมสีน้ำตาลและตาสีฟ้า...
โลโก้เรียบง่ายทันสมัยที่มีตัวอักษร "G" และ "A"...
โลโก้ที่เรียบง่ายและทันสมัยซึ่งมีตัวอักษร "G" และ "A"...
ใช้รูปภาพแรกของผู้หญิงผมสีน้ำตาล ตาสีฟ้า และสีหน้าปกติ...
ถ่ายภาพแรกของหญิงสาวผมสีน้ำตาล ตาสีฟ้า และมีสีหน้าเป็นกลาง...

แนวทางปฏิบัติแนะนำ

หากต้องการยกระดับผลลัพธ์จากดีเป็นยอดเยี่ยม ให้ใช้กลยุทธ์ระดับมืออาชีพ เหล่านี้ในเวิร์กโฟลว์

  • ระบุรายละเอียดให้มากที่สุด: ยิ่งคุณให้รายละเอียดมากเท่าไหร่ คุณก็จะควบคุมได้มากขึ้นเท่านั้น แทนที่จะใช้คำว่า "ชุดเกราะแฟนตาซี" ให้ใช้คำว่า "ชุดเกราะเพลทของเอลฟ์ที่ตกแต่งอย่างงดงาม สลักลายใบไม้สีเงิน มีปกคอสูงและพอลดรอนรูปทรงคล้ายปีกเหยี่ยว"
  • ให้บริบทและเจตนา: อธิบายวัตถุประสงค์ของรูปภาพ ความเข้าใจบริบทของ โมเดลจะมีผลต่อเอาต์พุตสุดท้าย เช่น "สร้างโลโก้สำหรับแบรนด์สกินแคร์ระดับไฮเอนด์ที่เน้นความเรียบง่าย" จะให้ผลลัพธ์ที่ดีกว่า เพียงแค่ "สร้างโลโก้"
  • ทำซ้ำและปรับแต่ง: อย่าคาดหวังว่าจะได้รูปภาพที่สมบูรณ์แบบตั้งแต่ครั้งแรก ใช้ ลักษณะการสนทนาของโมเดลเพื่อทำการเปลี่ยนแปลงเล็กๆ น้อยๆ ติดตามด้วยพรอมต์ เช่น "ดีมาก แต่ช่วยปรับแสงให้ดูอบอุ่นขึ้นหน่อยได้ไหม" หรือ "คงทุกอย่างไว้เหมือนเดิม แต่เปลี่ยนสีหน้าของตัวละครให้ดู จริงจังมากขึ้น"
  • ใช้คำสั่งแบบทีละขั้นตอน: สำหรับฉากที่ซับซ้อนซึ่งมีองค์ประกอบจำนวนมาก ให้แบ่งพรอมต์ออกเป็นขั้นตอน "ก่อนอื่น ให้สร้างพื้นหลังเป็นป่าที่เงียบสงบและมีหมอกปกคลุม ในตอนเช้ามืด จากนั้นที่ด้านหน้า ให้เพิ่มแท่นบูชาหินโบราณที่ปกคลุมด้วยมอส สุดท้าย ให้วางดาบเรืองแสงเล่มเดียวไว้บนแท่นบูชา"
  • ใช้ "พรอมต์เชิงลบเชิงความหมาย": แทนที่จะพูดว่า "ไม่มีรถ" ให้อธิบาย ฉากที่ต้องการในเชิงบวกว่า "ถนนที่ว่างเปล่าและรกร้างโดยไม่มีร่องรอย การจราจร"
  • ควบคุมกล้อง: ใช้ภาษาที่เกี่ยวข้องกับการถ่ายภาพและภาพยนตร์เพื่อควบคุม องค์ประกอบ คำอย่าง wide-angle shot, macro shot, low-angle perspective

ข้อจำกัด

  • ใช้ภาษาต่อไปนี้เพื่อประสิทธิภาพที่ดีที่สุด: อังกฤษ, สเปน (เม็กซิโก), ญี่ปุ่น, จีน ฮินดี (อินเดีย)
  • การสร้างรูปภาพไม่รองรับอินพุตเสียงหรือวิดีโอ
  • โมเดลจะไม่สร้างรูปภาพตามจำนวนที่ผู้ใช้ขออย่างชัดเจนเสมอไป
  • โมเดลจะทำงานได้ดีที่สุดเมื่อมีรูปภาพเป็นอินพุตไม่เกิน 3 รูป
  • เมื่อสร้างข้อความสำหรับรูปภาพ Gemini จะทำงานได้ดีที่สุดหากคุณสร้างข้อความก่อน แล้วจึงขอรูปภาพที่มีข้อความนั้น
  • ขณะนี้ EEA, CH และสหราชอาณาจักรยังไม่รองรับการอัปโหลดรูปภาพเด็ก
  • รูปภาพที่สร้างขึ้นทั้งหมดจะมีลายน้ำ SynthID

กรณีที่ควรใช้ Imagen

นอกเหนือจากการใช้ความสามารถในการสร้างรูปภาพในตัวของ Gemini แล้ว คุณยังเข้าถึง Imagen ซึ่งเป็นโมเดลการสร้างรูปภาพเฉพาะทางของเราผ่าน Gemini API ได้ด้วย

แอตทริบิวต์ Imagen รูปภาพ Gemini ดั้งเดิม
จุดแข็ง โมเดลการสร้างรูปภาพที่มีความสามารถมากที่สุดในปัจจุบัน แนะนำสำหรับรูปภาพที่สมจริงเหมือนภาพถ่าย ความคมชัดที่คมชัดยิ่งขึ้น การสะกดคำและอักขระที่ปรับปรุงแล้ว คำแนะนำเริ่มต้น
ความยืดหยุ่นที่ไม่มีใครเทียบได้ ความเข้าใจตามบริบท และการแก้ไขที่เรียบง่ายโดยไม่ต้องใช้มาสก์ มีความสามารถเฉพาะตัวในการแก้ไขแบบสนทนาหลายรอบ
ความพร้อมใช้งาน พร้อมใช้งานสำหรับผู้ใช้ทั่วไป ตัวอย่าง (อนุญาตให้ใช้ในเวอร์ชันที่ใช้งานจริง)
เวลาในการตอบสนอง ต่ำ เพิ่มประสิทธิภาพเพื่อให้ทำงานได้แบบเรียลไทม์ สูงขึ้น ความสามารถขั้นสูงของโมเดลนี้ต้องใช้การคำนวณมากขึ้น
ค่าใช้จ่าย คุ้มค่าสำหรับงานเฉพาะทาง $0.02/รูปภาพ ถึง $0.12/รูปภาพ การกำหนดราคาตามโทเค็น $30 ต่อ 1 ล้านโทเค็นสำหรับเอาต์พุตรูปภาพ (โทเค็นเอาต์พุตรูปภาพที่โทเค็น 1290 ต่อรูปภาพแบบคงที่ สูงสุด 1024x1024 พิกเซล)
งานที่แนะนำ
  • คุณภาพของรูปภาพ ความสมจริงเหมือนภาพถ่าย รายละเอียดทางศิลปะ หรือสไตล์เฉพาะ (เช่น อิมเพรสชันนิสม์ อะนิเมะ) เป็นสิ่งสำคัญอันดับแรก
  • การใส่การสร้างแบรนด์ สไตล์ หรือการสร้างโลโก้และการออกแบบผลิตภัณฑ์
  • สร้างการสะกดคำหรือการจัดรูปแบบข้อความขั้นสูง
  • การสร้างข้อความและรูปภาพที่มีการแทรกสลับเพื่อผสานรวมข้อความและรูปภาพอย่างแนบเนียน
  • รวมองค์ประกอบครีเอทีฟโฆษณาจากรูปภาพหลายรูปด้วยพรอมต์เดียว
  • แก้ไขรูปภาพให้มีความเฉพาะเจาะจงสูง ปรับเปลี่ยนองค์ประกอบแต่ละรายการด้วยคำสั่งภาษาที่เรียบง่าย และทำงานกับรูปภาพแบบวนซ้ำ
  • ใช้ดีไซน์หรือพื้นผิวที่เฉพาะเจาะจงจากรูปภาพหนึ่งไปยังอีกรูปภาพหนึ่งในขณะที่ยังคงรูปแบบและรายละเอียดของวัตถุต้นฉบับไว้

Imagen 4 ควรเป็นโมเดลที่คุณเลือกใช้เพื่อเริ่มสร้างรูปภาพด้วย Imagen เลือก Imagen 4 Ultra สำหรับกรณีการใช้งานขั้นสูงหรือ เมื่อต้องการรูปภาพคุณภาพดีที่สุด (โปรดทราบว่าสร้างได้ครั้งละ 1 รูปเท่านั้น)

ขั้นตอนถัดไป