VI ▾

API văn bản không kiểm duyệt cho quy trình của bạn

API Nano Banana: Prompt và kịch bản qua một endpoint

Bắt đầu với API Nano Banana trong vài phút. Hướng dẫn này bao gồm xác thực, yêu cầu cơ bản, truyền phát (streaming) và gọi hàm bằng định dạng tương thích OpenAI tiêu chuẩn.

Xác thực và URL cơ sở

Truy cập nano banana api bằng cách trỏ máy khách của bạn vào https://api.nanobananaapis.com/v1. Bạn cần một khóa API hợp lệ trong tiêu đề Authorization. Đăng ký trên trang Lấy khóa API chỉ bằng email và mật khẩu để nhận khóa ngay lập tức. Khóa sẽ hiển thị ngay sau khi đăng ký. Nếu bạn làm mất khóa, hãy tạo lại một khóa mới từ bảng điều khiển; khóa cũ sẽ ngừng hoạt động ngay lập tức.

Sử dụng Bearer YOUR_API_KEY cho mọi yêu cầu. ID mô hình luôn là uncensored. Endpoint này xử lý đầu vào và đầu ra văn bản. Nó không tạo ảnh, âm thanh hoặc video. Đối với các quy trình đa phương tiện, hãy sử dụng API này để viết prompt, tạo kịch bản và xử lý hậu kỳ.

Yêu cầu đầu tiên

Gửi một yêu cầu hoàn thành trò chuyện tiêu chuẩn. API hỗ trợ định dạng OpenAI. Thay thế YOUR_API_KEY bằng khóa thực tế của bạn. Ví dụ này gửi một tin nhắn đơn giản đến mô hình không kiểm duyệt.

curl https://api.nanobananaapis.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
  }'

Phản hồi chứa văn bản đã tạo. Bạn có thể kiểm tra số lượng token sử dụng trong thân phản hồi. Cửa sổ ngữ cảnh là 100.000 token tổng cộng cho prompt và phần hoàn thành. Giữ trọng tải của bạn dưới 8 MB.

Ví dụ SDK Python

Sử dụng SDK Python chính thức của OpenAI. Đặt URL cơ sở thành endpoint nanobananaapis. Truyền khóa API của bạn dưới dạng api_key. Máy khách sẽ tự động định dạng các yêu cầu đúng cách. Phương pháp này lý tưởng cho các kịch bản backend cần xử lý văn bản trước khi gửi đến dịch vụ tạo ảnh hoặc video.

from openai import OpenAI

