Hướng dẫn toàn tập phát triển ứng dụng với Nano Banana

Google vừa giới thiệu Gemini 2.5 Flash Image, một mô hình AI mạnh mẽ cho phép tạo và chỉnh sửa hình ảnh, còn gọi với biệt danh Nano Banana. Công nghệ này mang đến nhiều tính năng vượt trội trong lĩnh vực xử lý ảnh, mở ra hàng loạt ứng dụng mới cho các nhà phát triển phần mềm.

Bài viết này sẽ hướng dẫn chi tiết cách tích hợp Gemini 2.5 Flash Image (Nano Banana) vào ứng dụng của bạn thông qua Gemini Developer API.

Nội dung gồm:

  1. Trải nghiệm Nano Banana trên AI Studio
  2. Chuẩn bị & cài đặt dự án
  3. Tạo ảnh từ mô tả văn bản
  4. Chỉnh sửa ảnh với văn bản & hình ảnh gốc
  5. Khôi phục ảnh cũ
  6. Xử lý nhiều ảnh đầu vào
  7. Chỉnh sửa ảnh theo hội thoại liên tục
  8. Tuỳ chỉnh tỉ lệ khung hình ảnh
  9. Chỉ lấy đầu ra là ảnh
  10. Bí quyết tạo prompt hiệu quả với Nano Banana
  11. Ví dụ thực tế từ cộng đồng và nguồn cảm hứng
  12. Tài nguyên tham khảo

Ví dụ về sản phẩm bạn sẽ tạo ra:


prompt = "Restore and colorize this image from 1932"
response = client.models.generate_content(
    model="gemini-2.5-flash-image",
    contents=[prompt, image],
)

Ảnh gốc đen trắng và ảnh đã khôi phục, tô màu

Cùng bắt đầu nhé!

Cập nhật tháng 11/2025: Nano Banana Pro, phiên bản nâng cấp chuyên nghiệp dành cho ảnh studio đã ra mắt. Xem hướng dẫn sử dụng tại Nano Banana Pro Developer Tutorial.

1) Trải nghiệm Nano Banana trên Google AI Studio

Người dùng có thể sử dụng Nano Banana qua ứng dụng Gemini, nhưng môi trường lý tưởng để lập trình viên thử nghiệm prompt là Google AI Studio. AI Studio là nơi bạn thử nghiệm các mô hình AI trước khi tích hợp vào dự án thực tế, đồng thời là bước khởi đầu để kết nối với Gemini API.

Bạn có thể dùng Nano Banana miễn phí trên AI Studio. Truy cập aistudio.google.com, đăng nhập bằng tài khoản Google, và chọn Nano Banana ở phần lựa chọn mô hình.

Truy cập nhanh tại: ai.studio/banana

Giao diện Google AI Studio với Nano Banana

Mẹo: Bạn có thể tạo ứng dụng web Nano Banana ngay trên AI Studio tại ai.studio/apps, hoặc khám phá và chỉnh sửa các app mẫu.

2) Chuẩn bị & cài đặt dự án

Bạn cần chuẩn bị:

Tạo API Key

  • Trong AI Studio, chọn Get API key ở menu bên trái.
  • Nhấn Create API key.
  • Chọn dự án Google Cloud hoặc tạo mới để quản lý thanh toán.
  • Khi đã có API key, hãy lưu lại cẩn thận.

Kích hoạt thanh toán

Thử nghiệm trên AI Studio được miễn phí, còn gọi API sẽ tính phí. Hãy bật thanh toán cho dự án Google Cloud của bạn.
Ngay tại màn hình quản lý API key, nhấn Set up billing cạnh dự án và làm theo hướng dẫn.

Thiết lập thanh toán trong Google AI Studio

Giá Nano Banana

Tạo một ảnh với Nano Banana tốn $0,039/ảnh. Với $1 bạn tạo được khoảng 25 ảnh.

Bảng giá: $0,30/1 triệu token đầu vào và $30/1 triệu token đầu ra. Một ảnh chuẩn 1024x1024px dùng 1290 token, tương đương $0,039/ảnh. Chi tiết tại Gemini 2.5 Flash Image pricing table.

