วิธีใช้ Nano Banana 2.1 API

การเรียกใช้ Nano Banana 2.1 API (gemini-nano-banana-2.1): ภาพแรกใน curl, Python และ JS, 2K/4K, การแก้ไข, หลายเทิร์น, การอ้างอิงข้อมูล และค่าใช้จ่ายต่อภาพ

Medy Evrard

6 October 2026

วิธีใช้ Nano Banana 2.1 API

Apidog สำหรับองค์กร

การติดตั้งแบบ On-Premises

SSO & RBAC

รองรับมาตรฐาน SOC 2

สำรวจ Apidog Enterprise

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 ในทุกความละเอียดที่รองรับ

คู่มือนี้จะพาคุณตั้งแต่การเริ่มต้นใช้งานใน Terminal จนถึงการบันทึกภาพ จากนั้นจะครอบคลุมอัตราส่วนภาพ, เอาต์พุต 2K และ 4K, การแก้ไขภาพ, การเปลี่ยนแปลงแบบหลายรอบ, ภาพอ้างอิง, การอ้างอิงจากผลการค้นหา และค่าใช้จ่าย ทุกคำขอที่อยู่ด้านล่างสามารถบันทึกและเล่นซ้ำได้ใน Apidog เพื่อให้คุณสามารถเปรียบเทียบ 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
ปลายทาง (Endpoint) POST /v1beta/interactions
ความละเอียด 1K (ค่าเริ่มต้น), 2K, 4K
อินพุต ข้อความ, รูปภาพ (สูงสุด 14 รูปอ้างอิง), วิดีโอ
Python SDK pip install google-genai
JavaScript SDK npm install @google/genai

ตัวอย่างทั้งหมดใช้ Interactions API ซึ่งเป็น API ที่เอกสารการสร้างภาพของ Google ใช้สำหรับ 2.1

ขั้นตอนที่ 1: รับคีย์ Gemini API

  1. เปิด Google AI Studio และเข้าสู่ระบบ
  2. ไปที่ รับคีย์ API และสร้างคีย์ในโปรเจกต์ Google Cloud
  3. เปิดใช้งานการเรียกเก็บเงินสำหรับโปรเจกต์นั้น หน้าการกำหนดราคาของ Google ระบุว่า Nano Banana 2.1 ไม่มีบริการแบบฟรี ดังนั้นการเรียกใช้ API ต้องใช้โปรเจกต์แบบชำระเงิน
  4. ส่งออกคีย์:
export GEMINI_API_KEY="your-key-here"

Google เชื่อมโยง 2.1 กับ AI Studio playground ซึ่งสะดวกสำหรับการทดสอบพรอมต์ แต่ยังไม่ได้เผยแพร่จำนวนที่บัญชีฟรีสามารถสร้างได้ที่นั่น คู่มือของเราเกี่ยวกับ วิธีใช้ Nano Banana 2.1 ฟรี ครอบคลุมเส้นทางนั้น และ การรับคีย์ Gemini API อธิบายการตั้งค่าคีย์โดยละเอียดเพิ่มเติม

ขั้นตอนที่ 2: สร้างภาพแรกของคุณ

curl

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

from google import genai
import base64

client = genai.Client()  # reads 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

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" จะส่งคืนเฉพาะรูปภาพและละทิ้งข้อความการสนทนา ซึ่งจะทำให้การตอบกลับมีขนาดเล็กลงและประมวลผลง่ายขึ้น

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",
    },
)

สิ่งที่ควรรู้:

ขั้นตอนที่ 4: แก้ไขรูปภาพที่มีอยู่

ส่งรูปภาพของคุณเป็นบล็อก image ในรูปแบบ 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 สไตล์มาสก์โดยไม่ต้องใช้ไฟล์มาสก์

ไม่มีการอัปโหลดมาสก์แยกต่างหาก คุณกำหนดมาสก์ด้วยคำพูด เทมเพลตของ Google:

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

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

ขั้นตอนที่ 5: ทำซ้ำด้วยการแก้ไขแบบหลายรอบ

