ID ▾

API teks tanpa sensor untuk pipeline Anda

API Nano Banana: Prompt dan skrip melalui satu endpoint

Mulai dengan API Nano Banana dalam hitungan menit. Panduan ini mencakup autentikasi, permintaan dasar, streaming, dan pemanggilan fungsi menggunakan format yang kompatibel dengan OpenAI.

Autentikasi dan URL Dasar

Akses nano banana api dengan mengarahkan klien Anda ke https://api.nanobananaapis.com/v1. Anda memerlukan kunci API yang valid di header Authorization. Daftar di halaman Dapatkan kunci API hanya dengan email dan kata sandi untuk menerima kunci Anda secara instan. Kunci ditampilkan segera setelah pendaftaran. Jika Anda kehilangannya, buat ulang kunci baru dari dasbor Anda; kunci lama akan berhenti berfungsi segera.

Gunakan Bearer YOUR_API_KEY untuk setiap permintaan. ID model selalu uncensored. Endpoint ini menangani teks masuk dan teks keluar. Endpoint ini tidak menghasilkan gambar, audio, atau video. Untuk pipeline multimodal, gunakan API ini untuk penulisan prompt, pembuatan skrip, dan pasca-pemrosesan.

Permintaan Pertama

Kirimkan permintaan penyelesaian obrolan standar. API mendukung format OpenAI. Ganti YOUR_API_KEY dengan kunci asli Anda. Contoh ini mengirim pesan sederhana ke model tanpa sensor.

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."}]
  }'

Respons berisi teks yang dihasilkan. Anda dapat memeriksa penggunaan token dalam tubuh respons. Jendela konteks adalah 100.000 token total untuk prompt dan penyelesaian. Jaga payload Anda di bawah 8 MB.

Contoh SDK Python

Gunakan SDK Python resmi OpenAI. Atur URL dasar ke endpoint nanobananaapis. Teruskan kunci API Anda sebagai api_key. Klien akan secara otomatis memformat permintaan dengan benar. Metode ini sangat ideal untuk skrip backend yang perlu memproses teks sebelum mengirimkannya ke layanan pembuatan gambar atau 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 menangani streaming dan penguraian untuk Anda. Anda dapat mengulang bagian-bagian jika Anda mengaktifkan mode streaming. Pendekatan ini menjaga kode Anda tetap bersih dan kompatibel dengan layanan OpenAI lainnya jika Anda beralih penyedia di kemudian hari.

Contoh SDK Node.js

SDK Node.js bekerja secara serupa. Inisialisasi klien dengan URL dasar dan kunci Anda. Panggil metode chat.completions.create. Ini berguna untuk fungsi serverless atau server web yang perlu menghasilkan skrip secara dinamis.

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);

Pastikan Anda menangani kesalahan dengan benar. Kesalahan umum termasuk kegagalan autentikasi (401) jika kunci tidak valid atau kedaluwarsa, dan batas laju (429) jika Anda melebihi 300 permintaan per menit. Kunci API terkait dengan akun Anda, jadi lindungi di variabel lingkungan Anda.

Respons Streaming

Aktifkan streaming dengan mengatur stream: true dalam permintaan Anda. API mengembalikan aliran Server-Sent Events (SSE). Setiap bagian berisi sebagian teks yang dihasilkan. Ini penting untuk aplikasi waktu nyata atau saat menghasilkan skrip panjang.

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)

Uraikan peristiwa SSE di sisi klien Anda. Aliran berakhir ketika model selesai menghasilkan atau mencapai batas konteks. Streaming mengurangi latensi yang dirasakan pengguna. Streaming tidak mengubah harga; Anda masih membayar per token.

Batas, Kesalahan, dan Model

Periksa model yang tersedia melalui GET /v1/models. Satu-satunya model adalah uncensored. Batas laju adalah 300 permintaan per menit per kunci. Badan permintaan harus di bawah 8 MB. Harga adalah $0.25 per 1M token input dan $1.00 per 1M token output. Saldo prabayar tidak pernah kedaluwarsa. Jika Anda kehabisan, isi saldo mulai dari $10. Kesalahan: 401 untuk kunci yang salah, 402 untuk saldo tidak mencukupi, 429 untuk batas laju. Tidak ada jaminan SLA atau waktu aktif yang disediakan. Model memblokir konten seksual yang melibatkan anak di bawah umur. Model tidak menolak topik dewasa lain yang sah atau kontroversial.

