Hướng dẫn sử dụng API Nano Banana 2.1

Gọi API Nano Banana 2.1 (gemini-nano-banana-2.1): ảnh đầu tiên trong curl, Python và JS, 2K/4K, chỉnh sửa, đa lượt, liên kết ngữ cảnh và chi phí mỗi ảnh.

Medy Evrard

6 tháng 10 2026

Hướng dẫn sử dụng API Nano Banana 2.1

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Google đã ra mắt Nano Banana 2.1 vào ngày 6 tháng 10 năm 2026, và nó đã có thể được gọi qua Gemini API dưới tên `gemini-nano-banana-2.1`. Đây là một bản cập nhật cho Nano Banana 2 (Gemini 3.1 Flash Image) với chất lượng hình ảnh tốt hơn, chỉnh sửa theo kiểu mask và khả năng nhất quán nhân vật mạnh mẽ hơn qua các lượt. Nó cũng có chi phí trên mỗi hình ảnh bằng một nửa so với Nano Banana 2 ở mọi độ phân giải mà cả hai đều hỗ trợ.

Hướng dẫn này sẽ đưa bạn từ một terminal trống đến một hình ảnh đã lưu, sau đó bao gồm tỷ lệ khung hình, đầu ra 2K và 4K, chỉnh sửa, thay đổi đa lượt, hình ảnh tham chiếu, tạo nền bằng tìm kiếm và chi phí. Mọi yêu cầu dưới đây đều có thể được lưu và phát lại trong Apidog để bạn có thể so sánh 2.1 với mô hình bạn đang sử dụng hôm nay.

nút

Bạn muốn tìm hiểu thông tin cơ bản trước? Đọc Nano Banana 2.1 là gì để biết những thay đổi và những gì Google chưa công bố.

Những gì bạn cần

Mục Giá trị
URL cơ sở https://generativelanguage.googleapis.com/v1beta
Header xác thực x-goog-api-key: $GEMINI_API_KEY
ID mô hình gemini-nano-banana-2.1
Điểm cuối POST /v1beta/interactions
Độ phân giải 1K (mặc định), 2K, 4K
Đầu vào Văn bản, hình ảnh (tối đa 14 tham chiếu), video
Python SDK pip install google-genai
JavaScript SDK npm install @google/genai

Tất cả các ví dụ đều sử dụng Interactions API, đây là thứ mà tài liệu tạo ảnh của Google sử dụng cho 2.1.

Bước 1: Lấy khóa API Gemini

  1. Mở Google AI Studio và đăng nhập.
  2. Đi tới Lấy khóa API và tạo khóa trong một dự án Google Cloud.
  3. Bật thanh toán cho dự án đó. Trang giá của Google liệt kê tầng miễn phí cho Nano Banana 2.1 là "Không có sẵn", vì vậy các lệnh gọi API cần một dự án trả phí.
  4. Xuất khóa:
export GEMINI_API_KEY="khóa-của-bạn-tại-đây"

Google liên kết 2.1 với AI Studio playground, tiện lợi để kiểm tra các prompt, nhưng họ chưa công bố một tài khoản miễn phí có thể tạo được bao nhiêu ở đó. Hướng dẫn của chúng tôi về cách sử dụng Nano Banana 2.1 miễn phí bao gồm cách đó, và lấy khóa API Gemini sẽ đi sâu vào chi tiết hơn về cách thiết lập khóa.

Bước 2: Tạo hình ảnh đầu tiên của bạn

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": "Tạo một bức tranh về một món chuối nano trong một nhà hàng sang trọng với chủ đề Gemini"}
    ]
  }'

Phản hồi là JSON. Hình ảnh được gửi dưới dạng dữ liệu base64 bên trong một khối nội dung hình ảnh, vì vậy bạn sẽ cần một SDK (hoặc một script) để giải mã nó.

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="Tạo một bức tranh về một món chuối nano trong một nhà hàng sang trọng với chủ đề Gemini",
)

with open("generated_image.png", "wb") as f:
    f.write(base64.b64decode(interaction.output_image.data))

interaction.output_image trả về khối hình ảnh được tạo cuối cùng. Trường data của nó là base64, vì vậy hãy giải mã nó trước khi ghi tệp.

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: "Tạo một bức tranh về một món chuối nano trong một nhà hàng sang trọng với chủ đề Gemini",
});

const image = interaction.output_image;
if (image) {
  fs.writeFileSync("nano-banana.png", Buffer.from(image.data, "base64"));
}

Các mô hình hình ảnh Gemini 3 "suy nghĩ" trước khi vẽ. Mô hình có thể tạo ra tối đa hai "hình ảnh suy nghĩ" tạm thời trong khi lên kế hoạch bố cục. Bạn không bị tính phí cho những hình ảnh này, và việc "suy nghĩ" không thể tắt trong API.

Bước 3: Đặt tỷ lệ khung hình, độ phân giải và đầu ra chỉ hình ảnh

Sử dụng `response_format` để kiểm soát đầu ra. Đặt `\"type\": \"image\"` chỉ trả về hình ảnh và bỏ qua văn bản hội thoại, giúp các phản hồi nhỏ hơn và việc phân tích cú pháp đơn giản hơn.