Cài đặt SDK

Chọn ngôn ngữ bạn dùng.
Python:


pip install -U google-genai
pip install Pillow

JavaScript / TypeScript:


npm install @google/genai

Các ví dụ dưới dùng Python SDK. Nếu bạn dùng JavaScript, xem mã nguồn tại GitHub Gist.

3) Tạo ảnh từ mô tả văn bản

Nano Banana cho phép tạo một hoặc nhiều ảnh chỉ từ mô tả văn bản. Sử dụng model ID gemini-2.5-flash-image cho mỗi yêu cầu.


from google import genai
from PIL import Image
from io import BytesIO
client = genai.Client(api_key="YOUR_API_KEY")
prompt = "Create a photorealistic image of an orange cat with green eyes, sitting on a couch."
response = client.models.generate_content(
    model="gemini-2.5-flash-image",
    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("cat.png")

Kết quả:

Kết quả: mèo màu cam mắt xanh trên ghế sofa

Mô hình trả về danh sách parts gồm văn bản và dữ liệu ảnh (inline_data). Đoạn mã trên sẽ giúp bạn lưu ảnh kết quả.

4) Chỉnh sửa ảnh với văn bản & ảnh gốc

Bạn có thể truyền ảnh gốc cùng prompt văn bản để chỉnh sửa. Mô hình sẽ giữ lại đặc điểm ảnh gốc.


from google import genai
from PIL import Image
from io import BytesIO
client = genai.Client(api_key="YOUR_API_KEY")
prompt = "Using the image of the cat, create a photorealistic, street-level view of the cat walking along a sidewalk in a New York City neighborhood, with the blurred legs of pedestrians and yellow cabs passing by in the background."
image = Image.open("cat.png")
response = client.models.generate_content(
    model="gemini-2.5-flash-image",
    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("cat2.png")

Ảnh đầu vào & kết quả:

So sánh: mèo gốc và mèo đi bộ ở New York

5) Khôi phục ảnh cũ

Ứng dụng nổi bật của Nano Banana là phục hồi và tô màu ảnh cũ chỉ với một prompt đơn giản.


from google import genai
from PIL import Image
from io import BytesIO
client = genai.Client(api_key="YOUR_API_KEY")
prompt = "Restore and colorize this image from 1932"
image = Image.open("lunch.jpg")  # "Lunch atop a Skyscraper, 1932"
response = client.models.generate_content(
    model="gemini-2.5-flash-image",
    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("lunch-restored.png")

Ảnh gốc & kết quả phục hồi:

Ảnh gốc đen trắng và ảnh đã khôi phục, tô màu

6) Xử lý nhiều ảnh đầu vào

Bạn có thể truyền nhiều ảnh đầu vào để thực hiện các chỉnh sửa phức tạp hơn.


from google import genai
from PIL import Image
from io import BytesIO
client = genai.Client(api_key="YOUR_API_KEY")
prompt = "Make the girl wear this t-shirt. Leave the background unchanged."
image1 = Image.open("girl.png")
image2 = Image.open("tshirt.png")
response = client.models.generate_content(
    model="gemini-2.5-flash-image",
    contents=[prompt, image1, image2],
)
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("girl-with-tshirt.png")

Ảnh đầu vào & kết quả:

Cô gái, áo thun và kết quả cô gái mặc áo thun

7) Chỉnh sửa ảnh liên tục theo hội thoại

Để chỉnh sửa ảnh nhiều lần, bạn có thể tạo phiên hội thoại (chats) giúp giữ lại ngữ cảnh qua các lần yêu cầu. Việc này giúp chỉnh sửa ảnh thành một chuỗi tương tác tự nhiên.


from google import genai
from PIL import Image
from io import BytesIO
client = genai.Client(api_key="YOUR_API_KEY")
chat = client.chats.create(
    model="gemini-2.5-flash-image"
)
response1 = chat.send_message([
    "Change the cat to a bengal cat, leave everything else the same",
    Image.open("cat.png"),
])
# Hiển thị/lưu ảnh...
response2 = chat.send_message("The cat should wear a funny party hat")
# Hiển thị/lưu ảnh...