client = OpenAI(base_url="https://api.nanobananaapis.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

SDK xử lý truyền phát và phân tích cú pháp cho bạn. Bạn có thể lặp qua các chunk nếu bạn bật chế độ truyền phát (streaming). Cách tiếp cận này giữ cho mã của bạn sạch sẽ và tương thích với các dịch vụ OpenAI khác nếu bạn chuyển nhà cung cấp sau này.

Ví dụ SDK Node.js

SDK Node.js hoạt động tương tự. Khởi tạo máy khách với URL cơ sở và khóa của bạn. Gọi phương thức chat.completions.create. Điều này hữu ích cho các hàm không máy chủ hoặc máy chủ web cần tạo kịch bản động.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.nanobananaapis.com/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

Đảm bảo xử lý lỗi đúng cách. Các lỗi phổ biến bao gồm lỗi xác thực (401) nếu khóa không hợp lệ hoặc hết hạn, và giới hạn tốc độ (429) nếu bạn vượt quá 300 yêu cầu mỗi phút. Khóa API được liên kết với tài khoản của bạn, vì vậy hãy bảo vệ nó trong các biến môi trường của bạn.

Phản hồi truyền phát (streaming)

Bật truyền phát bằng cách đặt stream: true trong yêu cầu của bạn. API trả về luồng Sự kiện gửi bởi máy chủ (SSE). Mỗi chunk chứa một phần của văn bản được tạo. Điều này rất cần thiết cho các ứng dụng thời gian thực hoặc khi tạo các kịch bản dài.

stream = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Tell the story in second person."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Phân tích cú pháp các sự kiện SSE ở phía máy khách của bạn. Luồng kết thúc khi mô hình hoàn tất việc tạo hoặc đạt giới hạn ngữ cảnh. Truyền phát giảm độ trễ cảm nhận đối với người dùng. Nó không thay đổi giá; bạn vẫn phải trả tiền mỗi token.

Giới hạn, Lỗi và Mô hình

Kiểm tra các mô hình khả dụng qua GET /v1/models. Mô hình duy nhất là uncensored. Giới hạn tốc độ là 300 yêu cầu mỗi phút trên mỗi khóa. Thân yêu cầu phải dưới 8 MB. Giá là $0.25 cho mỗi 1 triệu token đầu vào và $1.00 cho mỗi 1 triệu token đầu ra. Tín dụng không bao giờ hết hạn. Nếu bạn hết, hãy nạp tiền từ $10. Lỗi: 401 cho khóa không hợp lệ, 402 cho tín dụng không đủ, 429 cho giới hạn tốc độ. Không có SLA hoặc cam kết thời gian hoạt động nào được cung cấp. Mô hình chặn nội dung tình dục liên quan đến trẻ vị thành niên. Nó không từ chối các chủ đề người trưởng thành hoặc gây tranh cãi hợp pháp khác.

Hỏi đáp

Đây có phải là API OpenAI chính thức không?

Không. Đây là API tương thích OpenAI chạy mô hình trọng số mở của chúng tôi. API sử dụng cùng định dạng yêu cầu và SDK nhưng là một dịch vụ riêng biệt. Hãy kiểm tra tài liệu chính thức của OpenAI để biết các tính năng và giới hạn cụ thể của họ.

Các bạn có lưu trữ prompt của tôi để huấn luyện không?

Không. Chúng tôi không sử dụng prompt của bạn để huấn luyện mô hình. Dữ liệu của bạn chỉ được dùng để tạo phản hồi cho yêu cầu đó. Quyền riêng tư là tính năng cốt lõi của quy trình không kiểm duyệt.

Tôi có thể dùng cái này cho prompt tạo ảnh không?

Có. API này lý tưởng để tạo prompt văn bản cho các mô hình ảnh, âm thanh hoặc video. API xử lý phần văn bản trong quy trình của bạn. Chúng tôi không tự tạo các tệp phương tiện.

Khóa của bạn chỉ cách một biểu mẫu

Tạo tài khoản, sao chép khóa, thay đổi URL cơ sở. Đó là toàn bộ quá trình thiết lập.

Lấy khóa API

Thông số API

Toàn bộ giới hạn và tính năng thực tế của API ở một nơi — hãy kiểm tra trước khi nạp tiền.

MụcGiá trị
Định dạngtương thích OpenAI: mọi SDK OpenAI đều chạy được, chỉ cần đổi base URL và khóa
Xác thựcAuthorization: Bearer YOUR_KEY
ID mô hìnhuncensored
EndpointPOST /v1/chat/completions · GET /v1/models
Base URLhttps://api.nanobananaapis.com/v1
Chế độ JSONresponse_format: {"type": "json_object"}
Đầu ra tối đatối đa phần còn lại của cửa sổ 100.000 token; max_tokens tùy chọn (không giới hạn riêng)
Tham sốtemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Streamingcó — server-sent events; phần cuối chứa lượng token đã dùng
Gọi hàmcó — tools, tool_choice; phản hồi có tool_calls, kể cả khi streaming; kết quả gửi lại bằng role: tool
Cửa sổ ngữ cảnh100.000 token (đầu vào + đầu ra)
Kích thước yêu cầutối đa 8 MB
Header phản hồiX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Yêu cầu đồng thờitối đa 8 cùng lúc cho mỗi khóa
Giới hạn tốc độ300 yêu cầu mỗi phút cho mỗi khóa
Nạp tiềnUSDT (TRC20) hoặc USDC (Base), số tiền nguyên bất kỳ từ $10 đến $500
Thưởng+5% từ $50, +10% từ $100
Tính phítín dụng trả trước theo mức dùng thực tế; lỗi và từ chối miễn phí
Dùng thử miễn phí$0,50 trong 7 ngày, không cần thẻ · Khóa dùng thử: 2 yêu cầu song song, 60 yêu cầu/phút; hạn mức đầy đủ (8 và 300) sau lần nạp đầu
Giá$0,25 cho 1 triệu token đầu vào · $1,00 cho 1 triệu token đầu ra
Thời hạntín dụng đã trả không hết hạn, không đăng ký định kỳ
Khóamỗi tài khoản một khóa đang hoạt động; khóa mới thay thế khóa cũ
Đăng nhậpGoogle hoặc email và mật khẩu
Nội dungcho phép nội dung người lớn; từ chối nội dung tình dục liên quan đến trẻ vị thành niên

Mã lỗi

Lỗi trả về dạng JSON với type cố định; yêu cầu lỗi hoặc bị từ chối không bị tính phí.

MãLoạiÝ nghĩa
400bad_requestJSON sai, tin nhắn trống, tham số sai hoặc vượt cửa sổ ngữ cảnh
401missing_key · invalid_key · key_revokedthiếu khóa, sai khóa hoặc khóa đã bị thay
402no_credithết tín dụng — nạp tiền là dùng tiếp ngay
403content_blockednội dung tình dục liên quan trẻ vị thành niên — từ chối, không tính phí
404not_foundendpoint không tồn tại
413request_too_largenội dung lớn hơn 8 MB
429rate_limited · concurrencyvượt 300/phút hoặc 8 đồng thời — chờ rồi thử lại
503upstream_busymô hình đang bận — thử lại sau vài giây