การแก้ไขแบบหลายรอบเป็นวิธีที่ Google แนะนำในการปรับแต่งรูปภาพ ส่ง id ของการโต้ตอบก่อนหน้าเป็น 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 ฟิลด์เดียวกันจะอยู่ในเนื้อหา: "previous_interaction_id": "<PREVIOUS_INTERACTION_ID>" นี่คือจุดที่ความสอดคล้องของตัวละครที่ได้รับการปรับปรุงใน 2.1 มีความสำคัญ: ตัวละครหรือผลิตภัณฑ์ควรรักษารูปลักษณ์ที่จดจำได้ในการแก้ไขหลายรอบ

ขั้นตอนที่ 6: รวมภาพอ้างอิงได้สูงสุด 14 ภาพ

เพิ่มบล็อก image ลงในรายการ input สำหรับ 2.1 เอกสารของ Google ระบุว่ารองรับภาพวัตถุที่มีความละเอียดสูงได้สูงสุด 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"},
)

ภาพอ้างอิงเป็นโทเค็นอินพุต และค่าใช้จ่ายอินพุตของ 2.1 เป็นสามเท่าของ Nano Banana 2 เวิร์กโฟลว์ที่ใช้ภาพอ้างอิงจำนวนมากจะทำให้ส่วนต่างของราคาแคบลง ดังนั้นควรพิจารณาก่อนที่จะเปลี่ยนไปใช้

สำหรับภาพที่อ้างอิงข้อเท็จจริงปัจจุบัน เช่น แผนภูมิสภาพอากาศ หรือเหตุการณ์ล่าสุด ให้เพิ่มเครื่องมือค้นหา:

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 ทำให้โมเดลสามารถใช้ภาพจากเว็บเป็นบริบทภาพ ซึ่งมีเพียง 2.1 และ Nano Banana 2 เท่านั้นที่รองรับ การอ้างอิงไม่สามารถใช้ภาพคนจริงจากผลการค้นหาได้ หากคุณแสดงผลลัพธ์ที่อ้างอิงแล้วแก่ผู้ใช้ Google กำหนดให้คุณต้องแสดง search_suggestions ที่ส่งคืนในขั้นตอน google_search_result

ขั้นตอนที่ 8: ทดสอบใน Apidog

สคริปต์ก็ใช้ได้สำหรับการสร้างภาพ สำหรับการตรวจสอบว่าพรอมต์, คีย์ และโมเดลยังทำงานได้ตามปกติ การบันทึกคำขอจะเร็วกว่า ใน Apidog:

  1. สร้างสภาพแวดล้อมและเพิ่มตัวแปร GEMINI_API_KEY ด้วยคีย์ของคุณ
  2. สร้างคำขอ: POST https://generativelanguage.googleapis.com/v1beta/interactions
  3. เพิ่มส่วนหัว x-goog-api-key: {{GEMINI_API_KEY}}
  4. วางเนื้อหา JSON ที่มี model, input และ response_format จากนั้นคลิก Send
  5. เพิ่มสคริปต์หลังการตอบกลับพร้อมกับการยืนยันสองรายการ:
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(s =>
    s.type === "model_output" &&
    (s.content || []).some(c => c.type === "image" && c.data)
  );
  pm.expect(hasImage).to.be.true;
});
  1. ทำซ้ำคำขอและเปลี่ยน model เป็น gemini-3.1-flash-image ส่งทั้งสองรายการด้วยพรอมต์เดียวกัน

ตอนนี้คุณมีการตรวจสอบแบบเคียงข้างกันระหว่าง 2.1 กับ Nano Banana 2 โดยมีสถานะ, เวลา และขนาดการตอบกลับแสดงสำหรับแต่ละครั้ง สำหรับการเปรียบเทียบคุณสมบัติที่กว้างขึ้น โปรดดูที่ 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 โทเค็นอินพุตต่อภาพ)

งานเดียวกันบน Nano Banana 2 มีค่าใช้จ่ายประมาณ $101 ผ่าน Batch API ราคา 2K ของ 2.1 ลดลงเหลือ $0.0252 ดังนั้นฝั่งเอาต์พุตจึงลดลงเหลือ $25.20 หากคุณสามารถรอได้ งานแบบแบทช์จะแลกกับการประมวลผลสูงสุด 24 ชั่วโมงเพื่อแลกกับขีดจำกัดอัตราที่สูงขึ้น รายละเอียดเพิ่มเติมเกี่ยวกับการกำหนดราคาของ Nano Banana 2 อยู่ใน การวิเคราะห์การกำหนดราคา API ของ Nano Banana 2 ของเรา