interaction = client.interactions.create(
    model="gemini-nano-banana-2.1",
    input="Một bức ảnh sản phẩm của máy xay cà phê màu đen mờ trên mặt bàn đá cẩm thạch",
    response_format={
        "type": "image",
        "mime_type": "image/png",
        "aspect_ratio": "16:9",
        "image_size": "2K",
    },
)

Những điều cần biết:

Bước 4: Chỉnh sửa một hình ảnh hiện có

Gửi hình ảnh của bạn dưới dạng khối `image` base64 bên cạnh hướng dẫn văn bản:

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": "Sử dụng hình ảnh phòng khách đã cung cấp, chỉ thay đổi ghế sofa màu xanh thành ghế sofa chesterfield da nâu kiểu cổ điển. Giữ nguyên phần còn lại của căn phòng, bao gồm cả gối trên sofa và ánh sáng."},
        {"type": "image", "data": image_b64, "mime_type": "image/png"},
    ],
)

Chỉnh sửa kiểu mask mà không cần tệp mask

Không có tải lên mask riêng biệt. Bạn định nghĩa mask bằng lời nói. Mẫu của Google:

Sử dụng hình ảnh đã cung cấp, chỉ thay đổi [thành phần cụ thể] thành [thành phần/mô tả mới]. Giữ nguyên mọi thứ khác trong hình ảnh, bảo toàn phong cách, ánh sáng và bố cục gốc.

Đặt tên một yếu tố, mô tả sự thay thế một cách cụ thể và lặp lại những gì phải giữ nguyên. Các prompt mơ hồ như "làm cho ghế sofa đẹp hơn" sẽ khiến mô hình vẽ lại toàn bộ căn phòng.

Bước 5: Lặp lại với chỉnh sửa đa lượt

Chỉnh sửa đa lượt là cách được Google khuyến nghị để tinh chỉnh một hình ảnh. Truyền `id` của tương tác trước đó dưới dạng `previous_interaction_id` và chỉ gửi thay đổi bạn muốn:

interaction_2 = client.interactions.create(
    model="gemini-nano-banana-2.1",
    input="Cập nhật infographic này sang tiếng Tây Ban Nha. Không thay đổi bất kỳ yếu tố nào khác của hình ảnh.",
    previous_interaction_id=interaction.id,
    response_format={"type": "image", "mime_type": "image/png", "aspect_ratio": "16:9", "image_size": "2K"},
)

Qua REST, trường tương tự nằm trong body: `\"previous_interaction_id\": \"\"`. Đây là nơi khả năng nhất quán nhân vật đa lượt được cải thiện của 2.1 trở nên quan trọng: một nhân vật hoặc sản phẩm phải giữ được nhận diện qua nhiều vòng chỉnh sửa.

Bước 6: Kết hợp tối đa 14 hình ảnh tham chiếu

Thêm nhiều khối `image` vào danh sách `input`. Đối với 2.1, Google tài liệu hóa tối đa 10 hình ảnh đối tượng có độ trung thực cao và tối đa 4 hình ảnh nhân vật, tổng cộng là 14:

interaction = client.interactions.create(
    model="gemini-nano-banana-2.1",
    input=[
        {"type": "text", "text": "Một bức ảnh nhóm văn phòng của những người này, họ đang làm mặt hài hước."},
        {"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"},
)

Hình ảnh tham chiếu là token đầu vào, và chi phí đầu vào của 2.1 gấp ba lần so với Nano Banana 2. Quy trình làm việc với nhiều tham chiếu sẽ làm giảm khoảng cách giá, vì vậy hãy đo lường trước khi chuyển đổi.

Đối với hình ảnh phụ thuộc vào các sự kiện hiện tại, chẳng hạn như biểu đồ thời tiết hoặc một sự kiện gần đây, hãy thêm công cụ tìm kiếm:

interaction = client.interactions.create(
    model="gemini-nano-banana-2.1",
    input="Một bức tranh chi tiết về một con bướm Timareta đậu trên một bông hoa",
    tools=[{"type": "google_search", "search_types": ["web_search", "image_search"]}],
)

`{\"type\": \"google_search\"}` một mình cung cấp cho bạn tìm kiếm web. Thêm `image_search` cho phép mô hình sử dụng hình ảnh web làm ngữ cảnh trực quan, điều mà chỉ 2.1 và Nano Banana 2 hỗ trợ. Tạo nền không thể sử dụng hình ảnh người thật từ tìm kiếm. Nếu bạn hiển thị kết quả được tạo nền cho người dùng, Google yêu cầu bạn hiển thị `search_suggestions` được trả về trong bước `google_search_result`.

Bước 8: Kiểm tra nó trong Apidog

Các script tốt cho việc tạo ra. Để kiểm tra xem một prompt, một khóa và một mô hình vẫn hoạt động tốt, một yêu cầu đã lưu sẽ nhanh hơn. Trong Apidog:

  1. Tạo một môi trường và thêm biến `GEMINI_API_KEY` với khóa của bạn.
  2. Tạo một yêu cầu: `POST https://generativelanguage.googleapis.com/v1beta/interactions`.
  3. Thêm header `x-goog-api-key: {{GEMINI_API_KEY}}`.
  4. Dán một JSON body với `model`, `input` và `response_format`, sau đó nhấp vào Gửi.
  5. Thêm một script hậu phản hồi với hai xác nhận:
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. Nhân đôi yêu cầu và thay đổi `model` thành `gemini-3.1-flash-image`. Gửi cả hai với cùng một prompt.

Giờ đây, bạn có một kiểm tra song song của 2.1 so với Nano Banana 2, với trạng thái, thời gian và kích thước phản hồi được hiển thị cho mỗi lần chạy. Để so sánh tính năng rộng hơn, hãy xem Nano Banana 2.1 vs Nano Banana 2 vs Pro.

Chi phí

Giá theo tầng trả phí, theo trang giá của Google vào ngày 7 tháng 10 năm 2026:

Mô hình Đầu vào / 1M Hình ảnh 1K Hình ảnh 2K Hình ảnh 4K Lô 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

Đầu ra hình ảnh cho 2.1 là $30 cho mỗi 1 triệu token. Một hình ảnh 1K là 1.120 token, 2K là 1.680 và 4K là 2.520, đây là nơi xuất phát các mức giá cho mỗi hình ảnh. Đầu ra văn bản và suy nghĩ là $7.50 cho mỗi 1 triệu. Tìm kiếm tạo nền bao gồm 5.000 yêu cầu miễn phí mỗi tháng được chia sẻ trên các mô hình Gemini 3.x, sau đó là $14 cho mỗi 1.000.

Ví dụ minh họa: 1.000 hình ảnh sản phẩm ở 2K từ các prompt văn bản ngắn (khoảng 100 token đầu vào mỗi prompt).

Cùng một công việc trên Nano Banana 2 có giá khoảng $101. Thông qua Batch API, giá 2K của 2.1 giảm xuống còn $0.0252, vì vậy chi phí đầu ra giảm xuống còn $25.20 nếu bạn có thể chờ đợi. Các công việc theo lô đổi lấy thời gian hoàn thành lên đến 24 giờ để có giới hạn tỷ lệ cao hơn. Chi tiết hơn về giá của Nano Banana 2 có trong phân tích giá API Nano Banana 2 của chúng tôi.

Lỗi thường gặp

Đây là các hành vi API Gemini chung, không phải các lỗi cụ thể của 2.1 được tài liệu hóa:

Lỗi Nguyên nhân có thể Cách khắc phục
400 INVALID_ARGUMENT `image_size` viết thường, tỷ lệ không được hỗ trợ, `input` bị sai cấu trúc Sử dụng `2K` thay vì `2k`; kiểm tra danh sách tỷ lệ
403 PERMISSION_DENIED Khóa không đúng, hoặc dự án không bật thanh toán Kiểm tra khóa và bật thanh toán
404 NOT_FOUND Lỗi chính tả trong ID mô hình Sử dụng chính xác `gemini-nano-banana-2.1`
429 RESOURCE_EXHAUSTED Đạt giới hạn tỷ lệ Thử lại sau, hoặc sử dụng Batch
500 / 503 Sự cố máy chủ tạm thời Thử lại với cách đợi tăng dần
200 nhưng không có hình ảnh Prompt bị chặn hoặc trả lời chỉ bằng văn bản Đặt `\"type\": \"image\"` và diễn đạt lại

Câu hỏi thường gặp

Có tầng miễn phí cho API Nano Banana 2.1 không? Không. Google liệt kê tầng miễn phí của API là "Không có sẵn". AI Studio playground liên kết với 2.1, nhưng Google chưa công bố giới hạn miễn phí cho nó.

2.1 có phải là một sự thay thế trực tiếp cho Nano Banana 2 không? Chủ yếu là có. Thay đổi ID mô hình thành `gemini-nano-banana-2.1`. Bạn sẽ mất tầng 512px và token đầu vào tốn kém hơn, vì vậy các chỉnh sửa nặng tham chiếu cần kiểm tra chi phí.

Hình ảnh được tạo có mang watermark không? Có. Tất cả các đầu ra đều bao gồm watermark SynthID.

Tôi có thể tạo hình ảnh từ video không? Có. 2.1 chấp nhận một khối đầu vào `video`, chẳng hạn như URL YouTube, cùng với prompt văn bản của bạn.

Hướng dẫn API Nano Banana 2 cũ có còn áp dụng không? Các khái niệm thì có. Xem hướng dẫn API Nano Banana 2 của chúng tôi cho mô hình trước đó.

Tóm tắt

Nano Banana 2.1 hứa hẹn hình ảnh tốt hơn với một nửa giá mỗi hình ảnh của Nano Banana 2, với cùng cấu trúc API Interactions. Hãy lấy một khóa đã được thanh toán, tạo một hình ảnh, sau đó lưu yêu cầu trong Apidog với các xác nhận trạng thái và hình ảnh. Nhân đôi nó với ID mô hình cũ, và bạn sẽ biết trong vòng một buổi chiều liệu 2.1 có đáng để chuyển đổi cho các prompt của bạn hay không.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API