KO ▾

파이프라인용 무검열 텍스트 API

Nano Banana API: 하나의 엔드포인트로 프롬프트 및 스크립트 제공

Nano Banana API를 몇 분 안에 시작하세요. 이 가이드는 인증, 기본 요청, 스트리밍, 표준 OpenAI 호환 형식을 사용한 함수 호출을 다룹니다.

인증 및 베이스 URL

nano banana api에 접근하려면 클라이언트를 https://api.nanobananaapis.com/v1로 설정하세요. Authorization 헤더에 유효한 API 키가 필요합니다. API 키 받기 페이지에서 이메일과 비밀번호로 가입하여 키를 즉시 받으세요. 키는 가입 직후 표시됩니다. 분실 시 대시보드에서 새 키를 생성하면 이전 키는 즉시 무효화됩니다.

모든 요청에 Bearer YOUR_API_KEY를 사용하세요. 모델 ID는 항상 uncensored입니다. 이 엔드포인트는 텍스트 입력과 출력을 처리합니다. 이미지, 오디오, 비디오를 생성하지 않습니다. 멀티모달 파이프라인에는 프롬프트 작성, 스크립트 생성 및 사후 처리에 이 API를 사용하세요.

첫 번째 요청

표준 채팅 완료 요청을 보내세요. API는 OpenAI 형식을 지원합니다. YOUR_API_KEY을 실제 키로 바꾸세요. 이 예제는 무검열 모델에 간단한 메시지를 전송합니다.

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

응답에는 생성된 텍스트가 포함됩니다. 응답 본문에서 사용 토큰 수를 확인할 수 있습니다. 프롬프트와 완료의 컨텍스트 창은 총 100,000 토큰입니다. 페이로드를 8 MB 미만으로 유지하세요.

Python SDK 예제

공식 OpenAI Python SDK를 사용하세요. 베이스 URL을 nanobananaapis 엔드포인트로 설정하세요. API 키를 api_key로 전달하세요. 클라이언트는 요청을 자동으로 올바르게 포맷합니다. 이 방법은 이미지 또는 비디오 생성 서비스에 전송하기 전에 텍스트를 처리해야 하는 백엔드 스크립트에 이상적입니다.

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는 스트리밍 및 파싱을 처리합니다. 스트리밍 모드를 활성화하면 청크를 반복할 수 있습니다. 이 방법은 코드를 깔끔하게 유지하고 나중에 제공업체를 전환할 때 다른 OpenAI 서비스와 호환되도록 합니다.

Node SDK 예제

Node.js SDK도 유사하게 작동합니다. 베이스 URL과 키로 클라이언트를 초기화하세요. chat.completions.create 메서드를 호출하세요. 이는 스크립트를 동적으로 생성해야 하는 서버리스 함수나 웹 서버에 유용합니다.

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

오류를 적절히 처리하세요. 일반적인 오류로는 키가 유효하지 않거나 만료된 경우 인증 실패(401), 분당 300개 요청을 초과한 경우 속도 제한(429)이 있습니다. API 키는 계정에 연결되므로 환경 변수에서 보호하세요.

스트리밍 응답

요청에 stream: true을 설정하여 스트리밍을 활성화하세요. API는 서버 전송 이벤트(SSE) 스트림을 반환합니다. 각 청크에는 생성된 텍스트의 일부가 포함됩니다. 이는 실시간 애플리케이션이나 긴 스크립트 생성에 필수적입니다.

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)

클라이언트 측에서 SSE 이벤트를 파싱하세요. 스트림은 모델이 생성을 완료하거나 컨텍스트 제한에 도달할 때 종료됩니다. 스트리밍은 사용자의 지각된 지연 시간을 줄입니다. 가격 책정에는 영향을 주지 않으며 토큰당 여전히 요금이 부과됩니다.

제한, 오류 및 모델

GET /v1/models를 통해 사용 가능한 모델을 확인하세요. 유일한 모델은 uncensored입니다. 속도 제한은 키당 분당 300개 요청입니다. 요청 본문은 8 MB 미만이어야 합니다. 가격은 입력 토큰 1M당 $0.25, 출력 토큰 1M당 $1.00입니다. 크레딧은 만료되지 않습니다. 부족할 경우 $10부터 충전할 수 있습니다. 오류: 키 오류 시 401, 크레딧 부족 시 402, 속도 제한 초과 시 429. SLA 또는 가동 시간 보장은 제공되지 않습니다. 이 모델은 미성년자가 포함된 성적인 콘텐츠는 차단합니다. 기타 합법적인 성인 또는 논쟁적인 주제에는 거부하지 않습니다.