Ảnh gốc & các phiên bản chỉnh sửa:

Mèo gốc, mèo Bengal, mèo Bengal đội mũ tiệc

Mẹo: Nếu chất lượng ảnh giảm sau nhiều lần chỉnh sửa, hãy bắt đầu phiên mới với ảnh mới nhất và prompt chi tiết hơn để đảm bảo độ nét.

8) Tuỳ chỉnh tỉ lệ khung hình

Bạn có thể chọn tỉ lệ ảnh đầu ra qua trường aspect_ratio trong image_config. Xem các tỉ lệ hỗ trợ tại docs.


from google import genai
client = genai.Client(api_key="YOUR_API_KEY")
prompt = "Create a photorealistic image of an orange cat with green eyes, sitting on a couch."
response = client.models.generate_content(
    model="gemini-2.5-flash-image",
    contents=prompt,
    config={"image_config": {"aspect_ratio": "16:9"}},
)

Kết quả:

Mèo màu cam mắt xanh tỉ lệ 16:9

Không chỉ định tỉ lệ, ảnh sẽ mặc định là vuông 1:1 hoặc theo kích thước ảnh đầu vào.

9) Chỉ lấy đầu ra là ảnh

Bạn có thể cấu hình API chỉ trả về ảnh, không kèm văn bản, bằng cách đặt response_modalities["Image"].


response = client.models.generate_content(
    model="gemini-2.5-flash-image",
    contents=prompt,
    config={"response_modalities": ["Image"]},
)

10) Bí quyết tạo prompt hiệu quả với Nano Banana

Để tạo ảnh đẹp, bạn hãy:

  • Mô tả thật cụ thể: Nêu rõ đối tượng, màu sắc, ánh sáng, bố cục.
  • Nêu rõ bối cảnh và ý định: Viết rõ mục đích hoặc cảm xúc mong muốn của ảnh.
  • Lặp lại và tinh chỉnh: Chỉnh sửa prompt nhiều lần, sử dụng hội thoại để hoàn thiện ảnh.
  • Chỉ dẫn từng bước: Với cảnh phức tạp, chia prompt thành các bước rõ ràng.
  • Diễn đạt khẳng định: Mô tả cảnh mong muốn, hạn chế phủ định (“phố vắng không xe” thay vì “không có xe”).
  • Kiểm soát góc máy: Dùng thuật ngữ như “wide-angle shot”, “macro shot”, “low-angle perspective” để định hướng bố cục.

Tham khảo thêm các bài viết về cách tạo prompt hiệu quả cho Gemini 2.5 Flash Imageguide.

11) Ví dụ thực tế từ cộng đồng & nguồn cảm hứng

Khám phá các dự án sáng tạo với Nano Banana:

  • Đổi góc máy ảnh bởi @henrydaubrez: X post
  • Thiết kế nhân vật nhất quán với few-shot bởi @multimodalart: X post
  • Tạo hình ảnh Google Maps với mũi tên đỏ bởi @tokumin: X post
  • Tạo ảnh từ stick figure bởi @yachimat_manga: X post
  • Biến ảnh tĩnh thành mô hình 3D bởi @deedydas: X post
  • Trải nghiệm AR dựa trên vị trí bởi @bilawalsidhu: X post
  • Chuyển bản đồ 2D thành đồ họa 3D bởi @demishassabis: X post

12) Tài nguyên tham khảo & bước tiếp theo

Bạn đã nắm vững cách thiết lập môi trường, tạo/chỉnh sửa ảnh và áp dụng các kỹ thuật nâng cao với Nano Banana/Gemini 2.5 Flash Image. Đã đến lúc áp dụng vào dự án của riêng bạn!

Tham khảo thêm:

Tham khảo thêm các gợi ý ChatGPT sáng tạo nội dung hay nhất của tôi

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top