ข้อผิดพลาดที่พบบ่อย

นี่คือพฤติกรรมทั่วไปของ Gemini API ไม่ใช่ข้อผิดพลาดเฉพาะสำหรับ 2.1 ที่มีการบันทึกไว้:

ข้อผิดพลาด สาเหตุที่เป็นไปได้ การแก้ไข
400 INVALID_ARGUMENT image_size เป็นตัวพิมพ์เล็ก, อัตราส่วนไม่รองรับ, input ผิดรูปแบบ ใช้ 2K ไม่ใช่ 2k; ตรวจสอบรายการอัตราส่วน
403 PERMISSION_DENIED คีย์ไม่ถูกต้อง หรือโปรเจกต์ไม่ได้เปิดใช้งานการเรียกเก็บเงิน ตรวจสอบคีย์และเปิดใช้งานการเรียกเก็บเงิน
404 NOT_FOUND พิมพ์รหัสโมเดลผิด ใช้ gemini-nano-banana-2.1 ให้ถูกต้อง
429 RESOURCE_EXHAUSTED ถึงขีดจำกัดอัตราการใช้งาน รอสักครู่แล้วลองใหม่ หรือใช้ Batch
500 / 503 ปัญหาเซิร์ฟเวอร์ชั่วคราว ลองใหม่ด้วย Exponential Backoff
200 แต่ไม่มีภาพ พรอมต์ถูกบล็อก หรือคำตอบเป็นข้อความเท่านั้น ตั้งค่า "type": "image" และเปลี่ยนคำสั่ง

คำถามที่พบบ่อย

มีบริการฟรีสำหรับ Nano Banana 2.1 API หรือไม่? ไม่มี Google ระบุว่าบริการฟรีสำหรับ API นี้ "ไม่พร้อมใช้งาน" AI Studio playground เชื่อมโยงกับ 2.1 แต่ Google ยังไม่ได้เผยแพร่ขีดจำกัดฟรีสำหรับมัน

2.1 สามารถใช้แทน Nano Banana 2 ได้เลยหรือไม่? ส่วนใหญ่ใช่ แค่เปลี่ยนรหัสโมเดลเป็น gemini-nano-banana-2.1 คุณจะเสียระดับ 512px ไป และโทเค็นอินพุตมีราคาสูงขึ้น ดังนั้นการแก้ไขที่ใช้ภาพอ้างอิงจำนวนมากจำเป็นต้องตรวจสอบค่าใช้จ่าย

รูปภาพที่สร้างขึ้นมีลายน้ำหรือไม่? มี เอาต์พุตทั้งหมดจะรวมลายน้ำ SynthID

ฉันสามารถสร้างภาพจากวิดีโอได้หรือไม่? ได้ 2.1 รองรับบล็อกอินพุต video เช่น URL ของ YouTube ควบคู่ไปกับพรอมต์ข้อความของคุณ

คู่มือ API ของ Nano Banana 2 เก่ายังคงใช้ได้อยู่หรือไม่? แนวคิดยังคงใช้ได้ โปรดดู คู่มือ API ของ Nano Banana 2 สำหรับโมเดลรุ่นก่อนหน้า

สรุป

Nano Banana 2.1 มอบภาพที่ดีขึ้นในราคาต่อภาพเพียงครึ่งหนึ่งของ Nano Banana 2 ด้วยรูปแบบ Interactions API เดียวกัน รับคีย์ที่เรียกเก็บเงิน สร้างภาพหนึ่งภาพ จากนั้นบันทึกคำขอใน Apidog พร้อมกับการยืนยันสถานะและภาพ ทำซ้ำด้วยรหัสโมเดลเก่า และคุณจะทราบได้ภายในช่วงบ่ายว่า 2.1 คุ้มค่าที่จะเปลี่ยนไปใช้สำหรับพรอมต์ของคุณหรือไม่

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API