질문과 답변

이것이 공식 OpenAI API인가요?

아니요. 자체 오픈 웨이트 모델을 실행하는 OpenAI 호환 API입니다. 동일한 요청 형식과 SDK를 사용하지만 별도의 서비스입니다. 특정 기능과 제한 사항은 공식 OpenAI 문서를 참조하세요.

프롬프트를 학습용으로 저장하나요?

아니요. 프롬프트를 모델 학습에 사용하지 않습니다. 데이터는 해당 요청의 응답 생성에만 사용됩니다. 프라이버시는 무검열 워크플로의 핵심 기능입니다.

이미지 생성 프롬프트에 사용할 수 있나요?

네. 이 API는 이미지, 오디오, 비디오 모델용 텍스트 프롬프트 생성에 이상적입니다. 파이프라인의 텍스트 부분을 처리합니다. 미디어 파일 자체는 생성하지 않습니다.

키는 양식 하나만 작성하면 받을 수 있습니다

계정을 생성하고 키를 복사한 후 베이스 URL을 변경하세요. 설정은 이것뿐입니다.

API 키 받기

API 사양

크레딧을 구매하기 전에 확인할 수 있도록 API의 실제 한도와 기능을 한곳에 정리했습니다.

항목내용
형식OpenAI 호환: 어떤 OpenAI SDK든 base URL과 키만 바꾸면 동작
인증Authorization: Bearer YOUR_KEY
모델 IDuncensored
엔드포인트POST /v1/chat/completions · GET /v1/models
Base URLhttps://api.nanobananaapis.com/v1
JSON 모드response_format: {"type": "json_object"}
최대 출력100,000 토큰 윈도우의 남은 만큼; max_tokens는 선택 사항(별도 상한 없음)
파라미터temperature, top_p, stop, seed, presence_penalty, frequency_penalty
스트리밍지원 — SSE, 마지막 청크에 토큰 사용량 포함
함수 호출지원 — tools, tool_choice; 응답에 tool_calls (스트리밍 포함), 결과는 role: tool로 전송
컨텍스트 창100,000 토큰 (입력 + 출력)
요청 크기최대 8 MB
응답 헤더X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
동시 요청키당 동시 8개
속도 제한키당 분당 300회
충전USDT (TRC20) 또는 USDC (Base), $10~$500 사이 원하는 정수 금액
보너스$50 이상 +5%, $100 이상 +10%
과금선불 크레딧에서 실제 사용량만큼 차감, 오류·거부는 무료
무료 체험$0.50, 7일, 카드 불필요 · 체험 키: 동시 요청 2건, 분당 60건. 첫 충전 후 전체 한도(8건, 300건) 적용
가격입력 100만 토큰당 $0.25 · 출력 100만 토큰당 $1.00
유효기간유료 크레딧은 만료되지 않으며 구독 없음
키계정당 활성 키 1개, 새 키를 만들면 이전 키는 무효
로그인Google 또는 이메일과 비밀번호
콘텐츠성인 콘텐츠 허용, 미성년자가 관련된 성적 콘텐츠는 거부

오류 코드

오류는 고정된 type을 가진 JSON으로 반환되며, 실패하거나 거부된 요청은 과금되지 않습니다.

코드유형의미
400bad_request잘못된 JSON, 빈 메시지, 잘못된 파라미터 또는 컨텍스트 초과
401missing_key · invalid_key · key_revoked키 없음·잘못됨·새 키로 교체됨
402no_credit잔액 없음 — 충전하면 즉시 재개
403content_blocked미성년자 관련 성적 콘텐츠 — 거부, 과금 없음
404not_found알 수 없는 엔드포인트
413request_too_large본문 8 MB 초과
429rate_limited · concurrency분당 300회 또는 동시 8개 초과 — 잠시 후 재시도
503upstream_busy모델 혼잡 — 몇 초 후 재시도