Google เปิดตัว Nano Banana 2.1 เมื่อวันที่ 6 ตุลาคม 2026 และเรียกใช้ผ่าน Gemini API ด้วยรหัสโมเดล gemini-nano-banana-2.1 ได้แล้ว โมเดลนี้อัปเดตจาก Nano Banana 2 (Gemini 3.1 Flash Image) โดยปรับปรุงคุณภาพภาพ การแก้ไขแบบมาสก์ด้วยคำสั่ง และความสอดคล้องของตัวละครในการแก้ไขหลายรอบ อีกทั้งค่าใช้จ่ายต่อภาพลดลงเหลือครึ่งหนึ่งของ Nano Banana 2 ในทุกความละเอียดที่รองรับ
บทความนี้จะพาคุณเรียก API จาก Terminal สร้างและบันทึกภาพ ตั้งค่าอัตราส่วนและความละเอียด แก้ไขภาพ ทำงานแบบหลายรอบ ใช้ภาพอ้างอิง ใช้ Google Search และตรวจสอบต้นทุน คุณสามารถบันทึกและเล่นซ้ำทุกคำขอใน Apidog เพื่อเปรียบเทียบ Nano Banana 2.1 กับโมเดลที่ใช้งานอยู่ได้
ต้องการข้อมูลเบื้องต้นก่อนเริ่มใช้งาน? อ่าน Nano Banana 2.1 คืออะไร สำหรับรายละเอียดสิ่งที่เปลี่ยนแปลงและสิ่งที่ Google ยังไม่ได้เผยแพร่
สิ่งที่คุณต้องมี
| รายการ | ค่า |
|---|---|
| URL พื้นฐาน | https://generativelanguage.googleapis.com/v1beta |
| ส่วนหัวการรับรองความถูกต้อง | x-goog-api-key: $GEMINI_API_KEY |
| รหัสโมเดล | gemini-nano-banana-2.1 |
| ปลายทาง | POST /v1beta/interactions |
| ความละเอียด | 1K (ค่าเริ่มต้น), 2K, 4K |
| อินพุต | ข้อความ, รูปภาพ (สูงสุด 14 รูปอ้างอิง), วิดีโอ |
| Python SDK | pip install google-genai |
| JavaScript SDK | npm install @google/genai |
ตัวอย่างทั้งหมดใช้ Interactions API ซึ่งเป็น API ที่เอกสารการสร้างภาพของ Google ใช้สำหรับ Nano Banana 2.1
ขั้นตอนที่ 1: รับคีย์ Gemini API
- เปิด Google AI Studio และเข้าสู่ระบบ
- ไปที่ รับคีย์ API แล้วสร้างคีย์ใน Google Cloud project
- เปิดใช้การเรียกเก็บเงินสำหรับโปรเจกต์นั้น โดยหน้าการกำหนดราคาของ Google ระบุว่า Nano Banana 2.1 ไม่มีบริการ API แบบฟรี
- ส่งออกคีย์เป็น environment variable:
export GEMINI_API_KEY="your-key-here"
Google เชื่อมโยง 2.1 กับ AI Studio playground ซึ่งเหมาะสำหรับทดสอบพรอมต์ แต่ยังไม่ได้เผยแพร่จำนวนภาพที่บัญชีฟรีสร้างได้ คู่มือ วิธีใช้ Nano Banana 2.1 ฟรี ครอบคลุมเส้นทางดังกล่าว และ การรับคีย์ Gemini API อธิบายการตั้งค่าคีย์เพิ่มเติม
ขั้นตอนที่ 2: สร้างภาพแรกของคุณ
เรียกด้วย curl
เริ่มจากส่งข้อความไปยัง POST /v1beta/interactions:
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-nano-banana-2.1",
"input": [
{
"type": "text",
"text": "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme"
}
]
}'
การตอบกลับเป็น JSON โดยข้อมูลภาพอยู่ในรูปแบบ base64 ภายในบล็อกรูปภาพ ใช้ SDK หรือสคริปต์เพื่อถอดรหัสและบันทึกเป็นไฟล์
Python
ติดตั้ง SDK ก่อน:
pip install google-genai
จากนั้นสร้างภาพและบันทึกเป็น PNG:
from google import genai
import base64
client = genai.Client() # อ่านค่า GEMINI_API_KEY
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input="Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme",
)
with open("generated_image.png", "wb") as f:
f.write(base64.b64decode(interaction.output_image.data))
interaction.output_image จะคืนบล็อกรูปภาพล่าสุด และฟิลด์ data เป็น base64 จึงต้องถอดรหัสก่อนเขียนลงไฟล์
JavaScript
ติดตั้ง SDK:
npm install @google/genai
สร้างไฟล์ JavaScript เช่น generate-image.mjs:
import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({});
const interaction = await ai.interactions.create({
model: "gemini-nano-banana-2.1",
input: "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme",
});
const image = interaction.output_image;
if (image) {
fs.writeFileSync("nano-banana.png", Buffer.from(image.data, "base64"));
}
โมเดลสร้างภาพ Gemini 3 จะคิดก่อนสร้างภาพ และอาจสร้าง “ภาพความคิด” ชั่วคราวได้สูงสุดสองภาพระหว่างวางองค์ประกอบ ภาพเหล่านี้ไม่มีค่าใช้จ่ายและไม่สามารถปิดได้ผ่าน API
ขั้นตอนที่ 3: ตั้งค่าอัตราส่วนภาพ ความละเอียด และเอาต์พุตเฉพาะรูปภาพ
ใช้ response_format เพื่อกำหนดรูปแบบเอาต์พุต หากตั้งค่า "type": "image" API จะคืนเฉพาะรูปภาพโดยไม่รวมข้อความการสนทนา ทำให้ response เล็กลงและประมวลผลง่ายขึ้น
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input="A product shot of a matte black coffee grinder on a marble counter",
response_format={
"type": "image",
"mime_type": "image/png",
"aspect_ratio": "16:9",
"image_size": "2K",
},
)
ข้อควรตรวจสอบก่อนส่งคำขอ:
-
image_sizeรองรับ1K,2Kและ4Kเท่านั้น และต้องใช้Kตัวพิมพ์ใหญ่ เช่น2Kไม่ใช่2k - Nano Banana 2.1 ไม่มีระดับ 512px ซึ่งเป็นระดับของ Nano Banana 2
- อัตราส่วนที่รองรับคือ
1:1,2:3,3:2,3:4,4:3,4:5,5:4,9:16,16:9,21:9,1:4,4:1,1:8และ8:1 - ภาพ
16:9ที่ความละเอียด 2K มีขนาด2752x1536และที่ 4K มีขนาด5504x3072 - หากต้องการทั้งข้อความและรูปภาพ ให้ส่งรายการ response format:
response_format=[
{"type": "text"},
{"type": "image"},
]
ขั้นตอนที่ 4: แก้ไขรูปภาพที่มีอยู่
ส่งรูปภาพเป็นบล็อก image ในรูปแบบ base64 พร้อมคำสั่งข้อความ ตัวอย่างนี้เปลี่ยนเฉพาะโซฟาสีน้ำเงิน โดยระบุสิ่งที่ต้องรักษาไว้อย่างชัดเจน:
import base64
with open("living_room.png", "rb") as f:
image_b64 = base64.b64encode(f.read()).decode("utf-8")
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input=[
{
"type": "text",
"text": (
"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."
),
},
{
"type": "image",
"data": image_b64,
"mime_type": "image/png",
},
],
)
การ Inpainting สไตล์มาสก์โดยไม่ต้องใช้ไฟล์มาสก์
API ไม่มีการอัปโหลดไฟล์มาสก์แยกต่างหาก แต่คุณกำหนดพื้นที่ที่จะแก้ด้วยข้อความ ตัวอย่างเทมเพลต:
จากภาพที่ให้มา ให้เปลี่ยนเฉพาะ [องค์ประกอบเฉพาะ] เป็น [องค์ประกอบ/คำอธิบายใหม่] รักษาส่วนอื่น ๆ ทั้งหมดในภาพให้เหมือนเดิมทุกประการ โดยคงสไตล์ แสง และองค์ประกอบเดิมไว้
แนวทางเขียนพรอมต์สำหรับการแก้ไข:
- ระบุองค์ประกอบที่ต้องการเปลี่ยนเพียงรายการเดียว
- บอกลักษณะของสิ่งที่จะใช้แทนให้ชัดเจน
- ระบุองค์ประกอบที่ต้องคงเดิม เช่น แสง มุมกล้อง สี หรือวัตถุอื่น
พรอมต์กว้าง ๆ เช่น “ทำให้โซฟาดูดีขึ้น” อาจทำให้โมเดลปรับหรือสร้างห้องใหม่ทั้งภาพได้
ขั้นตอนที่ 5: ทำซ้ำด้วยการแก้ไขแบบหลายรอบ
สำหรับการปรับภาพทีละรอบ ให้ส่ง id ของ interaction ก่อนหน้าใน previous_interaction_id แล้วส่งเฉพาะคำสั่งเปลี่ยนแปลงใหม่
interaction_2 = client.interactions.create(
model="gemini-nano-banana-2.1",
input="Update this infographic to be in Spanish. Do not change any other elements of the image.",
previous_interaction_id=interaction.id,
response_format={
"type": "image",
"mime_type": "image/png",
"aspect_ratio": "16:9",
"image_size": "2K",
},
)
หากเรียกผ่าน REST ให้เพิ่มฟิลด์นี้ใน JSON body:
{
"previous_interaction_id": "<PREVIOUS_INTERACTION_ID>"
}
การทำงานแบบหลายรอบเป็นกรณีที่ความสอดคล้องของตัวละครใน 2.1 มีความสำคัญ ตัวละครหรือผลิตภัณฑ์ควรรักษารูปลักษณ์ที่จดจำได้ตลอดการแก้ไขหลายครั้ง
ขั้นตอนที่ 6: รวมภาพอ้างอิงได้สูงสุด 14 ภาพ
เพิ่มบล็อก image หลายรายการใน input ได้ เอกสารของ Google ระบุว่า Nano Banana 2.1 รองรับ:
- ภาพวัตถุความละเอียดสูงสูงสุด 10 ภาพ
- ภาพตัวละครสูงสุด 4 ภาพ
- รวมทั้งหมดสูงสุด 14 ภาพ
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input=[
{
"type": "text",
"text": "An office group photo of these people, they are making funny faces.",
},
{"type": "image", "data": person_1_b64, "mime_type": "image/png"},
{"type": "image", "data": person_2_b64, "mime_type": "image/png"},
{"type": "image", "data": person_3_b64, "mime_type": "image/png"},
],
response_format={
"type": "image",
"aspect_ratio": "5:4",
"image_size": "2K",
},
)
ภาพอ้างอิงนับเป็น input token และค่าใช้จ่ายอินพุตของ 2.1 สูงกว่า Nano Banana 2 สามเท่า ดังนั้นเวิร์กโฟลว์ที่ใช้ภาพอ้างอิงจำนวนมากอาจทำให้ส่วนต่างของราคาต่อภาพลดลง ควรทดสอบกับคำขอจริงก่อนย้ายระบบ
ขั้นตอนที่ 7: อ้างอิงภาพด้วย Google Search
หากภาพต้องอ้างอิงข้อมูลปัจจุบัน เช่น เหตุการณ์ล่าสุดหรือแผนภูมิสภาพอากาศ ให้เพิ่มเครื่องมือค้นหา:
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input="A detailed painting of a Timareta butterfly resting on a flower",
tools=[
{
"type": "google_search",
"search_types": ["web_search", "image_search"],
}
],
)
ข้อแตกต่างของการตั้งค่า:
-
{"type": "google_search"}ใช้ค้นหาเว็บเท่านั้น - การเพิ่ม
"image_search"ช่วยให้โมเดลใช้ภาพจากเว็บเป็นบริบทภาพ - ความสามารถนี้รองรับใน Nano Banana 2.1 และ Nano Banana 2
- ผลการค้นหาไม่สามารถใช้เป็นภาพอ้างอิงของบุคคลจริงได้
- หากแสดงผลลัพธ์ที่อ้างอิงการค้นหาแก่ผู้ใช้ Google กำหนดให้แสดง
search_suggestionsที่ส่งคืนในขั้นตอนgoogle_search_result
ขั้นตอนที่ 8: ทดสอบคำขอใน Apidog
สคริปต์เหมาะสำหรับการสร้างภาพ แต่เมื่อคุณต้องการตรวจสอบว่าพรอมต์ คีย์ และโมเดลยังทำงานได้ ให้บันทึกคำขอใน Apidog เพื่อเรียกซ้ำและเปรียบเทียบผลได้รวดเร็วขึ้น
- สร้าง Environment และเพิ่มตัวแปร
GEMINI_API_KEY - สร้างคำขอ:
POST https://generativelanguage.googleapis.com/v1beta/interactions
- เพิ่ม header:
x-goog-api-key: {{GEMINI_API_KEY}}
- วาง JSON body ที่มี
model,inputและresponse_format - กด Send
- เพิ่มสคริปต์หลังการตอบกลับเพื่อตรวจสอบทั้งสถานะและบล็อกรูปภาพ:
pm.test("status is 200", () => {
pm.response.to.have.status(200);
});
pm.test("response contains an image block", () => {
const steps = pm.response.json().steps || [];
const hasImage = steps.some((step) =>
step.type === "model_output" &&
(step.content || []).some(
(content) => content.type === "image" && content.data
)
);
pm.expect(hasImage).to.be.true;
});
- ทำซ้ำคำขอ แล้วเปลี่ยน
modelเป็นgemini-3.1-flash-image - ส่งทั้งสองคำขอด้วยพรอมต์และการตั้งค่าเดียวกัน
คุณจะได้การเปรียบเทียบ Nano Banana 2.1 กับ Nano Banana 2 แบบเคียงข้างกัน พร้อมสถานะ เวลา และขนาด response ของแต่ละคำขอ สำหรับการเปรียบเทียบคุณสมบัติเพิ่มเติม ดู Nano Banana 2.1 vs Nano Banana 2 vs Pro
ค่าใช้จ่าย
ระดับแบบชำระเงินตามหน้าการกำหนดราคาของ Google ณ วันที่ 7 ตุลาคม 2026:
| โมเดล | อินพุต / 1M | ภาพ 1K | ภาพ 2K | ภาพ 4K | แบทช์ 1K |
|---|---|---|---|---|---|
| Nano Banana 2.1 | $1.50 | $0.0336 | $0.0504 | $0.0756 | $0.0168 |
| Nano Banana 2 | $0.50 | $0.067 | $0.101 | $0.151 | $0.034 |
| Nano Banana Pro | $2.00 | $0.134 | $0.134 | $0.24 | $0.067 |
เอาต์พุตภาพของ 2.1 มีราคา $30 ต่อ 1 ล้านโทเค็น:
- ภาพ 1K ใช้ 1,120 โทเค็น
- ภาพ 2K ใช้ 1,680 โทเค็น
- ภาพ 4K ใช้ 2,520 โทเค็น
เอาต์พุตข้อความและการคิดมีราคา $7.50 ต่อ 1 ล้านโทเค็น ส่วนการอ้างอิงผลการค้นหารวมคำขอฟรี 5,000 ครั้งต่อเดือนที่แชร์กันในโมเดล Gemini 3.x หลังจากนั้นคิด $14 ต่อ 1,000 ครั้ง
ตัวอย่างการคำนวณ: สร้างภาพผลิตภัณฑ์ 1,000 ภาพ ที่ความละเอียด 2K โดยใช้พรอมต์ข้อความสั้นประมาณ 100 input token ต่อภาพ
- เอาต์พุต:
1,000 x $0.0504= $50.40 - อินพุต:
100,000 x $1.50 / 1M= $0.15 - รวม: ประมาณ $50.55 บวกค่า token สำหรับข้อความการคิด หากมี
งานเดียวกันบน Nano Banana 2 มีค่าใช้จ่ายประมาณ $101 ผ่าน Batch API ราคา 2K ของ 2.1 ลดลงเหลือ $0.0252 ทำให้ค่าเอาต์พุตลดเหลือ $25.20 หากรับเวลาประมวลผลได้ งานแบบ Batch แลกเวลาสูงสุด 24 ชั่วโมงกับขีดจำกัดอัตราที่สูงขึ้นได้
อ่านรายละเอียดเพิ่มเติมได้ใน การวิเคราะห์การกำหนดราคา API ของ Nano Banana 2
ข้อผิดพลาดที่พบบ่อย
ตารางนี้ครอบคลุมพฤติกรรมทั่วไปของ Gemini API ไม่ใช่ข้อผิดพลาดที่บันทึกว่าเฉพาะเจาะจงกับ Nano Banana 2.1
| ข้อผิดพลาด | สาเหตุที่เป็นไปได้ | การแก้ไข |
|---|---|---|
400 INVALID_ARGUMENT |
image_size เป็นตัวพิมพ์เล็ก, อัตราส่วนไม่รองรับ, input ผิดรูปแบบ |
ใช้ 2K ไม่ใช่ 2k; ตรวจสอบรายการอัตราส่วนและ JSON |
403 PERMISSION_DENIED |
คีย์ไม่ถูกต้อง หรือโปรเจกต์ไม่ได้เปิดใช้การเรียกเก็บเงิน | ตรวจสอบคีย์และสถานะ billing ของโปรเจกต์ |
404 NOT_FOUND |
พิมพ์รหัสโมเดลผิด | ใช้ gemini-nano-banana-2.1 ให้ถูกต้อง |
429 RESOURCE_EXHAUSTED |
ถึงขีดจำกัดอัตราการใช้งาน | รอสักครู่แล้วลองใหม่ หรือใช้ Batch |
500 / 503
|
ปัญหาเซิร์ฟเวอร์ชั่วคราว | ลองใหม่ด้วย Exponential Backoff |
200 แต่ไม่มีภาพ |
พรอมต์ถูกบล็อก หรือคำตอบเป็นข้อความเท่านั้น | ตั้งค่า "type": "image" และปรับคำสั่ง |
ตัวอย่าง Exponential Backoff แบบง่ายใน Python:
import time
for attempt in range(5):
try:
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input="Create a product photo of a ceramic mug",
)
break
except Exception:
if attempt == 4:
raise
time.sleep(2 ** attempt)
คำถามที่พบบ่อย
มีบริการฟรีสำหรับ Nano Banana 2.1 API หรือไม่?
ไม่มี Google ระบุว่าบริการฟรีสำหรับ API นี้ “ไม่พร้อมใช้งาน” แม้ AI Studio playground จะเชื่อมโยงกับ 2.1 แต่ Google ยังไม่ได้เผยแพร่ขีดจำกัดฟรี
2.1 สามารถใช้แทน Nano Banana 2 ได้ทันทีหรือไม่?
ส่วนใหญ่ได้ เพียงเปลี่ยนรหัสโมเดลเป็น gemini-nano-banana-2.1 อย่างไรก็ตาม คุณจะเสียระดับ 512px และค่า input token สูงขึ้น ดังนั้นงานที่ใช้ภาพอ้างอิงจำนวนมากควรตรวจสอบต้นทุนก่อน
รูปภาพที่สร้างขึ้นมีลายน้ำหรือไม่?
มี เอาต์พุตทั้งหมดรวมลายน้ำ SynthID
ฉันสามารถสร้างภาพจากวิดีโอได้หรือไม่?
ได้ Nano Banana 2.1 รองรับบล็อกอินพุต video เช่น URL ของ YouTube ร่วมกับพรอมต์ข้อความ
คู่มือ API ของ Nano Banana 2 เดิมยังใช้ได้หรือไม่?
แนวคิดส่วนใหญ่ยังใช้ได้ ดู คู่มือ API ของ Nano Banana 2 สำหรับโมเดลรุ่นก่อนหน้า
สรุป
Nano Banana 2.1 ให้ภาพที่ดีขึ้นโดยมีราคาต่อภาพเพียงครึ่งหนึ่งของ Nano Banana 2 และยังใช้รูปแบบ Interactions API เดิม เริ่มจากสร้างคีย์ที่เปิดใช้ billing ทดสอบสร้างภาพหนึ่งภาพ แล้วบันทึกคำขอใน Apidog พร้อมการตรวจสอบสถานะและ image block
จากนั้นทำซ้ำคำขอเดิมโดยเปลี่ยนรหัสโมเดลเป็นรุ่นเก่า คุณจะเปรียบเทียบคุณภาพ ความเร็ว และต้นทุนของพรอมต์จริงได้ภายในเวลาไม่นาน
Top comments (0)