Tanya jawab

Apakah ini API OpenAI resmi?

Tidak. Ini adalah API yang kompatibel dengan OpenAI yang menjalankan model bobot terbuka kami sendiri. API ini menggunakan format permintaan dan SDK yang sama tetapi merupakan layanan terpisah. Periksa dokumentasi resmi OpenAI untuk fitur dan batas spesifik mereka.

Apakah Anda menyimpan prompt saya untuk pelatihan?

Tidak. Kami tidak menggunakan prompt Anda untuk melatih model. Data Anda hanya digunakan untuk menghasilkan respons untuk permintaan tersebut. Privasi adalah fitur inti dari alur kerja tanpa sensor.

Bisakah saya menggunakannya untuk prompt pembuatan gambar?

Ya. API ini sangat ideal untuk menghasilkan prompt teks untuk model gambar, audio, atau video. API ini menangani bagian teks dari pipeline Anda. Kami tidak menghasilkan file media itu sendiri.

Kunci Anda hanya selangkah lagi dari satu formulir

Buat akun, salin kuncinya, ubah URL dasar. Itu saja seluruh pengaturannya.

Dapatkan kunci API

Spesifikasi API

Semua batas dan fitur API yang sebenarnya di satu tempat — cek dulu sebelum isi saldo.

ItemNilai
Formatkompatibel OpenAI: SDK OpenAI apa pun bisa dipakai, cukup ganti base URL dan kunci
AutentikasiAuthorization: Bearer YOUR_KEY
ID modeluncensored
EndpointPOST /v1/chat/completions · GET /v1/models
Base URLhttps://api.nanobananaapis.com/v1
Mode JSONresponse_format: {"type": "json_object"}
Output maksimalhingga sisa jendela 100.000 token; max_tokens opsional (tanpa batas terpisah)
Parametertemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Streamingya — server-sent events; potongan terakhir berisi penggunaan token
Function callingya — tools, tool_choice; balasan berisi tool_calls, juga saat streaming; hasil dikirim sebagai role: tool
Jendela konteks100.000 token (input + output)
Ukuran permintaanhingga 8 MB
Header responsX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Konkurensi8 permintaan bersamaan per kunci
Batas laju300 permintaan per menit per kunci
Isi saldoUSDT (TRC20) atau USDC (Base), nominal bulat berapa pun dari $10 sampai $500
Bonus+5% mulai $50, +10% mulai $100
Penagihansaldo prabayar sesuai pemakaian nyata; error dan penolakan gratis
Uji coba gratis$0,50 selama 7 hari, tanpa kartu · Kunci uji coba: 2 permintaan paralel, 60 per menit; batas penuh (8 dan 300) setelah isi saldo pertama
Harga$0,25 per 1 juta token input · $1,00 per 1 juta token output
Masa berlakusaldo berbayar tidak kedaluwarsa, tanpa langganan
Kuncisatu kunci aktif per akun; kunci baru menggantikan yang lama
MasukGoogle atau email dan kata sandi
Kontenkonten dewasa diizinkan; konten seksual yang melibatkan anak di bawah umur ditolak

Kode error

Error dikirim sebagai JSON dengan type tetap; permintaan gagal atau ditolak tidak ditagih.

KodeTipeArti
400bad_requestJSON tidak valid, pesan kosong, parameter salah, atau konteks terlalu panjang
401missing_key · invalid_key · key_revokedkunci tidak ada, salah, atau sudah diganti
402no_creditsaldo habis — isi ulang dan lanjut seketika
403content_blockedkonten seksual dengan anak di bawah umur — ditolak, tidak ditagih
404not_foundendpoint tidak dikenal
413request_too_largebody lebih dari 8 MB
429rate_limited · concurrencylebih dari 300/menit atau 8 paralel — tunggu lalu coba lagi
503upstream_busymodel sibuk — coba lagi beberapa detik lagi